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

Запуск блока сценария PowerShell в конце автоматического развертывания WDS

Во время автоматической установки с WDS мне нужно запустить скрипт на общем ресурсе только в конце прохода 7 oobeSystem.

Я использую FirstLogonCommands / SynchronousCommand вариант и укажите эту командную строку:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoExit -ExecutionPolicy Bypass -WindowStyle Maximized -NoProfile -Command {New-SmbMapping -LocalPath z: -RemotePath \\10.10.10.5\Share -Persistent $false -UserName user -Password password; z:\script.ps1}

Он открывает консоль PowerShell, но отображает блок сценария в верхней части этого окна перед отображением командной строки и, к сожалению, не выполняет блок сценария.

Раньше пытался ввести сон, но это не меняет результата. Вот пример:

Как я могу это исправить?

В FirstLogonCommands документация показывает Пример XML как указать две команды для запуска после первого входа в систему. Изменение CommandLine в соответствии с вашими обстоятельствами, соответствующая часть unattend.xml мог выглядеть так:

<FirstLogonCommands>
   <SynchronousCommand wcm:action="add">
      <CommandLine>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -Command "& {New-SmbMapping -LocalPath z: -RemotePath \\10.10.10.5\Share -UserName User -Password password -Persistent 0}"</CommandLine>
      <Description>Description_of_command1</Description>
      <Order>1</Order>
   </SynchronousCommand>
   <SynchronousCommand wcm:action="add">
      <CommandLine>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File z:\script.ps1</CommandLine>
      <Description>Description_of_command2</Description>
      <Order>2</Order>
   </SynchronousCommand>
</FirstLogonCommands>

Обратите внимание, что в приведенном выше фрагменте кода -NoExit параметр полностью удален, а -WindowStyle Maximized изменен на -WindowStyle Hidden, согласно вашему утверждению из нашего предыдущего обсуждения: "Я использую -NoExit параметр, чтобы быть уверенным, что если команда не работает, я могу видеть, что произошло".