Jump to content

Empfohlene Beiträge

Moin,

 

magst du bitte noch etwas genauer erklären, worum es geht, was du genau willst und was die Anforderung dahinter ist? Deine Frage ist doch arg knapp geraten.

 

Danke.

 

Gruß, Nils

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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?

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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?

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

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?

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Und WOFÜR brauchst du diese Informationen? Bekommt das irgendjemand zum prüfen? Wird das technisch weiterverarbeitet? Sollen Berechtigungen damit verwaltet werden?

In welchem Format den Namen? Vor und Nachname? Nach und Vorname?

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden

×