none
AD User auslesen und in eine CSV Datei exportieren und dabei eine fest definierte Spalte hinzufügen RRS feed

  • Frage

  • Hallo zusammen,

    wir möchten gerne ein stündliches Powershell Script automatisch ablaufen lassen, was AD User ausliest und diese in eine CSV Datei exportiert und dabei eine zusätzliche Spalte hinzufügt welche einen festen Wert hat. Ich bekomme es leider nicht auf die Reihe den festen Wert dort reinschreiben zu lassen.

    Mein bisheriges Script, welche so funktioniert ohne dem festen Wert in der letzten Spalte ist wie folgt:

    Get-ADUser -filter * -properties displayname, l, company, co, department, mail, manager
     | select displayname, l, company, co, department, mail, @{Name="Manager";Expression={(get-aduser
     -id $_.Manager -prop Displayname).Displayname}}, @{Name="Incident State";Expression={$_["Operational"]}} | Export-CSV -encoding "unicode" -NoTypeInformation -Delimiter ";" C:\export.csv

    In der Spalte Incident State wird leider der Wert "Operational" nicht gesetzt. Was mache ich falsch?

    Danke für euere Hilfe.

    Gruß

    Lucky


    Mittwoch, 8. August 2012 14:49

Antworten

  • Hallo Raimund,

    vielen Dank für Deine Hilfe. Ich habe es jetzt so gelöst und es klappt auch wunderbar:

    $liste = Get-ADUser -filter * -properties displayname, l, company, co, department, mail, manager | select displayname, l, company, co, department, mail, @{Name="Manager";Expression={(get-aduser -id $_.Manager -prop Displayname).Displayname}}, "Incident State", "Deployment State"
    $liste | % {$_."Incident State" = “Operational”}
    $liste | % {$_."Deployment State" = “Production”}
    $liste | Select-Object displayname, l, company, co, department, mail, manager, "incident state", "Deployment State" | Export-csv c:\export.csv -encoding "unicode" -NoTypeInformation -Delimiter ";" 
     

    Somit ist es gelöst und bedanke mich recht herzlich.

    Gruß


    Lucky

    • Als Antwort markiert Alex Pitulice Donnerstag, 16. August 2012 08:02
    Donnerstag, 16. August 2012 06:35

Alle Antworten

  • Auf den ersten Blick fehlt da einfach nur ein Punkt zwischen $_ und dem Property Operational:

    @{Name="Incident State";Expression={$_.["Operational"]}}


    -Raimund

    Donnerstag, 9. August 2012 08:37
  • Hallo Raimund,

    Danke für die Info, aber leider wird der Wert "Operational" auch damit nicht geschrieben. Die Felder bleiben leer.

    Ich habe noch keinen Plan wie ich das lösen kann. Vielleich mit einem mehrzeiligen Script mit einlesen und neu wegschreiben.

    Gruß


    Lucky


    Donnerstag, 9. August 2012 09:06
  • Bei der Zuweisgung eines festen Wertes brauchst Du kein $_, was ja der Bezug zum aktuellen Objekt und somit kein fester Wert wäre:

    Get-ADUser -Filter * -Properties displayname, l, company, co, department, mail, manager | 
    	select displayname,	l,company, co, department, mail,
    	@{Name="Manager";Expression={(Get-ADUser -Identity $_.Manager -Properties Displayname).Displayname}},
    	@{Name="Incident State";Expression={"Operational"}} | 
    	Export-CSV -encoding "unicode" -NoTypeInformation -Delimiter ";" C:\export.csv

    Hier wird "Operational" einfach als String übergeben. Ist es das, was Du gesucht hast?

    -Raimund

    Mittwoch, 15. August 2012 13:36
  • Hallo Raimund,

    vielen Dank für Deine Hilfe. Ich habe es jetzt so gelöst und es klappt auch wunderbar:

    $liste = Get-ADUser -filter * -properties displayname, l, company, co, department, mail, manager | select displayname, l, company, co, department, mail, @{Name="Manager";Expression={(get-aduser -id $_.Manager -prop Displayname).Displayname}}, "Incident State", "Deployment State"
    $liste | % {$_."Incident State" = “Operational”}
    $liste | % {$_."Deployment State" = “Production”}
    $liste | Select-Object displayname, l, company, co, department, mail, manager, "incident state", "Deployment State" | Export-csv c:\export.csv -encoding "unicode" -NoTypeInformation -Delimiter ";" 
     

    Somit ist es gelöst und bedanke mich recht herzlich.

    Gruß


    Lucky

    • Als Antwort markiert Alex Pitulice Donnerstag, 16. August 2012 08:02
    Donnerstag, 16. August 2012 06:35