Auslesen Funktionspostfächer mit Usernamen
Hallo,
ich muss für eine abteilung alle unsere Funktionspostfächer auslesen. Soweit so gut, kein Problem.
Jedoch bringt die Ausgabe die User, da Sie so angelegt sind mit einer Kennung und nicht deren Namen.
Also so
Dank des Codes hier:
Jetzt meine Frage, gibt es einen select befehl den ich da noch einbauen kann, um gleich in diese ausgabe den Vor und Zunamen mit integriert zu bekommen ohne das ich extra eine abfrage mit Get-ADUser -identity xxxx zu machen und wie ich dafür sorgen kann, dass die NT-Authority gleich nicht mit ausgelesen und aufgelistet wird?
Habt ihr Ideen oder Tipps?
Dank Euch.
ich muss für eine abteilung alle unsere Funktionspostfächer auslesen. Soweit so gut, kein Problem.
Jedoch bringt die Ausgabe die User, da Sie so angelegt sind mit einer Kennung und nicht deren Namen.
Also so
"xxxx/Zentrale Ressourcen/Benutzer/Exchange-Benutzer/xxx/xxx","xxx\**S0463**","FullAccess"
Dank des Codes hier:
Get-Mailbox -OrganizationalUnit "OU=xxx,OU=Exchange-Benutzer,OU=Benutzer,OU=Zentrale Ressourcen,DC=xxx,DC=xxx,DC=de" | Get-MailboxPermission | where {$_.user.tostring() -ne "NT AUTHORITY\SELF" -and $_.IsInherited -eq $false} | Select Identity,User,@{Name='Access Rights';Expression={[string]::join(', ', $_.AccessRights)}} | Export-Csv -NoTypeInformation C:\Users\xxx\Downloads\FuPo\xxx.csv
Jetzt meine Frage, gibt es einen select befehl den ich da noch einbauen kann, um gleich in diese ausgabe den Vor und Zunamen mit integriert zu bekommen ohne das ich extra eine abfrage mit Get-ADUser -identity xxxx zu machen und wie ich dafür sorgen kann, dass die NT-Authority gleich nicht mit ausgelesen und aufgelistet wird?
Habt ihr Ideen oder Tipps?
Dank Euch.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 7877749936
Url: https://administrator.de/contentid/7877749936
Ausgedruckt am: 22.11.2024 um 20:11 Uhr
7 Kommentare
Neuester Kommentar
Get-Mailbox -OrganizationalUnit "OU=xxx,OU=Exchange-Benutzer,OU=Benutzer,OU=Zentrale Ressourcen,DC=xxx,DC=xxx,DC=de" | Get-MailboxPermission | where {$_.user.tostring() -ne "NT AUTHORITY\SELF" -and $_.IsInherited -eq $false} | Select Identity,@{n='User';e={(Get-AdUser $_.Identity -Properties DisplayName).Displayname}},@{Name='Access Rights';Expression={[string]::join(', ', $_.AccessRights)}} | Export-Csv -NoTypeInformation C:\Users\xxx\Downloads\FuPo\xxx.csv
irgendwie noch einbinden?
Ist doch schon, Code vielleicht mal lesen ...Ersetze das Get-ADUser durch Get-ADGroup oder Get-ADGroupMember wenn du die Member der Gruppen haben willst, Schema wie oben.
Ist ja klar wenn du Gruppen hast siehe mein Kommentar dann musst du Get-ADUser austauschen durch Get-ADGroupMember, bei gemischten Einträgen mit Gruppen und Usern, z.B. so
$result = foreach($permission in Get-Mailbox -OrganizationalUnit "OU=xxx,OU=Exchange-Benutzer,OU=Benutzer,OU=Zentrale Ressourcen,DC=xxx,DC=xxx,DC=de" -ResultSize unlimited | Get-MailboxPermission | ?{!$_.IsInherited -and $_.User.SecurityIdentifier -notin 'S-1-5-10'}){
$principal = $permission.User.toString().split("\")[-1]
$obj = Get-ADObject -LDAPFilter "sAMAccountName=$principal"
if ($obj.objectClass -eq 'group'){
foreach($member in Get-ADGroupMember $principal -Recursive){
[pscustomobject]@{
Mailbox = $permission.Identity
User = $member.Name
'Access Rights' = $permission.AccessRights -join ','
Deny = $permission.Deny
}
}
}else{
[pscustomobject]@{
Mailbox = $permission.Identity
User = (Get-AdUser $principal).Name
'Access Rights' = $permission.AccessRights -join ','
Deny = $permission.Deny
}
}
}
$result | export-csv .\output.csv -Delimiter ";" -NoTypeInformation -Encoding UTF8