强制 kms 同步与 powershell 挂起

force kms sync with powershell hangs

我的脚本中有一个命令。ps1 由 tfs 2015 中的下一个构建步骤运行。然后我导航到办公室的位置,运行 命令强制这样的 KMS 推送:

cmd.exe dir "C:\apps\MSOffice\Office15\"
cmd.exe "cscript ospp.vbs /act"

它被执行,但随后挂起,什么也没有发生。如果我手动执行命令,它可以正常工作。 仅当我通过 powershell 执行此操作时才会发生这种情况 - 运行手动执行命令会按预期工作。

不确定为什么要从 PowerShell 调用 CMD 来执行 PowerShell 可以直接执行的命令。

无论如何

执行命令时使用/C return

cmd.exe /C dir "C:\apps\MSOffice\Office15\"
cmd.exe /C "cscript ospp.vbs /act"

谢谢 Micky!,/C 帮我调试了。

解决方法是这样的:

cmd.exe /c "cd C:\apps\MSOffice\Office15\"
cmd.exe /c "cscript.exe C:\apps\MSOffice\Office15\ospp.vbs /act"

需要与 VB 脚本分开执行脚本 VB 处理程序。 顺便说一句:我这样做的原因是因为我有一个构建任务将同时在 20 台构建机器上执行。