Powershell macht mich wahnsinnig
Hallo Gemeinde,
ich hätte da gerne mal ein Problem.
Kurzinfo: Ich erstelle einen Job mit Robocopy, dessen Output dann per Mail verschickt werden soll.
Läuft auf Win2012 R2
CMD: robocopy Quelle Ziel > RClog.txt
Führe ich das per Hand in einer PS aus, dann habe ich anschließend den Output in der Datei RClog.txt
Mit send-mailmessage -Attachments RClog.txt kann ich das Ganze verschicken, das funzt auch soweit.
Nun möchte ich aber ein Logfile mit allen Aktivitäten auf dem Server erzeugen, nun habe ich ein:
more D:\BackupLog\RClog.txt >> Loggesamt.txt in das script eingefügt.
Jedoch kommt in der Powershell(ISE) NICHTS in die Datei Loggesamt.txt
PS C:\Users\Administrator> more D:\BackupLog\RClog.txt
PS C:\Users\Administrator>
Führe ich das Command in der "echten" Powershell auf der Workstation aus, dann bekomme ich den gewünschten Output:
Z:\ ist ein gemapptes Netzlaufwerk, was auf D: vom Server zeigt. Aus Datenschutzgründen gekürzt.
PS C:\Users\Administrator> more Z:\BackupLog\Loggesamt.txt
ROBOCOPY :: Robustes Dateikopieren f?r Windows
Gestartet: Montag, 25. Januar 2016 02:13:16
Quelle : D:\Test1\XXXXXXX\
Ziel : D:\Test2\XXXXXXX\
Dateien : *.*
Optionen: *.* /S /E /DCOPY:DA /COPY:DAT /PURGE /MIR /R:1000000 /W:30
0 D:\Test1\
5 D:\Test1\
7 D:\Test1\
5 D:\Test1\
1 D:\Test1\
1 D:\Test1\
1 D:\Test1\
1 D:\Test1\
1 D:\Test1\
1 D:\Test1\
2 D:\Test1\
1 D:\Test1\
1 D:\Test1\
3 D:\Test1\
0 D:\Test1\
Insgesamt KopiertsbersprungenKeine sbereinstimmung FEHLER Extras
Verzeich.: 15 0 0 0 0 0
Dateien: 30 0 30 0 0 0
Bytes: 1.40 m 0 1.40 m 0 0 0
Zeiten: 0:00:00 0:00:00 0:00:00 0:00:00
Beendet: Montag, 25. Januar 2016 02:13:17
Wo bitte, mache ich den Fehler ?
Danke und Grüße !
ich hätte da gerne mal ein Problem.
Kurzinfo: Ich erstelle einen Job mit Robocopy, dessen Output dann per Mail verschickt werden soll.
Läuft auf Win2012 R2
CMD: robocopy Quelle Ziel > RClog.txt
Führe ich das per Hand in einer PS aus, dann habe ich anschließend den Output in der Datei RClog.txt
Mit send-mailmessage -Attachments RClog.txt kann ich das Ganze verschicken, das funzt auch soweit.
Nun möchte ich aber ein Logfile mit allen Aktivitäten auf dem Server erzeugen, nun habe ich ein:
more D:\BackupLog\RClog.txt >> Loggesamt.txt in das script eingefügt.
Jedoch kommt in der Powershell(ISE) NICHTS in die Datei Loggesamt.txt
PS C:\Users\Administrator> more D:\BackupLog\RClog.txt
PS C:\Users\Administrator>
Führe ich das Command in der "echten" Powershell auf der Workstation aus, dann bekomme ich den gewünschten Output:
Z:\ ist ein gemapptes Netzlaufwerk, was auf D: vom Server zeigt. Aus Datenschutzgründen gekürzt.
PS C:\Users\Administrator> more Z:\BackupLog\Loggesamt.txt
ROBOCOPY :: Robustes Dateikopieren f?r Windows
Gestartet: Montag, 25. Januar 2016 02:13:16
Quelle : D:\Test1\XXXXXXX\
Ziel : D:\Test2\XXXXXXX\
Dateien : *.*
Optionen: *.* /S /E /DCOPY:DA /COPY:DAT /PURGE /MIR /R:1000000 /W:30
0 D:\Test1\
5 D:\Test1\
7 D:\Test1\
5 D:\Test1\
1 D:\Test1\
1 D:\Test1\
1 D:\Test1\
1 D:\Test1\
1 D:\Test1\
1 D:\Test1\
2 D:\Test1\
1 D:\Test1\
1 D:\Test1\
3 D:\Test1\
0 D:\Test1\
Insgesamt KopiertsbersprungenKeine sbereinstimmung FEHLER Extras
Verzeich.: 15 0 0 0 0 0
Dateien: 30 0 30 0 0 0
Bytes: 1.40 m 0 1.40 m 0 0 0
Zeiten: 0:00:00 0:00:00 0:00:00 0:00:00
Beendet: Montag, 25. Januar 2016 02:13:17
Wo bitte, mache ich den Fehler ?
Danke und Grüße !
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 294118
Url: https://administrator.de/forum/powershell-macht-mich-wahnsinnig-294118.html
Ausgedruckt am: 07.04.2025 um 05:04 Uhr
14 Kommentare
Neuester Kommentar
Guten Morgen,
Grüße,
Tiberius
ich hätte da gerne mal ein Problem. 
du hättest gerne eins?Kurzinfo: Ich erstelle einen Job mit Robocopy, dessen Output dann per Mail verschickt werden soll.
Ok, sollte machbar seinCMD: robocopy Quelle Ziel > RClog.txt
Warum in der CMD?Nun möchte ich aber ein Logfile mit allen Aktivitäten auf dem Server erzeugen
Heißt das du willst den Inhalt aller erzeugten txt-Dateien versenden?more D:\BackupLog\RClog.txt >> Loggesamt.txt in das script eingefügt.
was soll das "more" machen?Jedoch kommt in der Powershell(ISE) NICHTS in die Datei Loggesamt.txt 
PS C:\Users\Administrator> more D:\BackupLog\RClog.txt
PS C:\Users\Administrator>
Führe ich das Command in der "echten" Powershell auf der Workstation aus, dann bekomme ich den gewünschten Output:
Z:\ ist ein gemapptes Netzlaufwerk, was auf D: vom Server zeigt. Aus Datenschutzgründen gekürzt.
PS C:\Users\Administrator> more D:\BackupLog\RClog.txt
PS C:\Users\Administrator>
Führe ich das Command in der "echten" Powershell auf der Workstation aus, dann bekomme ich den gewünschten Output:
Z:\ ist ein gemapptes Netzlaufwerk, was auf D: vom Server zeigt. Aus Datenschutzgründen gekürzt.
Wo bitte, mache ich den Fehler ?
Das kann man dir besser sagen, wenn du dein Skript zusammenhängend und mit Code-Tags postest.Grüße,
Tiberius

Moin.
Du solltest dir mal die entsprechenden Powershell-CMDLets ansehen:
oder
usw.
Gruß jodel32
more D:\BackupLog\RClog.txt >> Loggesamt.txt in das script eingefügt.
Das kommt davon wenn man in der modernen Powershell noch an den alten DOS-Leichen fest hält.Du solltest dir mal die entsprechenden Powershell-CMDLets ansehen:
gc 'D:\BackupLog\RClog.txt' | out-file 'Loggesamt.txt' -Append
gc 'D:\BackupLog\RClog.txt' | Add-Content 'Loggesamt.txt'
Gruß jodel32

Hatten wir vor kurzem erst hier
Robocopy Logs bearbeiten mit PowerShell
Robocopy Logs bearbeiten mit PowerShell

gc 'c:\datei.log' -tail 10
gc 'c:\datei.log' | select -last 10
Da kannst du aber auch schön mit den Robocopy-Parametern steuern was ausgegeben wird....
Hiermit z.B. wird von Robocopy nur die Zusammenfassung am Ende ausgegeben
robocopy C:\quelle C:\ziel /E /NP /NC /NS /NDL /NFL /NJH

Zitat von @Henere:
Naja, Suchen und ersetzen, aber das ist nicht das, was ich hätte haben wollen.
Danke Dir tropsdem.
Mit Regex geht alles Naja, Suchen und ersetzen, aber das ist nicht das, was ich hätte haben wollen.
Danke Dir tropsdem.
Ich würde vermutlich eher mit Creationtime arbeiten.
$path = "c:\test"
$files = gci $path
$datetoday = get-date
foreach ($f in $files) {
$f.CreationTime
}

gci 'c:\ordner\*.log' | ?{$_.CreationTime.Date -eq (Get-Date).Date} | %{gc $_.Fullname | add-content 'c:\backuplog.txt'}
Wie wärs mal mit nem Powershell Kurs ?
p.s. Thread ist gelöst also bitte behandele ihn auch so. Danke.