2017-03-29 1 views
1

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?

+0

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 "' –

+0

Pour déboguer, essayez de mettre le chemin complet, comme $ chemin = 'C: \ utilisateurs \ jls \ desktop \ resultfile _' + ... –

+0

Et mettre à votre ligne de script: add- content 'c: \ users \ public \ homevalue.txt' $ home et vérifie le contenu après exécution –

Répondre

3

Vous devez remplacer le -Command avec -File dans vos Add Arguments

Add Arguments: -NoProfile -NoLogo -NonInteractive -ExecutionPolicy Bypass -File c:\Users\jls\desktop\untitled2.ps1