Я пытаюсь получить версию ОС для некоторых компьютеров в моем домене. Я создал команду PowerShell, которая делает это, но в выходных данных отсутствует имя компьютера.
Это команда
Get-ADComputer -Filter {name -Like "test"} | select "name" | foreach {$_.name} {Get-WmiObject -Class Win32_OperatingSystem -ComputerName $_.name} | Select-Object Description, Caption,SevicePackMajorVersion | out-gridview
Я пробовал добавить дополнительные объекты выбора, но все они пустые. Я думаю, это потому, что этот wmiobject просто не содержит имени машины.
Итак, мой вопрос в том, что в названии я использую $_.name
возможно ли, что это также может быть частью вывода. Я пробовал использовать варианты ($_.name)
в команде select-object, но безрезультатно.
Когда вы используете Get-WmiObject -Class Win32_OperatingSystem
вы можете увидеть полный список свойств, доступных с помощью команды Get-WmiObject -Class Win32_OperatingSystem | select-object *
. Это даст вам таблицу свойств и значений. Свойство, которое, вероятно, будет вам полезно, - это PSComputerName
свойство.
Итак, что-то вроде этого должно включать в себя нужные вам детали.
Get-WmiObject -Class Win32_OperatingSystem -ComputerName . | select-object PSComputerName,Description,Caption,SevicePackMajorVersion