【问题标题】:powershell: you must provide a value expression on the right hand side of the '-' operatorpowershell:您必须在“-”运算符的右侧提供一个值表达式
【发布时间】:2015-11-13 13:43:34
【问题描述】:

我正在尝试获取远程计算机的域名。 下面是我正在使用的 WMI 查询。 如果我在本地运行此脚本,那么我将获得域名。

$domain= (gwmi WIN32_ComputerSystem).Domain

但是如果我想使用下面的脚本来获取远程机器的详细信息。

$domain= (gwmi WIN32_ComputerSystem).Domain -ComputerName $machinename

然后我收到此错误。

您必须在“-”运算符的右侧提供一个值表达式

【问题讨论】:

    标签: powershell


    【解决方案1】:

    我不确定为什么会发生这个特定错误,我看到 Unexpected token '-computername' in expression or statement 更有意义,但答案是添加 ComputerName 参数作为对 cmdlet 的调用的一部分:

    $domain = (gwmi WIN32_ComputerSystem -ComputerName $machinename).Domain 
    

    【讨论】:

    • 在 OP 的情况下,-ComputerName 可能被解释为减法运算符(减号)和命令名称“计算机名”(当然,这不是减法运算的有效值表达式)
    • 感谢您的回答。我现在正在测试它。
    • @MathiasR.Jessen 有道理,感谢您的解释。
    • 我正在尝试通过此 $IPAdd = Test-Connection $$ -count 1 | 获取 IP 地址选择 Ipv4Address 并显示在控制台中,但是当我尝试将其导出到 csv 时,我得到了 system.object。你能就此提出建议吗?为此提出一个新问题看起来不太好。
    • 使用Test-Connection $$ -count 1 | select -ExpandProperty Ipv4Address
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-15
    • 1970-01-01
    • 2017-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多