Сценарий:
$folder = "$env:HOMEDRIVE\TestFolder"
New-Item -ItemType directory -Path $folder
$folder
установлен на "C:\...
" Политика выполнения не ограничена, и сценарий работает нормально при запуске вручную в Windows 8.1 (папка создается). Я создал групповую политику (Конфигурация компьютера> Параметры Windows> Сценарии> Запуск). Добавлен TestFolder.ps1 в \ domain.com \ SysVol \ domain.com \ Policies ... \ Machine \ Scripts \ Startup. Фильтрация безопасности настроена для применения к группе компьютеров домена. Политика распространяется на компьютер.
Когда политика пытается применить сценарий, я получаю следующую ошибку:
Group Policy event 1130
Startup script failed.
GPO Name : TestFolder Script
GPO File System Path : \\domain.com\SysVol\domain.com\Policies\...\Machine
Script Name: TestFolder.ps1
SupportInfo1 178254400
SupportInfo2 71
ErrorCode 267
ErrorDescription The directory name is invalid.
ScriptType 0
GPODisplayName TestFolder Script
GPOFileSystemPath \\domain.com\SysVol\domain.com\Policies\...\Machine
GPOScriptCommandString TestFolder.ps1
Я не могу не заметить, что \ Scripts \ Startup отсутствует в пути к файловой системе в информации об ошибке ... Идеи?
РЕДАКТИРОВАТЬ: групповая политика применяется к виртуальной машине Windows 7. Мне кажется проблема с Windows 8.1.
У меня нет авторитетных ссылок, но $HOME
, $env:HOMEDRIVE
и $env:HOMEPATH
переменные пользователь-специфические переменные среды.
Маловероятно, что они будут назначены при запуске узла PowerShell в контексте безопасности компьютера, а не пользователя.