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!

Empfohlene Beiträge

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 zu diesem Kommentar

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 zu diesem Kommentar

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 zu diesem Kommentar

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

bearbeitet von Bubblegum
Link zu diesem Kommentar

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 zu diesem Kommentar

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

 

bearbeitet von NilsK
Link zu diesem Kommentar

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 zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...