【问题标题】:Rename PC with WMIC使用 WMIC 重命名 PC
【发布时间】:2015-05-30 16:03:16
【问题描述】:

我需要实现一些非常简单的东西。作为将在数百台新的 Windows 7 机器上运行的 PowerShell 脚本的一部分,我需要在将它们加入域之前重命名它们。

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

wmic computersystem where name="%COMPUTERNAME%" call rename name="NEW-NAME"

但是,通过测试,我在执行时收到以下错误:

Invalid Verb Switch

这是不正确的吗?有没有更好的选择(不升级机器上的PowerShell)

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

【问题讨论】:

    标签: powershell wmic


    【解决方案1】:

    为什么不这样重命名(这是我经常使用的sn-p):

    Function Rename-Computer([string]$newComputerName)
    {
        $computer = Get-WmiObject -Class Win32_ComputerSystem
        $computer.rename($newComputerName)
    }
    

    信用:http://powershell.com/cs/media/p/922.aspx

    进一步的研究表明它可能是双引号,另一种运行方式是:

    cmd /c "wmic computersystem where name='%computername%' call rename name='NEW-NAME'"
    

    注意如何用单引号替换双引号,并且传递给cmd.exe 的整个命令是在双引号字符串中传递的。

    如果您需要发出其他 WMIC 命令,那么这可能比提出替代 PowerShell 解决方案更容易。

    【讨论】:

    • @PnP 更新了我的答案,如果您需要发出其他 WMIC 命令,可能是更可取的解决方案。
    • 我假设一旦机器实际在域上,您上面的原始功能将无法工作?
    • @PnP - 可能不是。这现在不再回答问题了吗?
    • 对不起,我没有意识到我点击了答案,我的错!
    猜你喜欢
    • 1970-01-01
    • 2016-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多