Назад | Перейти на главную страницу

ActiveDirectory Startup / Shutdown Сценарий PowerShell не выполняется, происходит тихая ошибка

Окружающая среда

Я пытаюсь развернуть сценарий PowerShell Startup или Shutdown ActiveDirectory в тестовом подразделении для обновления VLC Media Player, и я не могу понять, почему Powershell не работает.

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

Они настраиваются с помощью групповой политики> Конфигурация компьютера> Политики> Параметры Windows> Сценарии (запуск / завершение работы) в объекте групповой политики под названием «Развертывание сценариев Active Directory»:

Update_VLC.ps1 был сохранен в соответствующем \Machine\Scripts\ папки и соответствующая группа безопасности компьютера имеет для нее разрешения на чтение и выполнение. Кажется, что объекты групповой политики настроены правильно, потому что:

  1. Когда я бегу gpresult о клиенте сообщает

Настройки

Политики

Настройки Windows

Скрипты

Запускать

Имя | Параметры | Последний запуск | Порядок скриптов в GPO | Победа в DPO

%windir%\System32\WindowsPowerShell\v1.0\powershell.exe | -NonInteractive -ExecutionPolicy Bypass -NoProfile -File "%~dp0Update_VLC.ps1" | 21/07/2020 2:47:10 PM | Not configured | Deploy Active Directory Scripts

  1. Когда я использую psexec -i -s cmd.exe для устранения неполадок на клиенте, запустив сценарий из того же места в контексте учетной записи LocalSystem компьютера, с которой он работает.

Я также пробовал запустить .cmd как файл сценария для запуска команды powershell. В .cmd сам файл выполняется, но вызов PowerShell внутри него завершается сбоем, даже при перенаправлении вывода в файл.

Любые советы приветствуются.

РЕДАКТИРОВАТЬ: обновление.

Я получил это для работы с .cmd файл все-таки (опечатка в моем оригинале .cmd) с вызовом:

%windir%\System32\WindowsPowerShell\v1.0\powershell.exe -NonInteractive -ExecutionPolicy Bypass -NoProfile -File %~dp0Update_VLC.ps1

Похоже, что это не работает с теми же аргументами, которые были введены для название и Параметры в Скрипты (запуск / выключение) следующим образом:

Имя сценария: %windir%\System32\WindowsPowerShell\v1.0\powershell.exe

Параметры скрипта: -NonInteractive -ExecutionPolicy Bypass –NoProfile -File %~dp0Update_VLC.ps1

В том, что я использую, может быть опечатка, которую я не вижу (если это так, я был бы признателен, если бы кто-нибудь мог указать на это). Или прямой подход, предложенный в ссылка на сайт (в отличие от использования командного сценария Windows) не работает. Рад за отзывы по любому из них.