Get-AD.ps1
This Script gets Information About Objects in Active-Directory. It’s got a few Parameters and Switches that allows us to specify what to search for and how to Return the objects found. You can choose which information to return through the Property parameter, you can Save the Information to a Csv file, You can return a System.DirectoryServices.DirectoryEntry Object that you can work with through PowerShell.. you can do lots of things.
Parameters:
- -Domain Name of the Domain (Required)
- -OU Name of Organizational Unit (Optional)
- -User Name of the User (Optional)
- -Group Name of the Group (Optional)
- -Computer Name of the Computer (Optional)
- -Filter Filter on Specified Criteria, default is name (optional)
- -CustomFilter Create A custom SearchFilter (optional)
- -CustomAll Create A Custom SerachFilter, searches for All Objects (optional)
- -Property Specify one or more Properties to Return (Optional)
- -ToCsv Saves the Output to a Csv File (Optional)
- -ToObject Returns a System.DirectoryServices.DirectoryEntry Object (optional)
- -IncreasePageSize Exceeds the default limit of 1000 Objects (optional)
- -help Prints the HelpFile (Optional)
PS > Get-AD.ps1 -HelpYou want to Display Domain Information About Your Domain
PS > Get-AD.ps1 -Domain apa.corpYou want to Connect to a Domain and store the Object in a Variable
PS > $Domain = Get-AD.ps1 -Domain apa.corp -ToObjectYou want to retrieve All OrganizationalUnits in your Domain and store their distiguishedName in a Csv file
PS > Get-AD.ps1 -Domain apa.corp -OU AllOU -Property distinguishedName -ToCsv C:MyFolderMyOUFile.csvYou want to Get all Users and display their name and mail in your PowerShell Session
PS > Get-AD.ps1 -Domain apa.corp -User AllUsers -Property cn, mailYou want to Find a User, but you only know the Users sAMAccountName
PS > Get-AD.ps1 -Domain apa.corp -User User1 -Filter sAMAccountName -Property cn, mailYou want to Create a Csv File with all Computers in your domain
PS > Get-AD.ps1 -Domain apa.corp -Computer AllCOmputers -Property Name -ToCsv C:\MyFolderMyOUFile.csvYou can Download the Script here
[?]

Very interesting read and nice script, but I have a problem running it.
I get the error
You cannot call a method on a null-valued expression.
At E:\PowershellScripts\get-ad.ps1:631 char:59
+ $SearchResult = ($Searcher.FindOne()).GetDirectoryEntry <<<< ()
+ CategoryInfo : InvalidOperation: (GetDirectoryEntry:String) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
Can you give me some help?
Oh sorry, I meant to post this earlier. I was running the script in this fashion.
$User1 = .\Get-AD.ps1 -Domain Domain -User rbentancur -ToObject
That is when I got the error above.
Hi, use the -Filter parameter to specify what you want to filter on; sn, givenName, sAMAccountName etc. (think its default set to cn).
here’s an example:
PS > $user = .\Get-AD.ps1 -Domain powershell.nu -User nigo -Filter sAMAccountName -ToObject
PS > $user
distinguishedName : {CN=Niklas Goude,CN=Users,DC=POWERSHELL,DC=NU}
Path : LDAP://CN=Niklas Goude,CN=Users,DC=POWERSHELL,DC=NU