none
Get-Mailboxpermission, zusätzliche Felder von Get-ADUser RRS feed

  • 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
    Sonntag, 22. Januar 2017 07:49

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
    Sonntag, 22. Januar 2017 09:37
  • 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
    Montag, 23. Januar 2017 13:04

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
    Sonntag, 22. Januar 2017 08:06
  • 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

    Sonntag, 22. Januar 2017 08:56
  • Evgenij

    meinst du hier (rosa markiert)? Bleibt leider trotzdem leer?


    Chris

    Sonntag, 22. Januar 2017 09:08
  • 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
    Sonntag, 22. Januar 2017 09:37
  • 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''

    Sonntag, 22. Januar 2017 10:25
  • 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

    Montag, 23. Januar 2017 10:00
  • 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
    Montag, 23. Januar 2017 13:04