Não é possível executar script de poweshell remoto na instalação autônoma do Windows Server 2016

1

Estou tentando criar o arquivo unattended.xml para a instalação autônoma do Windows Server 2016, onde após a instalação do Windows, ele deve executar um script PowerShell localizado no compartilhamento remoto do samba.

Estou usando o seguinte comando para executar o script do powershell armazenado no compartilhamento de samba:

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

O processo de instalação não assistida funciona bem, mas a execução do script ConfigureRemotingForAnsible.ps1 falha com o erro:

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.

O mesmo comando é executado com sucesso quando eu o executo manualmente.

Parte relevante do arquivo 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>

Alguém pode me dizer o que devo adicionar no meu unattended.xml para que ele funcione?

Obrigado antecipadamente.

    
por Yugendra 28.06.2017 / 10:30

1 resposta

0

Nos documentos, parece que o item Caminho é acessado usando as credenciais fornecidas, mas não executado como . Em linhas gerais, diz que RunSynchronousCommand durante Specialize é executado em um contexto do sistema, enquanto que AuditUser seria executado como usuário.

Algumas opções:

  • Durante Specialize , mapeie uma unidade com credenciais explícitas para o compartilhamento remoto usando net use ou New-PSDrive
  • Coloque seus comandos no AuditUser . Nos comentários do OP, é mencionado que isso teve outros problemas.
  • Crie um AutoLogon de administrador e execute seus comandos em um SetupComplete.cmd

Estou me referindo aos documentos em link e link

    
por 08.07.2017 / 09:12