GWMI – 通过脚本查找域控制器是物理的还是虚拟的

我试图创build一个脚本提取,但输出不是我想要的。

$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}

服务器名称是不同的,但模型是相同的,所以我认为它是在第一台服务器之后的连续循环。

任何ideeas?

谢谢,

你永远不会使用variables$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) }