GWMI - Découvrez si les contrôleurs de domaine sont physiques ou virtuels, à l'aide du script

J'ai essayé de créer un script pour extraire, mais le résultat n'était pas tout à fait possible.

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

Le résultat ressemble à ceci:

@ {Name = ServerName} - c'est @ {Model = Proliant DL360 G6}.

Le nom du serveur est différent, mais le modèle est identique, alors je pense que c'est dans un cycle continu après les premiers serveurs.

Des idées?

Remercier,
Invité:

Agathe

Confirmation de:

Vous n'utilisez jamais une variable

$server

, Par conséquent, toute votre conclusion vient de la machine locale sur laquelle vous exécutez le script. Pour démarrer la commande sur des serveurs réels, vous pouvez utiliser
https://docs.microsoft.com/en- ... mmand
:

$servers |Foreach-Object {
$compsystem = Invoke-Command -ComputerName $_.name -ScriptBlock { gwmi -q "Select * from win32_computersystem" }
Write-Host ("{0} is {1}" -f $_.Name,$compsystem.Model)
}

Pour répondre aux questions, connectez-vous ou registre