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

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

Я пытаюсь создать 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">
                    <Credentials>
                        <Username>Administrator</Username>
                        <Password>Devops@123</Password>
                    </Credentials>
                    <Path>cmd.exe /c "ECHO R | powershell.exe -ExecutionPolicy Unrestricted -File \\192.168.137.131\install\ConfigureRemotingForAnsible.ps1 > c:\pss.txt"</Path>
                    <Order>1</Order>
                    <Description>Execute ansible script</Description>
                </RunSynchronousCommand>
            </RunSynchronous>
        </component>
    </settings>

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

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

Из документов кажется, что элемент Path доступ используя предоставленные учетные данные, но не беги как. В общих чертах говорится, что RunSynchronousCommand в течение Specialize работает в системном контексте, тогда как AuditUser будет работать как пользователь.

Некоторые варианты:

  • В течение Specializeподключите диск с явными учетными данными к удаленному общему ресурсу, используя net use или New-PSDrive
  • Поместите свои команды в AuditUser. В комментариях OP упоминалось, что у этого были другие проблемы.
  • Создайте автоматический вход администратора и выполняйте свои команды в файле SetupComplete.cmd.

Я имею в виду документацию по адресу https://docs.microsoft.com/en-us/windows-hardware/customize/desktop/unattend/microsoft-windows-deployment-runsynchronous-runsynchronouscommand-credentials, и https://technet.microsoft.com/en-us/library/cc722343(v=ws.10).aspx