PowerShell

PowerShell: Retrieve List of Domain-Computers by Operating System

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

1.PNG

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

1.PNG

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

1.PNG

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

1.PNG

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

1.PNG

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

1.PNG

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

1.PNG

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/

1.PNG

2 replies »

Leave a Reply to tuviczoran Cancel reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.