Benutzer mit den meisten Antworten
Get-Mailboxpermission, zusätzliche Felder von Get-ADUser

Frage
-
Hallo zusammen,
get-mailbox -id "xyz" |Get-MailboxPermission | select identity,user,@{n="Office";e={(get-user -id $_.User.).office}}
ich möchte bei get-mailbox zusätzliche Information (Anzeigename und Office) anzeigen.
von get-mailbox brauche ich
Identity, User, AccessRights und von get-ADuser noch Name oder displayname und Office
hier habe ich einen Tipp gefunden aber das klappt auch nicht
get-mailbox -id "xyz" | Get-MailboxPermission | select -expandproperty user | get-aduser office,name (get-mailbox -id "xyz" |Get-MailboxPermission) | get-aduser | select office,name
Chris
- Bearbeitet -- Chris -- Sonntag, 22. Januar 2017 08:34
Antworten
-
Moin,
das ist weil das Attribut physicalDeliveryOfficeName heißt ;-)
Evgenij Smirnov
I work @ msg services ag, Berlin -> http://www.msg-services.de
I blog (in German) @ http://it-pro-berlin.de
my stuff in PSGallery --> https://www.powershellgallery.com/profiles/it-pro-berlin.de/
Exchange User Group, Berlin -> http://exusg.de
Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com- Als Antwort markiert -- Chris -- Montag, 23. Januar 2017 13:29
-
Ach Chris ...
scheinbar liest Du unsere Antworten genauso wenig wie die Hilfe der cmdlets, die Du benutzt.
... GET-ADUSER (keine Office Property) ...
Get-ADUser -Identity $ENV:USERNAME -Properties *
... und da gibt es wirklich keine Property, die "Office" heißt?... trotzdem darf man es so nicht pipen ... Get-MailboxPermission "xyz" | get-user
Deswegen: Hilfe lesen!! Wenn mindestens eine der Properties, die Get-MailboxPermission ausgibt als Input für Get-User taugt, funktioniert's - sonst nicht. Dafür wäre es natürlich hilfreich, wenn man weiß, was die ganzen aufgeführten Parameter-Properties und Optionen bedeuten.
Get-Help about_Functions_Advanced_Parameters
Schau Dir das mal intensiv an - das hilft zum Teil auch beim Verständnis der Hilfe. z.B. wenn es um Parameter-Optionen geht. ... und speziell [ValueFromPipeline=$true)] und [ValueFromPipelineByPropertyName=$true)].
Grüße - Best regards
PS:> (79,108,97,102|%{[char]$_})-join''- Als Antwort markiert -- Chris -- Montag, 23. Januar 2017 13:29
Alle Antworten
-
ich habe jetzt noch etwas gefunden. Das funktioniert zwar schon etwas aber das Office Feld bleibt noch leer?
get-mailbox -id "xyz" |Get-MailboxPermission | select identity,user,@{n="Office";e={get-aduser -id $_.User | select -expand office}},accessrights
das where habe ich bewusst entfernt, damit es nicht noch unleserlicher wird.
ein Anzeige (breiten) Problem kann es nicht sein, da es mit out-gridview auch nicht angezeigt wird.
Chris
- Bearbeitet -- Chris -- Sonntag, 22. Januar 2017 08:08
-
Moin,
bei Get-ADUser fehlt noch
-Properties Office
Evgenij Smirnov
I work @ msg services ag, Berlin -> http://www.msg-services.de
I blog (in German) @ http://it-pro-berlin.de
my stuff in PSGallery --> https://www.powershellgallery.com/profiles/it-pro-berlin.de/
Exchange User Group, Berlin -> http://exusg.de
Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com -
Moin,
das ist weil das Attribut physicalDeliveryOfficeName heißt ;-)
Evgenij Smirnov
I work @ msg services ag, Berlin -> http://www.msg-services.de
I blog (in German) @ http://it-pro-berlin.de
my stuff in PSGallery --> https://www.powershellgallery.com/profiles/it-pro-berlin.de/
Exchange User Group, Berlin -> http://exusg.de
Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com- Als Antwort markiert -- Chris -- Montag, 23. Januar 2017 13:29
-
Chris,
ich weiß, ich wiederhole mich, aber Du solltest wirklich anfangen, die Hilfe der cmdlets zu lesen, die Du benutzt. Und zwar die GANZE Hilfe inclusive der Beispiele. Damit könntest Du Dir einen großen Teil der Fragen, die Dur hier stellst selbst beantworten.
... und noch ein Tipp: Normalerweise liefern alle cmdlets ohne weitere Angaben nur eine kleine "Vorauswahl" an Informationen über das "Object der Begierde". Wenn Du wissen möchtest, was wirklich alles rauszuholen ist, pipe'st Du den Output einen cmdlets einfach entweder an "| Format-List *" oder and "| Select-Object *" oder "| Get-Member".
Probier es aus - anders machen wir das auch nicht. ;-)
Grüße - Best regards
PS:> (79,108,97,102|%{[char]$_})-join'' -
Hallo Olaf,
grundsätzlich gebe ich dir Recht. Leider funktioniert es diesmal wirklich nicht. Aufgrund von Internet Beispielen habe ich mich dann mit GET-ADUSER (keine Office Property) in die Irre führen lassen.
Get-User hat ein Office Property - trotzdem funktioniert es leider mit Get-User auch nicht.
Ich habe die CmdLets einzeln ausgeführt und dabei auch festgestellt, dass bei
Get-MailboxPermission ein User mit <Domain\user> zurückgeliefert wird. Get-ADUser kann jedoch nichts mit <Domain\user> anfangen. Ok, das hätte mir gleich auffallen müssen.
ich habe jetzt einen Hinweis erhalten das dies ohnehin nicht mit OnPremise geht? Das wäre eine Erklärung
wie gesagt. Get-MailboxPerssion bringt Werte, Get-User | select blah blah für sich auch
trotzdem darf man es so nicht pipen
Get-MailboxPermission "xyz" | get-user | select name,office => da ich kein Entwickler bin, fehlt mir hier noch das Fachwissen und teils die Kenntnis.
daher habe ich es mit diesem Beispiel probiert.
get-mGet-MailboxPermission "xyz - ics" | get-user | ft identity,@{n="office";e={(get-user $_.user).office}}
sieht für mich gleich aus geht aber trotzdem nicht. Vermutlich OnPremise
mit einer Schleife geht es.
http://o365info.com/full-access-mailbox-permission-everything-always-wanted-know-afraid-ask-part-33/
$a = get-mailboxpermission "xyz" | Where { ($_.AccessRights -like “*FullAccess*”) -and ($_.IsInherited -eq $False) -and -not ($_.User -like “NT AUTHORITY\SELF”) } foreach($b in $a) { $u = get-user $b.user $t = $b.Identity + "-" + $u.displayname + " - " + $b.user + " - " + $u.office $t }
Chris
-
Ach Chris ...
scheinbar liest Du unsere Antworten genauso wenig wie die Hilfe der cmdlets, die Du benutzt.
... GET-ADUSER (keine Office Property) ...
Get-ADUser -Identity $ENV:USERNAME -Properties *
... und da gibt es wirklich keine Property, die "Office" heißt?... trotzdem darf man es so nicht pipen ... Get-MailboxPermission "xyz" | get-user
Deswegen: Hilfe lesen!! Wenn mindestens eine der Properties, die Get-MailboxPermission ausgibt als Input für Get-User taugt, funktioniert's - sonst nicht. Dafür wäre es natürlich hilfreich, wenn man weiß, was die ganzen aufgeführten Parameter-Properties und Optionen bedeuten.
Get-Help about_Functions_Advanced_Parameters
Schau Dir das mal intensiv an - das hilft zum Teil auch beim Verständnis der Hilfe. z.B. wenn es um Parameter-Optionen geht. ... und speziell [ValueFromPipeline=$true)] und [ValueFromPipelineByPropertyName=$true)].
Grüße - Best regards
PS:> (79,108,97,102|%{[char]$_})-join''- Als Antwort markiert -- Chris -- Montag, 23. Januar 2017 13:29