1

Как я могу запланировать запуск сценария Powershell каждый день в 3 часа ночи в Windows 8?

3 ответа3

2

РЕДАКТИРОВАТЬ: Это доказательство концепции, которая работала для меня.

  1. откройте новый текстовый файл и введите
    write-Host 'Hello World'
    $x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")

  2. сохраните его как hello.ps1 на рабочем столе

  3. открыть 32-битную версию powershell.exe с повышенными правами
    (щелкните правой кнопкой мыши + откройте как администратор)
    C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe

  4. убедитесь, что вы не использовали версию x64, пока не захотите
    C:\Windows\syswow64\Windowspowershell\v1.0\powershell.exe

  5. В моем Windows 7 ярлык стартового меню Windows PowerShell (x86)указывает на версию x64 ! Эти версии используют отдельные параметры политики. Мне понадобилось время, чтобы понять это :)

  6. Введите следующее, чтобы разрешить скрипты powershell, и подтвердите его с помощью Y
    Set-ExecutionPolicy Unrestricted

  7. Эта настройка сохраняется постоянно. Сделайте перезагрузку, чтобы проверить это.

  8. проверьте политику powershell и подтвердите, что он по-прежнему неограничен
    get-ExecutionPolicy

  9. открыть окно задачи расписания

  10. сделать запланированное задание, которое указывает на версию x86
    C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe

  11. Введите следующее для необязательного параметра:
    c:\users\YOURUSERNAME\desktop\hello.ps1

  12. Выполните задачу вручную, щелкнув правой кнопкой мыши в окне задачи расписания.

  13. Интересно, почему написано "работает"

  14. Нажмите F5, чтобы обновить. Вы заметите, что "все еще работающий" статус исчезает.

  15. Будь счастлив (через 1 час: р)

0

запустите 'taskschd.msc', перейдите к Powershell и создайте задание / расписание.

Ссылка

0

Мне потребовалось некоторое время, чтобы заставить мою запланированную задачу PowerShell работать.

Вот несколько тактик, которые мне помогли.

а) Получить простой сценарий PowerShell работает.
б) Понять все различные вкладки диспетчера задач, в том числе условия и действия (я думаю, что вы уже сделали это)
в) Смотреть путь к различным файлам.


Моей проблемой было не понять, что PowerShell - это программа, а сценарий - просто аргумент.

Другой незначительной помощью было введение -ExecutionPolicy Bypass перед именем файла, таким образом:
-ExecutionPolicy Bypass -File "D:\PShell\Process Task.ps1"

Наконец, я никогда не уверен насчет этикета SuperUser, но это моя страница на тему планирования PowerShell.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .