Запускать сценарии в определенное время с powershell - PullRequest
0 голосов
/ 26 ноября 2018

Я создал файл сценария и хочу, чтобы этот сценарий выполнялся в то время, которое я устанавливаю каждый день

Я использовал следующий код для этой операции, но он не работает.

 $app = New-ScheduledTaskAction -Execute "C:\Users\XXX\Desktop\script.ps1";
 $time = New-ScheduledTaskTrigger -Daily -At 22:58pm
 Register-ScheduledTask TEST1 -Action $app -Trigger $time;

Как мне запускать script.ps1 в определенное время каждый день?Где я ошибся?Как мне решить мою проблему?

ПРИМЕЧАНИЕ : моя версия powershell

PSVersion                      5.1.17134.407                                                                                                                                         
PSEdition                      Desktop                                                                                                                                               
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}                                                                                                                               
BuildVersion                   10.0.17134.407                                                                                                                                        
CLRVersion                     4.0.30319.42000                                                                                                                                       
WSManStackVersion              3.0                                                                                                                                                   
PSRemotingProtocolVersion      2.3                                                                                                                                                   
SerializationVersion           1.1.0.1       

1 Ответ

0 голосов
/ 26 ноября 2018

Может быть несколько проблем.С самим сценарием вы не указали источник.Могут также возникнуть проблемы с правами (у вас есть права на создание задачи? У вас есть права на запуск сценария из места назначения?)

В любом случае, из того, что вы опубликовали, проблема в том, что выпытаясь запустить скрипт напрямую, но сначала вы должны --execute powershell.exe, а затем запустить скрипт.

Это один из способов запланировать сценарий powershell (обратите внимание, что он работает с максимально возможными привилегиями):

$TaskName = 'MyScript'
$User= "domain\user"
$ScriptPath = "C:\Users\XXX\Desktop\script.ps1"

$Trigger= New-ScheduledTaskTrigger -At 22:58pm -Daily 
$Action= New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-executionpolicy bypass -noprofile -file $ScriptPath" 
Register-ScheduledTask -TaskName $TaskName -Trigger $Trigger -User $User -Action $Action -RunLevel Highest -Force
...