Recherche de site Web

PowerShell : récupérer la liste des ordinateurs du domaine par système d'exploitation


En tant qu'administrateur, vous devez avoir une vue d'ensemble de votre environnement Active Directory. Bien entendu, cela inclut également les comptes d’utilisateurs et d’ordinateurs . Dans cet article de blog, j'exécuterai quelques commandes PowerShell pour obtenir une liste des ordinateurs du domaine filtrés par système d'exploitation. Je récupérerai successivement tous les serveurs Windows, clients Windows et contrôleurs de domaine activés et les afficherai séparément. Enfin, j'interrogerai tous les ordinateurs du domaine et les trierai par système d'exploitation. Allons-y.

J'utiliserai PowerShell. Si vous souhaitez participer, ouvrez PowerShell (powershell.exe) ou PowerShell ISE (ise.exe).

Récupérer tous les ordinateurs Windows Server

Pour récupérer tous les serveurs Windows activés triés par système d'exploitation, nous devons cibler l'attribut du système d'exploitation.


Get-ADComputer -Filter 'operatingsystem -like "*server*" -and enabled -eq "true"' `
-Properties Name,Operatingsystem,OperatingSystemVersion,IPv4Address |
Sort-Object -Property Operatingsystem |
Select-Object -Property Name,Operatingsystem,OperatingSystemVersion,IPv4Address

Récupérer tous les ordinateurs clients Windows

L'ordinateur client Windows n'a pas le terme serveur dans son attribut de système d'exploitation. Par conséquent, nous modifions simplement le code ci-dessus et définissons la requête du système d'exploitation sur -notlike server.


Get-ADComputer -Filter 'operatingsystem -notlike "*server*" -and enabled -eq "true"' `
-Properties Name,Operatingsystem,OperatingSystemVersion,IPv4Address |
Sort-Object -Property Operatingsystem |
Select-Object -Property Name,Operatingsystem,OperatingSystemVersion,IPv4Address

Récupérer tous les contrôleurs de domaine (pas de serveur membre)

Pour afficher tous les contrôleurs de domaine, j'ai décidé de cibler l'appartenance au groupe de comptes d'ordinateur. Tous les contrôleurs de domaine sont membres du groupe Contrôleurs de domaine, dont l'ID est 516.


Get-ADComputer -Filter 'primarygroupid -eq "516"' `
-Properties Name,Operatingsystem,OperatingSystemVersion,IPv4Address |
Sort-Object -Property Operatingsystem |
Select-Object -Property Name,Operatingsystem,OperatingSystemVersion,IPv4Address

Récupérer tous les membres-serveurs

Pour récupérer tous les serveurs qui ne sont pas des contrôleurs de domaine, exécutez le code suivant.


Get-ADComputer -Filter 'operatingsystem -like "*server*" -and enabled -eq "true" -and primarygroupid -ne "516"' `
-Properties Name,Operatingsystem,OperatingSystemVersion,IPv4Address |
Sort-Object -Property Operatingsystem |
Select-Object -Property Name,Operatingsystem,OperatingSystemVersion,IPv4Address

Récupérer tous les ordinateurs triés par système d'exploitation

Enfin et surtout, nous récupérons tous les ordinateurs du domaine en exécutant le code suivant.


Get-ADComputer -Filter 'enabled -eq "true"' `
-Properties Name,Operatingsystem,OperatingSystemVersion,IPv4Address |
Sort-Object -Property Operatingsystem |
Select-Object -Property Name,Operatingsystem,OperatingSystemVersion,IPv4Address

Personnaliser la sortie

Pour une meilleure vue, vous pouvez ajouter Out-Gridview à la fin. Cela ouvrira une fenêtre graphique. Ou vous souhaitez enregistrer la sortie dans un fichier. Alors Out-File ou ConvertTo-HTML peuvent vous aider.

Vue hors grille


Get-ADComputer -Filter 'enabled -eq "true"' `
-Properties Name,Operatingsystem,OperatingSystemVersion,IPv4Address |
Sort-Object -Property Operatingsystem |
Select-Object -Property Name,Operatingsystem,OperatingSystemVersion,IPv4Address |
Out-GridView

ConvertirEn-Html | Hors-Fichier

Si vous souhaitez enregistrer la sortie dans un fichier, plus précisément dans un fichier HTML, vous pouvez utiliser ConverToHtml avec Out-File.


Get-ADComputer -Filter 'enabled -eq "true"' `
-Properties Name,Operatingsystem,OperatingSystemVersion,IPv4Address |
Sort-Object -Property Operatingsystem |
Select-Object -Property Name,Operatingsystem,OperatingSystemVersion,IPv4Address |
ConvertTo-Html | Out-File C:\Temp\listcomputer.htm

J'espère avoir pu aider l'un ou l'autre à obtenir une documentation de son réseau, notamment le réseau Active Directory.

Articles connexes