Jump to content

Powershell Liste abarbeiten


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Recommended Posts

Hallo zusammen

 

Ich habe folgendes anliegen.

 

Ich habe eine Liste von Computern, also im C:\Temp\pc.txt

 

PC001

PC002

PC003 etc

 

aufjedem dieser PCs befindet sich ebenfalls im C:\Temp die Datei convert.ini, von dieser Datei müssten jeweils die Zeilen die mit Rem beginnen in ein seperates Dokument geschrieben werden(C:\User\Test\Desktop\dok.txt). Also ein Dokument für alle PCs. 

Ich bekomme das einfach nicht hin, dass die PC in der Liste abgearbeitet werden und dann noch in das Dokument geschrieben werden. 

 

Kann mir da jemand helfen?

Link to comment
Das habe ich bis jetzt gemacht und es funktioniert auch soweit, nur weiss ich nicht wie ich das mit der Liste auch noch hinbringe.

 

$filepath=Get-Childitem "c:\Temp\Convert.ini"

$ausgabe="C:\Users\Test\Desktop\dok.txt"

 

foreach($file in $filepath){

foreach($line in (get-content $file.FullName)){

if($line -like 'REM*'){

$server + ';' + $line| Out-File $ausgabe -Append

}

}

}

cls
Link to comment

Danke für die schnelle Antwort

 

Ich habe das jetzt mal so gemacht 

 

 

foreach($rechner in (Get-Content C:\Temp\pc.txt)){
   foreach($line in (Get-Childitem \\$rechner\c$\Temp\Convert.ini)){
 
 
#$filepath=Get-Childitem "c:\Temp\Convert.ini"
$ausgabe="C:\Users\Gar\Desktop\welp.txt"
 
foreach($file in $filepath){
foreach($line in (get-content $file.FullName)){
if($line -like 'REM*LP*'){
$server + ';' + $line| Out-File $ausgabe -Append
}
}
}
}
}
 
 
Jedoch werden nur die Einträge vom lokalen PC eingetragen, wenn ich jetzt z.B drei PCs in der pc.txt liste habe dann werden einfach die Einträge vom lokalen PC dreimal angezeigt, obwohl in den anderen Convert.ini Files etwas anderes steht.
 
Ist in meinem script etwas falsch?
Link to comment

Ja. Du hast viel zu viel drin.

Die Zeile 2 von mir (foreach($line in (Get-Childitem \\$rechner\c$\Temp\Convert.ini)){) holt den Inhalt der Datei vom Client.

 

Du brauchst nur noch $ausgabe="C:\Users\Gar\Desktop\welp.txt" (das vor dem Teil von mir am besten)

und

if($line -like 'REM*LP*'){
$server + ';' + $line| Out-File $ausgabe -Append
und die Klammer zumachen.
Link to comment

Also wenn ich es richtig verstanden habe sollte es nun so aussehen?!

 

$ausgabe="C:\Users\Gar\Desktop\welp.txt"
 
 
foreach($rechner in (Get-Content C:\Temp\pc.txt)){
   foreach($line in (Get-Childitem \\$rechner\c$\Temp\Convert.ini)){
 
 
if($line -like 'REM*LP*'){
$server + ';' + $line| Out-File $ausgabe -Append
 
 
}
}
}
 
Das Problem jetzt es schreibt gar nichts mehr also das file wird gar nicht mehr erstellt
Link to comment

Dann musst du den Fehler suchen.

 

Gib mal zwischen drin Debugmeldungen aus, damit du siehst was passiert.

 

Z.b.:

 

if($line -like 'REM*LP*'){
$server + ';' + $line| Out-File $ausgabe -Append
$line | write-host -foregroundcolor green
}else{
$line | write-host -foregroundcolor red
}
 
oder
nach
foreach($rechner in (Get-Content C:\Temp\pc.txt)){
fügst du
test-path \\$rechner\c$\Temp\Convert.ini
ein, damit du siehst ob die Verbindung zum Client klappt und die Datei existiert.
Link to comment

Steht der PC Name in rot oder grün da? Das sollte nicht sein. Da sollte die Zeile aus der Textdatei stehen.

 

Poste einmal die Ausgabe von:

$rechner = 'Bitte_einen_Rechner_Aus_der_Txt_datei_eintragen'

foreach($line in (Get-Childitem \\$rechner\c$\Temp\Convert.ini)){

if($line -like 'REM*LP*'){
$server + ';' + $line| Out-File $ausgabe -Append
$line | write-host -foregroundcolor green
}else{
$line | write-host -foregroundcolor red
}
}
Link to comment
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...