PowerShell - перезавантаження комп'ютера не працює як заплановане завдання


2

У мене Windows Server 2012 R2 (PowerShell 4). Існує файл ps1 з сценарієм PowerShell, який містить, серед іншого, команду restart-computer. Я також створив файл cmd, який слід запустити за допомогою планувальника завдань.

  • Все працює як і раніше, коли я запускаю файл cmd, двічі клацнувши його.
  • Майже все працює, як очікується, крім перезавантаження, коли запущено cmd за допомогою планувальника завдань Windows.

Тому я створив файл ps1, який виконується тільки restart-computer і правильний файл cmd для цілей тестування. Я також намагався Restart-Computer -AsJob

powershell.exe -ExecutionPolicy Bypass -File "C:\restart-computer123.ps1"

Я також створив заплановане завдання, налаштоване для "Windows Server 2012 R2", з адміністративними повноваженнями, найвищими привілеями. і збережено пароль.

Немає повідомлення про помилку в журналі або планувальниках подій, але сервер не перезавантажується.

Що мені не вистачає або що роблю неправильно?


під яким обліковим записом користувача виконується завдання, що ще в сценарії powerhell?
Kage

Він виконується як місцевий "Адміністратор". Немає нічого іншого в "тестуванні" сценарію PowerShell.
StefanK

@StefanK, що я б зробив для усунення цієї проблеми: експортувати все $error Змінна в кінці сценарію до файлу. може також експортувати щось у файл перед restart-computer частина. якщо нічого не створюється, ваш сценарій не запускається. якщо помилка експортується, у вашому експортованому файлі з'являється повідомлення про помилку.
SimonS

@SimonS, що записує змінну $ error до файлу, висвітлює проблему! Сталася помилка, що інші користувачі ввійшли в систему, і тому вона не може перезавантажитися. З опцією "-Force" він працює! За допомогою параметра "-AsJob" немає повідомлення про помилку, але також немає перезавантаження.
StefanK

@StefanK добре добре. -AsJob не дав повідомлення про помилку / виведення, оскільки він знаходиться у фоновому потоці. якщо ви зацікавлені, докладніше див. howtogeek.com/138856/…
SimonS

Відповіді:


1

Написання змінної $ error у файл призводить до виникнення проблеми!

$error | Out-File C:\error.txt

Сталася помилка, що інші користувачі ввійшли в систему, і тому не може перезавантажитись. З опцією "-Force" він працює.

Дякую SimonS щоб отримати мене на правильному шляху!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.