Get-ADUser
Mit dem CmdLet Get-ADUser können Sie diverse User Informationen abfragen. Um z.B. alle User einer OU mit Vornamen und Nachnamen zu erhalten, verwenden sie folgende Option:
Get-ADUser -filter * -Searchbase “OU=OUName,DC=Domain,DC=xx” |select surname,givenname
Der Parameter -properties * zeigt alle Eigenschaften des Users, bzw. des Objektes. Damit können Sie z.B. den Lastlogon eines Users erhalten:
Get-ADUser Username -Properties * |Select LastLogon*
Ein neues Passwort setzen Sie als Securestring:
$Passwort = Read-Host -AsSecureString
************
Get-ADUser Username |Set-ADAccountPasswort -NewPassword $Password -Reset
Sie können natürlich die Filterfunktion weiter granulieren. Im folgenden Beispiel erhalten Sie alle gesperrten User einer OU:
Get-ADUser -filter {enabled -eq “False”} -Searchbase “OU=OUName,DC=Domain,DC=xx” |select surname,givenname
Wenn Sie wissen möchten, in welchen Gruppen der User Mitglied ist, dann Fragen sie die ADPrincipalGroupMembership ab
Get-ADuser -Filter {displayname -like “*Langlitz*”} -Properties * |Get-ADPrincipalGroupMembership
Get-ADGroup
Gleiches gilt natürlich auch für Gruppen. Dafür verwenden Sie allerdings das CmdLet Get-ADGroups:
Get-ADGroup -filter * -Searchbase “OU=OUName,DC=Domain,DC=xx”
Get-ADObject
Um z.B. Kontakte finden zu können, wählen Sie Get-ADObject:
Get-ADobject -filter {objectclass -eq “contact”} -Searchbase “OU=OUName,DC=Domain,DC=xx”
Sie können aber z.B. auch alle Objekte einer OU suchen:
Get-ADobject -filter {(objectclass -eq “contact”) -or (objectclass -eq “user”) -or (objectclass -eq “group”)} -Searchbase “OU=OUName,DC=Domain,DC=xx”
Wenn Sie nun alle User und Kontakte einer OU suchen, die den Namen Marco in einer Mailadresse haben, verwenden Sie folgendes:
Get-ADobject -filter {(objectclass -eq “user” -and proxyaddresses -like “*marco*”) -or (objectclass -eq “contact” -and proxyaddresses -like “*marco*”)} -Searchbase “OU=OUName,DC=Domain,DC=xx”
Zum Abschluss noch ein kleines Script, mit dem Sie aus einer Liste von Usern den zugehörigen DisplayName, das LastLogonDate und die PrimaryMailAddress bekommen. Die Liste der User ist eine Liste mit SamAccountName.
$list = “User1″,”User2″,”User3″,”User4″,”User5”
$result = @()
$user = “”
$user = $list | % {get-aduser -Properties * -Filter {SamAccountName -like $_}}
$user |% {
$details = “” | select DisplayName,LastLogon,PrimaryeMail
$details.DisplayName = $_.DisplayName
$details.Lastlogon = $_.lastlogondate.toshortdatestring()
$details.primaryemail = ((get-mailbox $_.samaccountname -ea si).emailaddresses | ? {$_.isprimaryaddress -match “True”}).smtpaddress
$result+=$details
}