在无人参与的 WDS 部署结束时运行 PowerShell 脚本块

在无人参与的 WDS 部署结束时运行 PowerShell 脚本块

在使用 WDS 进行无人值守安装期间,我需要在传递结束时在共享上运行脚本7 oobe系统

我用首次登录命令/同步命令选项并提供以下命令行:

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 控制台,但在显示命令提示符之前在此窗口顶部显示脚本块,不幸的是没有执行脚本块。

我之前尝试过引入 sleep,但是结果并没有改变。下面是一个例子:

战俘

我怎样才能解决这个问题?

答案1

文档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参数只是为了确保如果命令失败,我可以看到发生了什么“。

相关内容