tralveller
Goto Top

PowerShell: Aus CSV Werte an Befehl übergeben und Ergebnisse in CSV zurück geben

Hallo zusammen,

im Bereich PowerShell bin ich leider noch nicht bewandt.

Ich habe folgende Spalten:
- Hostname
- Username_alt
- Username_neu
- Username_alt-Ergebnis
- Username_neu-Ergebnis

Gerne müssen ich die Daten pro Zeile an einen Befehl mitgeben.

Kommando.exe <Option_Hinzufügen> Username_neu Hostname <Option_Rechte>
=> Das Egebnis würde ich in die CSV unter "Username_neu-Ergebnis" ablegen

Kommando.exe <Option_Entfernen> Username_alt Hostname <Option_Rechte>
=> Das Egebnis würde ich in die CSV unter "Username_alt-Ergebnis" ablegen

So weit ich es verstanden habe würde ich die CSV wie folgt importieren
$Users = Import-Csv 'C:\Temp\Users.csv' -Delimiter ';'
Doch leider verstehe ich ab da nicht, wie ich die Werte dann an das Kommando übergeben kann und das Ergebnis in die CSV zurückschreiben kann.

Im Zweifel kann ich die CSV in 2 aufteilen (Pro Befehl eine).

Ich werde hier aktuell nicht "schlauer" und schaffe es nicht etwas brauchbares zu "googeln", da ich hier den Ansatz nicht ganz verstehe :'(

Wie könnte man das hinbekommen?

Vielen Dank und Grüße
Tralveller

Content-ID: 333357

Url: https://administrator.de/contentid/333357

Ausgedruckt am: 22.11.2024 um 06:11 Uhr

TlBERlUS
TlBERlUS 27.03.2017 aktualisiert um 08:27:24 Uhr
Goto Top
Guten Morgen,

versuch mal

$data = Import-Csv Import-Csv 'C:\Temp\Users.csv' -Delimiter ';'  

foreach ($d in $data){
    $d.Hostname
}

Grüße,

Tiberius
132692
132692 27.03.2017 um 08:55:43 Uhr
Goto Top
(Import-Csv 'C:\Temp\Users.csv' -Delimiter ';') | %{  
    $_.'Username_Neu-Ergebnis' = (&'c:\deinbefehl.exe' 'Optionen' $_.'Username_Neu' $_.Hostname 'Optionen')  
    $_.'Username_Alt-Ergebnis' = (&'c:\deinbefehl.exe' 'Optionen' $_.'Username_Alt' $_.Hostname 'Optionen')  
} | export-csv 'C:\Temp\Users.csv' -delimiter ';' -Notype -Encoding UTF8  
Gruß p.
132692
132692 28.03.2017 um 11:04:53 Uhr
Goto Top
Wenn's das dann war, bitte noch einem Haken dran.