Не удается выполнить удаленный сценарий poweshell в автоматической установке Windows Server 2016

680
Yugendra

Я пытаюсь создать файл unattended.xml для автоматической установки Windows Server 2016, где после установки Windows он должен выполнить один сценарий powershell, расположенный на удаленном общем ресурсе samba.

Я использую следующую команду для запуска сценария powershell, хранящегося в общем ресурсе samba:

cmd.exe /c "ECHO R | powershell.exe -ExecutionPolicy Unrestricted -File \\192.168.137.131\install\ConfigureRemotingForAnsible.ps1" 

Процесс автоматической установки работает хорошо, но выполнение сценария ConfigureRemotingForAnsible.ps1 завершается с ошибкой:

The argument '\\192.168.137.131\install\ConfigureRemotingForAnsible.ps1' to the -File parameter does not exist. Provide the path to an existing '.ps1' file as an argument to the -File parameter. 

Эта же команда успешно выполняется, когда я запускаю ее вручную.

Соответствующая часть файла unattended.xml:

<settings pass="specialize"> <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <RunSynchronous> <RunSynchronousCommand wcm:action="add"> <Order>1</Order> <Path>cmd.exe /c "ECHO R | powershell.exe -ExecutionPolicy Unrestricted -File \\192.168.137.131\install\ConfigureRemotingForAnsible.ps1"</Path> </RunSynchronousCommand> </RunSynchronous> </component> </settings> 

Может кто-нибудь сказать мне, что я должен добавить в свой unattended.xml, чтобы он работал?

Заранее спасибо.

0

1 ответ на вопрос

0
thx1138v2

Я подозреваю, но не знаю наверняка, что ваше автоматическое выполнение выполняется в другом контексте безопасности, чем вы думаете. Если он выполняет аутентификацию S4U в автоматическом режиме, у вас не будет доступа ни к каким сетевым ресурсам. Это объясняет, почему это работает, когда вы вошли в систему в контексте безопасности, а не без присмотра.

Ниже приведено описание запланированных задач, но, вероятно, оно применимо и здесь. Контекст безопасности задачи

Как я могу изменить контекст безопасности автоматического выполнения? Yugendra 6 лет назад 0
Насколько я знаю, ты не можешь. При автоматическом выполнении запланированных задач будет использоваться аутентификация S4U, поэтому у вас не будет доступа к сети. Единственный способ заставить мой проект работать, это оставить пользователя с надлежащими учетными данными, зарегистрированными на компьютере, на котором выполняется задача. Идея состоит в том, чтобы не дать хакерам установить запланированное задание, которое будет выполняться без присмотра и в то же время иметь доступ к сети при запуске задания. thx1138v2 6 лет назад 0
Теперь я могу выполнить этот сценарий в режиме аудита, но проблема с этим подходом заключается в следующем: он игнорирует остальные настройки (пароль администратора, EULA) при передаче OOBE при входе в режим аудита. Я создал отдельную тему для этого [здесь] (https://superuser.com/questions/1226053/note-able-to-set-administrator-password-in-oobe-pass-after-returning-from-audit). Yugendra 6 лет назад 0