Get list of machines by OS type from Active Directory


Here is an easy way of getting a list of computers that have a particular OS type from Active Directory using DSQuery.

dsquery * domainroot -filter “(&(objectCategory=computer)(operatingSystem=Windows XP*))”

The command above would give you a list of all computers that have a Windows XP operating system. For Windows Servers, change the command as follows:

dsquery * domainroot -filter “(&(objectCategory=computer)(operatingSystem=Windows Server*))”

The output of the commands above would look something like this:

samid

server1$

server2$

server3$

dsget succeeded

Note the ‘samid’ at the head and ‘dsget succeeded’ at the end and the ‘$’ at the end tail of every server name.

If you are like me, and you would like just get a nice clean output with only server names, you can run this command:

for /f “Tokens=1 delims=$” %a in (‘dsquery * domainroot -filter “(&(objectCategory=computer)(operatingSystem=Windows Server*))”^| dsget computer -samid^|find /V “samid” ^| find /V “dsget”‘) do echo %a

The output of the command shown above would be:

server1

server2

server3

… and can be used as input to a file or another command etc…

Related posts:

  1. DSQuery Operating System Service Pack Version
  2. How to Backup and Restore Active Directory
  3. Active Directory Audit Script
  4. Active Directory Password Expiry Reminder Email
  5. Diskpart.exe Warning when expanding drive

, ,

  1. No comments yet.
(will not be published)