nutzer123456 0 Geschrieben 27. Mai 2024 Melden Teilen Geschrieben 27. Mai 2024 (bearbeitet) Könnte mir bitte jemand folgendes erklären. Ich würde gern ein paar Attribute durch Get-ADUser auslesen und als CSV exportieren. Die Ziel OU ist als Variable definiert. In der Ausgabe bleiben aber einige Felder leer bzw. erhalten in der CSV den Eintrag "Microsoft.ActiveDirectory.Management.ADPropertyValueCollection". $UserNames = Get-ADUser -filter * -searchbase $OUPathFHS -Properties * | Select displayname, SAMAccountName, mail, badpwdcount, proxyadress, skriptPath, whencreated, memberof $UserNames | export-csv -path ... wenn ich einen Nutzer direkt anspreche funktioniert es. get-aduser -Identity mustermann -Properties * | select name, badPwdCount, LastBadPasswordAttempt Wie bekomme ich den Befehl für alle Nutzer in der OU zum laufen. Vielen Dank schon mal im voraus. bearbeitet 27. Mai 2024 von nutzer123456 Zitieren Link zu diesem Kommentar
testperson 1.729 Geschrieben 27. Mai 2024 Melden Teilen Geschrieben 27. Mai 2024 Hi, wenn die Felder leer bleiben, enthalten die Felder evtl. keine Daten? "skriptPath" müsste bspw. auch "scriptPath" sein und "proxyadress" wäre "proxyaddresses". Wenn du "Microsoft.ActiveDirectory.Management.ADPropertyValueCollection" in die CSV bekommst, liegt das daran, dass die Felder halt mehrere Werte enthalten. "ProxyAdresses" enthalt halt alle E-Mail-Adressen und "memberOf" alle Gruppen. Was hast du denn später mit den Daten vor bzw. ist evtl. CSV auch einfach das falsche Format. Gruß Jan 1 Zitieren Link zu diesem Kommentar
nutzer123456 0 Geschrieben 27. Mai 2024 Autor Melden Teilen Geschrieben 27. Mai 2024 Die CSV soll dann in einer Exceltabelle ausgewertet werden um für nicht administrative Personen Informationen liefern. Im groben funktioniert das auch, aber es hakt halt an einigen Attributen. Die zwei Schreibfehler habe ich mal korrigiert. Das hat den Fehler für die Proxyadressen beseitigt. scriptPath gibt aber weiterhin nicht den gewünschten Eintrag zurück, sondern bleibt leer. Irgendwie scheint er aber mit dem Filter *searchbase OU nicht klar zu kommen. Einzeln mit -identity funktionieren alle Attributabfragen. Vielleicht mag er auch die Geschichte mit den Variablen nicht. Ich will ja auch verstehen warum mir die eine Abfrage die Werte ausgibt und die Andere nicht. Zitieren Link zu diesem Kommentar
testperson 1.729 Geschrieben 27. Mai 2024 Melden Teilen Geschrieben 27. Mai 2024 Dann liefere doch einmal etwas mehr vom Script oder das Script. Ich bleibe aber dabei, dass es erstmal schwierig wird, entsprechende Arrays wie "memberOf" oder "proxyAddresses" direkt in CSV zu bekommen. Vielleicht wäre es einfacher den Output als HTML darzustellen (oder du erstellst direkt ein Excel Workbook aus PowerShell). Zitieren Link zu diesem Kommentar
daabm 1.375 Geschrieben 27. Mai 2024 Melden Teilen Geschrieben 27. Mai 2024 Geht schon, wenn man sich festlegt, wie das im CSV dann entahalten sein soll. Kann man mit calculated properties bei Select-Object recht einfach lösen. Zitieren Link zu diesem Kommentar
nutzer123456 0 Geschrieben 27. Mai 2024 Autor Melden Teilen Geschrieben 27. Mai 2024 Ich werde mir mal die Geschichte mit dem Excel Workbook aus Powershell angucken, calculated Properties muss ich auch erstmal gucken wie man das genau macht. Wenn Ihr hierzu direkt Links mit einer Anleitung hättet nehme ich das gern mit. Schon mal Danke! Zitieren Link zu diesem Kommentar
daabm 1.375 Geschrieben 27. Mai 2024 Melden Teilen Geschrieben 27. Mai 2024 In kurz aus dem Gedächtnis: $ADUser | Select-Object -Property Name, @{ Name="Mitgliedschaften"; Expression={ $_.MemberOf -Join "`r`n" }} https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_calculated_properties?view=powershell-7.4 Zitieren Link zu diesem Kommentar
nutzer123456 0 Geschrieben 27. Mai 2024 Autor Melden Teilen Geschrieben 27. Mai 2024 Wenn ich das richtig verstehe erzeugt -join einen langen String. (hier mit Zeilenumbrüchen) Dieser String soll dann als Neue definierte Property ausgegeben werden. (Mitgliedschaften) ich habe jetzt folgendes getestet: $UserNames = Get-ADUser -filter * -searchbase $OUPathFHS $UserNames | Select-Object -property Name, @{ Name = "Mitgliedschaften" Expression = { $_.memberof -Join "`r`n" } } das gibt mir eine Tabelle mit den Namen zurück. Die spalte Mitgliedschaften bleibt aber leer. Ich hab das auch noch mit scriptpath anstelle von memberof getestet. Bleibt aber leer. Zitieren Link zu diesem Kommentar
BOfH_666 578 Geschrieben 27. Mai 2024 Melden Teilen Geschrieben 27. Mai 2024 Versuch doch statt dem Zeilenumbruch erstmal ein einfaches Zeichen wie z.B. "/" oder "|" oder "," oder ";". Dann solltest Du die Gruppen-Mitgliedschaften als "Trennzeichen-separierte" Liste innerhalb einer Zelle wiederfinden. Übrigens, statt "$UserNames" würde ich ein weniger missverständlichen Variablennamen empfehlen. Sowas wie "$UserList" oder "$UserArray". Schließlich enthält die Variable ja nicht nur Namen. vor 2 Stunden schrieb nutzer123456: $UserNames = Get-ADUser -filter * -searchbase $OUPathFHS Da die Attribute "MemberOf" und "ScriptPath" usw. nicht zum Default Retrurn Set gehören, musst Du sie explizit mit "-Properties MemberOf, ScriptPath, ... " usw. anfordern. Zitieren Link zu diesem Kommentar
cj_berlin 1.356 Geschrieben 28. Mai 2024 Melden Teilen Geschrieben 28. Mai 2024 (bearbeitet) Ich weiß nicht ob es das Problem ist, aber in Deinem allerersten Code-Snippet selektierst Du "sKriptPath" anstelle von "sCriptPath". Damit bleibt die Property "scriptPath" immer leer. bearbeitet 28. Mai 2024 von cj_berlin Zitieren Link zu diesem Kommentar
nutzer123456 0 Geschrieben 28. Mai 2024 Autor Melden Teilen Geschrieben 28. Mai 2024 auch mit den Änderungen gibt es keine Ausgabe. Zitieren Link zu diesem Kommentar
cj_berlin 1.356 Geschrieben 28. Mai 2024 Melden Teilen Geschrieben 28. Mai 2024 Zeig doch mal den Code, der diese Ausgabe erzeugt. Zitieren Link zu diesem Kommentar
nutzer123456 0 Geschrieben 28. Mai 2024 Autor Melden Teilen Geschrieben 28. Mai 2024 $Userarray = Get-ADUser -filter * -searchbase $OUPathFHS -Properties * | Select name, displayname, SAMAccountName, mail, badpwdcount, scriptPath, whencreated, memberOf $Userarray | Select-Object -property Name, mail, scriptpath, whencreated, badpwdcount, @{ Name = "Mitgliedschaften" Expression = { $_.memberOf -Join ";" } } $userarray | ft name und mail gibt mir eine Ausgabe. Der Screenshot ist von dem Teil der nicht geht. Zitieren Link zu diesem Kommentar
BOfH_666 578 Geschrieben 28. Mai 2024 Melden Teilen Geschrieben 28. Mai 2024 Ich habe Dein Schnipsel getestet und bei mir funktioniert es wie erwartet ... ok, ScriptPath ist bei uns auch nicht gefüllt, aber der Rest zeigt genau das, was erwartet wird ... 🤷🏼♂️ Zitieren Link zu diesem Kommentar
Beste Lösung nutzer123456 0 Geschrieben 28. Mai 2024 Autor Beste Lösung Melden Teilen Geschrieben 28. Mai 2024 (bearbeitet) ... hab meine Dummheit gefunden. Bin zwar mit dem Admin angemeldet hab die ISE aber nicht explizit als Admin gestartet. Dann geht das auch. Ich depp Danke an alle! bearbeitet 28. Mai 2024 von nutzer123456 Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.