none
Frage zu Ausgabe von Arrays in Schleifen RRS feed

  • Frage

  • Hallo,

    ich habe hier von einer Woche ein Script gefunden und an den Firmeninternebedürfnis angepasst, alle ADGruppen und deren Mitglieder per Powershell in eine CSV Datei zu exportieren.

    Heute Morgen habe ich endlich geschafft, dass der Eintrag "GroupName" nur noch die Bezeichung der ADGruppe enthält, statt noch den Pfad. CN=Domänen-Gäste,CN=Users,DC=Adatum,DC=com

    Jetzt wird er aber im Stile von: @{Name=Domänen-Gäste} ausgegeben. Nur habe ich erwartet den Eintrag Domänen-Gäste zu erhalten. Was lief da falsch?

    $alleGruppen = get-adgroup -filter *
     foreach($Gruppe in $alleGruppen)
     {
       $ADGruppe = get-adgroup $Gruppe |Select-Object Name
       get-adgroupmember -identity $Gruppe|Select-Object GroupName,Name,SamAccountName |Foreach-Object {
        $_.GroupName = $ADGruppe 
        $_ 
    	}|Export-CSV c:\tmp\ADGruppeTest1.csv -Append -NoTypeInformation -Encoding unicode
     }

    Dienstag, 18. Oktober 2016 10:25

Antworten

Alle Antworten

  • >     $_.GroupName = $ADGruppe
    $_.GroupName = $ADGruppe.Name
     
    $ADGruppe = get-adgroup $Gruppe |Select-Object Name
    ist eigentlich doppelt gemoppelt - das hast ja schon "außen" gemacht :)
     
    • Als Antwort markiert Heinrich Bhaal Dienstag, 18. Oktober 2016 13:05
    Dienstag, 18. Oktober 2016 11:00
  • Moin,

    $ADGruppe ist ein Objekt, kein String. Wenn Du

    $_.GroupName = $ADGruppe.Name
    hinschreibst, wird es korrekt ausgegeben.


    Evgenij Smirnov

    msg services ag, Berlin -> http://www.msg-services.de
    my personal blog (in German) -> http://it-pro-berlin.de
    my stuff in PSGallery --> https://www.powershellgallery.com/profiles/it-pro-berlin.de/
    Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
    Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com


    In theory, there is no difference between theory and practice. In practice, there is.

    • Als Antwort markiert Heinrich Bhaal Dienstag, 18. Oktober 2016 13:05
    Dienstag, 18. Oktober 2016 11:01
  • Es ginge auch so .... dan sparst Du Dir das Foreach:

    get-adgroupmember -identity $Gruppe | Select-Object @{Name='GroupName';Expression={$Gruppe}},Name,SamAccountName


    Grüße - Best regards

    PS:> (79,108,97,102|%{[char]$_})-join''

    Dienstag, 18. Oktober 2016 11:06
  • @ Martin Binder

    Ich wusste mir nicht anders zu helfen, weil der ohne den "Trick" den Eintag GroupName als CN=Domänen-Gäste,CN=Users,DC=Adatum,DC=com ausgibt und da ja nur der Name gefordert war, ist das zu viel Information.

    Aber danke, heute wieder was dazugelernt!

    @Evgenij Smirnov

    Danke für den gleichen Tipp. Habe den Script angepasst.

    @BOfH_666

    Interessant, wie man das noch schlanker gestalten kann, aber ich bekomme das exportieren damit nicht hin.


    Dienstag, 18. Oktober 2016 13:11