Activate Windows License



当我在PowerShell中使用slmgr /skms <URL> | cmd命令时,它向我显示了一个弹出窗口,我必须按下ok按钮,然后我运行slmgr /ato | cmd并再次显示我另一个弹出窗口,我按下ok按钮。

我不想手动按ok键,有没有人能帮我解决这个问题?

我刚在windows中禁用了uac,但是它没有帮助我。

您正在寻找的是cscript。通过执行vbs脚本文件,输出被发送到需要您交互的对话框。

使用cscript,所需的输出将被打印到当前标准输出:

cscript C:WindowsSystem32slmgr.vbs /ato

这与UAC没有任何关系,你可以考虑重新激活它。


为什么呢?

slmgr不是命令,也不是windows中的可执行文件。这是一个用VBScript编写的脚本文件。VBScript是VB的一种脚本版本,所以不要过多地使用它会让你安心。

如果你输入slmgr /skms, windows会在它的搜索路径(%PATH%)中查找一个名为slmgr的文件,找到C:WindowsSystem32slmgr.vbs并决定,因为它是一个.vbs文件,使用文件路径和你的参数作为参数执行wscript.exe是正确的。

WScript是vbs文件的默认解释器,它只解释文件并执行其代码。另一方面,控制台脚本有cscript

如果.vbs文件的作者决定写一条消息给他们脚本的用户,他们通常使用像

这样的语句
Wscript.Echo "Hello, World!"

这就是你开始困惑的地方:
cscript中执行此脚本意味着将Hello, World!写入控制台。(这就是你想要做的)
使用wscript执行相同的脚本会呈现一个带有OK按钮的消息框。您可以通过使用上面的语句创建一个vbs文件来轻松地复制它。


wscript与cscript的区别

最新更新