J'ai écrit un script PowerShell qui ouvre un classeur Excel et exécute une macro. Lorsque j'exécute ce script à partir de la console PS, ou même à partir de la ligne de commande à l'aide de powershell.exe script.ps1, cela fonctionne. Lorsque je configure une tâche à partir du planificateur de tâches Windows, il déclenche une exception à propos de ce fichier Excel, disant qu'il n'existe pas ou qu'il est déjà utilisé.
Le fichier existe à coup sûr, car le script s'est bien exécuté à partir de la ligne de commande, et je suis certain qu'il n'est pas utilisé.
J'ai essayé de déplacer le fichier Excel vers une zone locale et non privilégiée, pour éviter les problèmes de privilège de confiance / administrateur réseau. La tâche s'exécute toujours avec les privilèges les plus élevés. Le chemin n'a pas d'espaces ni de caractères spéciaux.
Lorsque j'essaie d'accéder au fichier à l'aide d'un objet Système de fichiers, il n'y a aucune erreur même lorsqu'il est exécuté à partir du planificateur, donc je suppose que c'est spécifique à la Excel.Application.Workbooks.Open("..")
méthode.
Que dois-je considérer maintenant?