【问题标题】:WMI query issue in PowerShellPowerShell 中的 WMI 查询问题
【发布时间】:2010-01-12 20:28:56
【问题描述】:

这是我开始的地方:

#Get Physical Memory
function getwmiinfo ($svr) {


gwmi -query "select * from
     Win32_PhysicalMemory" -computername $svr | select [$svr], DeviceLocator 

}


$Servers = get-content -path "C:\test.txt"


foreach($Servers in $Servers) {


 getwmiinfo $Servers

}

我明白了:

[risk]                 DeviceLocator
------                 -------------
                       DIMM0
                       DIMM1

我想要的是这个:

ServerName             DeviceLocator
----------             -------------
RISK                   DIMM0
RISK                   DIMM1

这可能吗?我该怎么做。我已经花了几个小时在这上面,但还不能让它发挥作用。谢谢!

【问题讨论】:

    标签: powershell wmi wmi-query


    【解决方案1】:

    [$svr] 替换为ServerName,因为[$svr] 不是您可以选择的字段。

    另外,我会改变

    foreach($Servers in $Servers) {
    
    
     getwmiinfo $Servers
    
    }
    

    foreach($Server in $Servers) {
     getwmiinfo $Server
    }
    

    注意foreach语句中变量名的变化

    更新

    gwmi -query "select * from Win32_PhysicalMemory" | select __SERVER, DeviceLocator
    

    【讨论】:

    • 进行您建议的更改为我提供了以下信息:ServerName DeviceLocator ---------- ------------- DIMM0 DIMM1
    • 更新了修改后的选择。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多