Get-User by Jonathan Walz 3 years ago
View followups from spadm, EDV-Buero, dkx884s, fabian and fabian | embed code: <script type="text/javascript" src="http://PoshCode.org/embed/628"></script>download | new post
This function is an attempt to duplicate the Quest Get-QADUser cmdlet without using any third party snap-ins. If you want to run it against a Global Catalog you simply need to replace LDAP: with GC: and you will want to comment out the lines that pull the password last set and last logon timestamp unless you happen to be replicating those to your GC.
- function Get-User($user)
- {
- # this function should be passed the CN of the user to be returned
- $dom = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()
- $root = [ADSI] "LDAP://$($dom.Name)"
- $searcher = New-Object System.DirectoryServices.DirectorySearcher $root
- $searcher.filter = "(&(objectCategory=person)(objectClass=user)(cn=$user))"
- $user = $searcher.FindOne()
- [System.Collections.Arraylist]$names = $user.Properties.PropertyNames
- [System.Collections.Arraylist]$props = $user.Properties.Values
- $userobj = New-Object System.Object
- for ($i = 0; $i -lt $names.Count)
- {
- $userobj | Add-Member -type NoteProperty -Name $($names[$i]) -Value $($props[$i])
- $i++
- }
- $userobj.pwdlastset = [System.DateTime]::FromFileTime($userobj.pwdlastset)
- $userobj.lastlogontimestamp = [System.DateTime]::FromFileTime($userobj.lastlogontimestamp)
- return $userobj
- }
Submit a correction or amendment below (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.
PowerShell Code Repository