PowerShell: Retrieve List Of Domain-Computers By Operating System
Maybe your like
As an administrator, you should have an overview of your Active Directory environment. Of course, this also includes user and computer accounts . In this blog post I will carry out some PowerShell commands to get a list of domain-computers filtered by operating system. I will successively retrieve all enabled Windows Servers, Windows Clients and Domain-Controllers and display them separately. Finally I will query all domain-computers and sort them by operating system. Let’s go.
I will use PowerShell. If you want to join in, open PowerShell (powershell.exe) or PowerShell ISE (ise.exe).
Retrieve all Windows Server Computer
To retrieve all enabled Windows Servers sorted by operatingsystem, we need to target the operating system attribute.
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
Retrieve all Windows Client Computer
Windows Client computer doesn’t have the term server in its operating system attribute. Therefore we simply change the code above and set the operating system query to -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
Retrieve all Domain-Controllers (no Member-Server)
To display all Domain-Controllers I decided to target on the computer account group membership. All Domain-Controllers are member of the group Domain-Controllers, which ID is 516.
Get-ADComputer -Filter 'primarygroupid -eq "516"' ` -Properties Name,Operatingsystem,OperatingSystemVersion,IPv4Address | Sort-Object -Property Operatingsystem | Select-Object -Property Name,Operatingsystem,OperatingSystemVersion,IPv4Address
Retrieve all Member-Server
To retrieve all servers that are not Domain-Controllers, run the following code.
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
Retrieve all Computer sorted by Operatingsystem
Last but not least, we retrieve all domain-computers by running the following code.
Get-ADComputer -Filter 'enabled -eq "true"' ` -Properties Name,Operatingsystem,OperatingSystemVersion,IPv4Address | Sort-Object -Property Operatingsystem | Select-Object -Property Name,Operatingsystem,OperatingSystemVersion,IPv4Address
Customize the output
For a nicer view you can add Out-Gridview at the end. This will open a graphical window. Or you want to save the output to a file. Then Out-File or ConvertTo-HTML can help.
Out-GridView
Get-ADComputer -Filter 'enabled -eq "true"' ` -Properties Name,Operatingsystem,OperatingSystemVersion,IPv4Address | Sort-Object -Property Operatingsystem | Select-Object -Property Name,Operatingsystem,OperatingSystemVersion,IPv4Address | Out-GridView
ConvertTo-Html | Out-File
If you want to save the output to a file, more precise in a HTML file, you can use ConverToHtml along with 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
I hope I was able to help one or the other to get a documentation of his network, especially the Active Directory network.
See also
For a graphical menu of the topic, visit my blog post “Active Directory Domain Services Section”.
https://sid-500.com/2018/05/22/active-directory-domain-services-section-version-1-1/

Share this:
- X
- Tumblr
Related
Categories: PowerShell, Windows Server
Tagged as: Active Directory, English, PowerShell, Windows Server
Tag » Active Directory Get Computer Operating System
-
Get-Adcomputer- Find Operating System - ShellGeek
-
Get-ADComputer: Find Computer Properties In Active Directory With ...
-
Inventorying Computers With AD PowerShell
-
Get-ADComputer- How To Find & Export AD Computers PowerShell
-
Get-ADComputer -Filter | Syntax Examples - Easy365Manager
-
Filter Active Directory Computer Object By Operating System
-
Getting List Of Computers With OS And Model - Spiceworks Community
-
List Active Directory Computers Based On Their Operating System.
-
PowerShell: Operating System Count From Active Directory · GitHub
-
Finding Operating System Versions In Active Directory - Power Tips
-
How To Export A Computer List From Active Directory - Netwrix
-
Retrieve Server Operating Systems That Are Active In Active Directory
-
What Is Active Directory? How Does It Work? | Quest
-
Retrieve The Windows Version Of Computers In A Domain