Проблема с запросом WMI в PowerShell

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

#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

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


person Brian    schedule 12.01.2010    source источник


Ответы (1)


замените [$svr] на ServerName, потому что [$svr] не является полем, которое вы можете выбрать.

Также я бы изменил

foreach($Servers in $Servers) {


 getwmiinfo $Servers

}

to

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

Обратите внимание на изменение имени переменной в операторе foreach

Обновить

gwmi -query "select * from Win32_PhysicalMemory" | select __SERVER, DeviceLocator
person John Weldon    schedule 12.01.2010
comment
Внесение предложенных вами изменений дает мне следующее: ServerName DeviceLocator ---------- ------------- DIMM0 DIMM1 - person Brian; 13.01.2010
comment
Обновлено с измененным выбором. - person John Weldon; 13.01.2010