目前,我们正在使用 Windows 部署服务 (WDS) 部署 Windows 10 计算机,并使用 unattend.xml 文件进行基本设置。有时,有些计算机不会自动激活 Windows(我们使用的是 OEM 许可证)。这种情况似乎只发生在之前未激活 Windows 的新计算机上。
为了“绕过”这个问题,我创建了一个小型 powershell 脚本,它从 bios/uefi 获取 windows 密钥并使用此密钥激活 windows 副本。该脚本运行良好,我想将其添加到 unattend.xml 中,以便在设置后自动运行它。我想将脚本存储在我们的文件服务器上(以避免每次更改脚本时更改图像)并从那里运行它。我必须在 unattend.xml 文件中的哪里配置它?这可能吗?
我在 serverfault 上找到了一个主题(如何在 WDS 部署的专门过程中运行 PowerShell 脚本?) 他们讨论了这个问题。在评论部分,他们讨论了将其添加到 OOBE 和自动登录部分。由于我有点困惑(而且这个话题真的很老了),我想问:- 我是否必须使用正确的凭据配置自动登录并在此自动登录用户下运行脚本?如果是这样:如何在 unattend.xml 文件中完成此操作?
答案1
Powershell
要通过自动执行脚本unattend.xml
,您将需要配置run synchronous command
脚本的条目。
打开Windows SIM
您想要修改的无人值守文件。打开组件选项卡并展开*Microsoft-Windows-Deployment*
条目。
将项目添加到后unattend.xml
,您可以配置在显示框中运行的命令path
。
对于服务器上的 powershell 脚本,您可以使用如下命令:
powershell -File "\\remote-computer\some\dir\script.ps1"
。
对于本地计算机上的 powershell 脚本,语法如下:
powershell -File "C:\path\to\dir\script.ps1"
。
如果您想执行独立的 powershell cmdlet,您可以使用以下命令样式:
powershell verb-noun -argument(s)
。
选修的:
链接:
- Windows SIM(适用于 Windows 10)
- 运行同步命令 - Unattend.xml
- 首次登录命令 - Unattend.xml
- Powershell 命令行选项(从 cmd 运行脚本)
长话短说:
使用 Windows SIM 将synchronous
或asynchronous
命令添加到您的unattend.xml
。