Проблема с запросом WMI в PowerShell - PullRequest
0 голосов
/ 12 января 2010

Вот с чего я начал:

#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

Возможно ли это? Как бы я это сделал. Я потратил на это часы и не могу заставить его работать. Спасибо!

1 Ответ

0 голосов
/ 12 января 2010

замените [$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
...