GWMI - Узнайте, являются ли контроллеры домена физическими или виртуальными с помощью сценария
Я пытался создать сценарий для извлечения, но вывод не совсем я хотел.
$Servers = Get-ADDomainController -Filter * | Select-Object Name
foreach($server in $servers)
{
$compsystem = gwmi -q "Select * from win32_computersystem" | Select Model
write-output $Server is $compsystem"
}
Вывод что-то вроде:
@ {Name = ServerName} - это @{Model=Proliant DL360 G6}
Имя сервера отличается, но Модель та же самая, поэтому я думаю, что после первых серверов она находится в непрерывном цикле.
Есть идеи?
Спасибо,
1 ответ
Вы никогда не используете переменную $server
, так что весь ваш вывод с локальной машины, на которой вы запускаете скрипт. Для запуска команды на реальных серверах вы можете использовать Invoke-Command
:
$servers |Foreach-Object {
$compsystem = Invoke-Command -ComputerName $_.name -ScriptBlock { gwmi -q "Select * from win32_computersystem" }
Write-Host ("{0} is {1}" -f $_.Name,$compsystem.Model)
}