The Quest cmdlets below were once offered for free by Quest (now owned by Dell). From around 2014 they were no longer free and have now been deprecated and withdrawn from sale.
Since the release of PowerShell 4.0, Microsoft now provide an Active Directory module, shipped by default with Windows Server.
Although they do have some useful options, most will consider that the Quest cmdlets are no longer needed.
The last free version of the Quest cmdlets is available from the mirror above but it is now unsupported by Dell and requires .Net Framework 3.5 Sp1 (supported until October 2028)
After installing, make the cmdlets available by loading the ActiveRoles snap-in:
PS C:> Add-PSSnapin Quest.ActiveRoles.ADManagement
Get-QADComputer Retrieve computer objects that match specified conditions. Connect-QADService Connect to AD domain controller (or AD LDS) Disconnect-QADService Disconnect from an AD domain controller Get-QADGroup Retrieve groups that match specific conditions Set-QADGroup Modify attributes of group(s) New-QADGroup Create a new group Get-QADGroupMember Retrieve members of a group Add-QADGroupMember Add one or more objects to a group Remove-QADGroupMember Remove one or more members from a group Get-QADMemberOf Retrieve group memberships of a particular object Get-QADUser Retrieve users that match specific conditions Set-QADUser Modify attributes of a user account New-QADUser Create a new user account Enable-QADUser Enable a user account Move-QADObject Move an object to a new OU Remove-QADObject Delete object(s) from Active Directory Rename-QADObject Rename an object in Active Directory Disable-QADUser Disable a user account Unlock-QADUser Unlock a user account Deprovision-QADUser Deprovision a user account in AD
Quest also provide cmdlets for managing AD Objects, AD ACLs, Password settings, Object security and Snap-In settings.
It is also possible to retrieve Active Directory (AD) information using native PowerShell by using LDAP paths with the ADSI provider, this method does tend to become rather verbose for anything non-trivial:
$myOU = [adsi]"LDAP://CN=Jdoe,OU=TestOU,DC=ss64,DC=com"
$myOU | Get-Member
“More important than the quest for certainty is the quest for clarity” ~ Francois Gautier
.Net Framework 3.5 (Full) - or (Bootstrap) - Required for the Quest Snap-In