I use the “DS” set of commands almost daily, they are a very powerful set of tools, which allow the output to be piped between them.
In this example, we are going to use the dsget command, to retrieve a list of users from a security group, then pipe the result into dsrm to delete them.
This can be useful in an educational environment where lots of users leave at once, and hundreds of accounts need removing. Or in the current corprate climate, when an entire department disappears!
Before jumping in at the deep end, I recommend seeing what results you are going to pipe into a dsrm, so run the dsget command on its own.
Dsget group “cn=year13,ou=groups,ou=myschool,dc=domain,dc-suffix –members -expand
This will return the members of a group called “Year13” which is in an OU called “Groups”, which is within an OU called “myschool” which is in the domain domain.suffix.
You are telling the dsget command that it is looking at a group by specifying “group” after dsget. the switches at the end are also important.
-members tells dsget to return the members of the group
-expand returns all members of the group, if this isn’t used it is limited to 100
If you are happy with the results returned, you can pipe the results into DSRM. Piping is just like typing something into a command yourself, only you’re letting the previous command do the work.