Powershell 使用WMIC重命名PC

Powershell 使用WMIC重命名PC,powershell,wmic,Powershell,Wmic,我需要做一些非常简单的事情。作为PowerShell脚本的一部分,该脚本将在数百台新的Windows 7计算机上运行,在将它们加入域之前,我需要对它们进行重命名 我做了一些搜索,一个常见的解决方案似乎是: wmic computersystem where name="%COMPUTERNAME%" call rename name="NEW-NAME" 但是,通过测试,我在执行时得到以下错误: Invalid Verb Switch 这是不对的吗?是否有更好的替代方案(无需升级机器上的Po

我需要做一些非常简单的事情。作为PowerShell脚本的一部分,该脚本将在数百台新的Windows 7计算机上运行,在将它们加入域之前,我需要对它们进行重命名

我做了一些搜索,一个常见的解决方案似乎是:

wmic computersystem where name="%COMPUTERNAME%" call rename name="NEW-NAME"
但是,通过测试,我在执行时得到以下错误:

Invalid Verb Switch
这是不对的吗?是否有更好的替代方案(无需升级机器上的PowerShell)


编辑:如果通过批处理运行,文件将返回成功,但实际上不会重命名机器(即使在重新启动后)

为什么不这样重命名(我经常使用这个片段):

学分:

进一步的研究表明,可能是双引号,另一种方法是:

cmd /c "wmic computersystem where name='%computername%' call rename name='NEW-NAME'"
请注意,双引号是如何被单引号替换的,传递到
cmd.exe
的整个命令是如何在双引号字符串中传递的


如果您需要发出其他WMIC命令,那么这可能比提出其他PowerShell解决方案要轻松。

@PnP已经更新了我的答案,如果您需要发出其他WMIC命令,可能会使用更可取的解决方案。我假设,一旦机器实际运行,您上面的原始功能将无法工作域名?@PnP-可能不是。这不再回答问题了吗?对不起,我没有意识到我点击了答案,是我的错!
cmd /c "wmic computersystem where name='%computername%' call rename name='NEW-NAME'"