J'essaie d'exécuter un script PowerShell très simple à partir de tâches planifiées Windows.Exécution de PowerShell à partir du planificateur de tâches Windows
de script PowerShell My est la suivante:
$currentTime = (Get-Date).ToString('yyyy-MM-ddTHH.mm.ss')
$contentToDump = "JLS"
$path = "$home\Desktop\resutfile_" + $currentTime + ".txt"
Add-Content $path $contentToDump
Il écrit simplement la chaîne « JLS » dans un fichier sur mon ordinateur de bureau avec l'heure actuelle dans le cadre du nom. Si je l'exécute à l'aide de Windows PowerShell ISE, cela fonctionne correctement. Cela fonctionne également très bien lors de l'exécution à l'aide de l'invite de commande. Mais quand je me connecte à une tâche planifiée, cela ne fonctionne pas. La tâche renvoie un résultat valide ("0x0")
mais aucun fichier n'est généré.
Ma configuration de la tâche est la suivante:
Action: Start a program
Program/script: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Add Arguments: -NoProfile -NoLogo -NonInteractive -ExecutionPolicy Bypass -Command “&{c:\Users\jls\desktop\untitled2.ps1}”
Start in (optional): C:\users\jls\desktop
La tâche est configuré pour fonctionner comme « moi » avec des privilèges plus élevés et il est en cours d'exécution localement sur ma machine où je suis administrateur.
Qu'est-ce qui me manque?
Essayez d'utiliser le fichier au lieu de param de commandement dans vos arguments: '-noprofile -nologo -NonInteractive -ExecutionPolicy Bypass -File « c: \ Users \ jls \ desktop \ untitled2.ps1 "' –
Pour déboguer, essayez de mettre le chemin complet, comme $ chemin = 'C: \ utilisateurs \ jls \ desktop \ resultfile _' + ... –
Et mettre à votre ligne de script: add- content 'c: \ users \ public \ homevalue.txt' $ home et vérifie le contenu après exécution –