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:
Recent Comments