Jump to content

Ausgabe Anzeigename Manager


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Recommended Posts

Gerne. Ich würde gerne bei einem AD-User den Managed by Objekt auslesen. Wenn ich das mache, erhalte ich aber nur die DN Struktur (CN=blabla, CN=blublub) .

 

Der Output solte aber den reinen Vor und Nachnamen beinhalten. Was kann man machen, damit man nur den Namen erhält?

Link to post

Moin,

 

OK, technisch verstanden. Was willst du mit den Daten dann machen? Geht es um eine Einzelabfrage, sollen die Daten irgendwo hin ...? Willst du einzelne Manager abfragen oder das ganze AD?

 

Ins Blaue hinein ein fertiges Skript, das die gesamte Manager-Hierarchie eines AD ausgibt. Mit dem Parameter -name gibt es den Namen lesbar aus. Das Skript realisiert das über ADSI.

https://gallery.technet.microsoft.com/scriptcenter/Document-Active-Directory-47486cf5

 

Und hier eins für eine Einzelabfrage, dieses arbeitet mit den AD-Cmdlets.

https://community.spiceworks.com/topic/2074130-how-to-list-a-direct-reports-in-powershell

 

Gruß, Nils

 

Link to post

Genau es geht um eine Einzelabfrage, z.B:

 

Get-ADUser -Filter {samaccountname -like username*} -Properties name, manager | select name, manager

 

wie erwähnt, wenn man das in dem stil ausführt erhälst du den manager in der ausgabe mit der DN struktur (CN=blabla, CN=blublub) ausgeliefert, aber ich würde nur den Namen benötigen.

 

Danke für den Link, aber wie baue ich das in den Get-ADUser abfrage ein, um ein sauberes Ergebnis zu erhalten?

Link to post

Moin,

 

seufz - genau deshalb frage ich doch, was du damit vorhast. Was ist für dich ein "sauberes Ergebnis"? Bitte lass dir solche Dinge nicht hinterher aus der Nase ziehen, sondern sag gleich, was du vorhast.

 

Der zweite Link dürfte übrigens eher das Gegenteil von dem tun, was du meinst, hier einer, der wohl besser passt. (Im übrigen habe ich jetzt nach "PowerShell manager" gesucht, das hättest du sicher auch hinbekommen ...)

https://itknowledgeexchange.techtarget.com/powershell/get-ad-users-manager/

 

Gruß, Nils

 

Link to post

Habe es mal hiermit getestet:

 

Get-ADUser -Filter {samaccountname -like username*} -Properties * | Select-Object -Property Name, Title, @{L='Manager';expression={$_.manager -replace '^CN=|,.*$'}}

 

Nur bei der Ausgabe es Managers folgt nur das Format "Nachname\"

 

Wie bekomme ich den Ausdruck so hin, dass mir der Manager Vorname und Nachname normal angezeigt wird?

 

Namensstruktur ist Name, Vorname

Edited by Bubblegum
Link to post

Moin,

 

dein Code nimmt einfach den Wert aus "manager", entfernt das "CN=" und schneidet ihn nach dem ersten Komma ab. Bei deinem Namensformat passt das natürlich nicht.

 

Da in "manager" der DN des Zielobjekts steht, kannst du damit das Zielobjekt ansprechen und auslesen. Folgender Code zeigt das als Verschachtelung, die Pipe ist nur zum Anzeigen da:

 

Get-ADUser -identity ((Get-ADUser -Filter {samaccountname -like 'UllaP'} -Properties *).Manager) | Select-Object -Property Name

Gruß, Nils

 

Link to post

Moin,

 

naja, probier's halt aus. ;-)

 

Die Logik in dem Code ist die: Die Abfrage in der Klammer öffnet das Objekt des "untergebenen" Mitarbeiters und liest dort alle Eigenschaften aus - letzteres ist nur der Trick, um das "manager"-Feld dabeizuhaben. Statt des * könnte man hier auch gleich nur nach "manager" fragen, das ist bei einer einzelnen Abfrage aber eigentlich egal. Die äußere Abfrage nimmt jetzt den Wert aus "manager", was ja der DN des "vorgesetzten" Managers ist, und verwendet ihn als Identity, um dieses Objekt anzusprechen. Da es sich hierbei um das "äußere" Kommando handelt, hast du im Effekt jetzt also das Userobjekt des Vorgesetzten im Zugriff und kannst damit alles machen, was man mit einem AD-Userobjekt anstellen kann - also auch andere Werte auslesen.

 

Ersetz einfach den Teil nach der Pipe z.B. durch fl *, das sollte dir alle Eigenschaften des Vorgesetzten anzeigen (bzw. die, die das Cmdlet ohne weitere Schalter eben ausgibt).

 

Gruß, Nils

 

Edited by NilsK
Link to post

Ok, soweit das Konstrukt verstanden.

 

Das Ziel soll natürlich nicht nur sein alle Attribute des Managers auszulesen, sondern auch die des Mitarbeiters.

 

Wäre sowas in der Art: Get-ADUser -identity ((Get-ADUser -Filter {samaccountname -like 'UllaP'} -Properties *).Manager), -Filter{samaccountname -like "username*"} | Select-Object -Property Name

 

Syntaktisch bin ich mir jetzt etwas unsicher, aber wenn ich es in der äußeren Klammer platziere, dürfte ich doch die Elemente des eigentlichen Accounts abprufen können?

Link to post
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...