Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWünsch Dir wasWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Powershell Dateien archivieren und im LogSpeichern

Mitglied: HAinsane

HAinsane (Level 1) - Jetzt verbinden

30.06.2020 um 11:19 Uhr, 208 Aufrufe, 15 Kommentare, 2 Danke

Hallo zusammen,

bei uns werden auf einem Fileserver automatisch Ergebnisse der Produktion in verschiedenen Files abgelegt. Die entsprechenden Verzeichnisse platzen langsam aus allen nähten und ich habe versucht mit robocopy alle Dateien die älter als 30 Tage sind wegzusichern in ein Archivordner. Allerdings archiviert mir der Robocopy Job auch Ordner die nicht genutzt werden, was bei Maschinenreparaturen durchaus mal vorkommt. Gab jetzt schon mehrfach Probleme. Jetzt wollte ich es eleganter über die Powershell lösen und habe mir folgendes Script zusammen gesucht

Jetzt habe ich das Problem das ganze in ein Log zu bekommen. Mit Out-file bekomme ich immer Fehlermeldungen wenn ich $logfile angebe, genauso wenn ich mit > $logfile arbeite.

Ich komme gerade nicht weiter, ich möchte nur eine Datei haben, wo ich nachvollziehen kann, wann er welche Dateien verschoben hat.
Mitglied: emeriks
30.06.2020 um 13:52 Uhr
Hi,
existiert C:\Temp denn überhaupt und hat der ausführende Benutzer dort Schreibrechte?

E.
Bitte warten ..
Mitglied: TK1987
30.06.2020, aktualisiert um 15:15 Uhr
Moin,

move-item hat bei erfolgreicher Ausführung keine Ausgabe, diese musst du dir also selbst basteln.
Z.B.:
Gruß Thomas


PS: Bitte zukünftig auf die richtige Forenkategorie (in diesem Fall "Batch & Shell") achten.
Bitte warten ..
Mitglied: SlainteMhath
30.06.2020, aktualisiert um 15:34 Uhr
Moin,

und die Fehlermeldung die erzeugt wird sollen wir nun erraten?! :D

Nebenbei:
Zeile 9: Das "Get-Date.AddDays(-1)" solltest nicht in der Schleife machen, sonst wird das pro File und Ordner einmal ausgeführt
Zeile 10+11: können ersatzlos gestrichen werden (was versuchst du da zu tun??)

lg,
Slainte
Bitte warten ..
Mitglied: emeriks
30.06.2020, aktualisiert um 15:40 Uhr
Zitat von SlainteMhath:
Zeile 10+11: können ersatzlos gestrichen werden (was versuchst du da zu tun??)
Den Zielordner bestimmen. Das ist schon OK so, wenn man jede Datei einzeln verschiebt.
Wobei man das auch gleich mit .FullName machen könnte.
Bitte warten ..
Mitglied: SlainteMhath
30.06.2020 um 15:46 Uhr
Hm, naja, nachdem nur Einträge verarbeitet werden, die KEINE Verzeichnisse sind, führt ein
Doch immer dazu das $newDir = $targetroot ist, oder nicht?
Und dann wird $_.FullName nach "$newDir\$($_.Name)" verschoben. Würde als Destination auch $targetroot + $_.Name ausreichen

Recht verworrener Code :D
Bitte warten ..
Mitglied: emeriks
30.06.2020 um 15:58 Uhr
Zitat von SlainteMhath:
Hm, naja, nachdem nur Einträge verarbeitet werden, die KEINE Verzeichnisse sind, führt ein
Doch immer dazu das $newDir = $targetroot ist, oder nicht?
Nein. Da er mit "-recurse" arbeitet wird $_.DirectoryName bei untergeordneten Verzeichnissen immer verschieden sein.
Bitte warten ..
Mitglied: SlainteMhath
30.06.2020 um 16:10 Uhr
Ah, das recurse hatte ich überlesen - Ja dann hast du natürlich recht .)
Bitte warten ..
Mitglied: erikro
LÖSUNG 30.06.2020 um 21:01 Uhr
Moin,

gruselig formatiert und wenig perfomant und unflexibel das Ganze.

Das macht, was Du willst.

hth

Erik
Bitte warten ..
Mitglied: HAinsane
01.07.2020 um 09:34 Uhr
Hi Thomas,

vielen Dank für die Antwort. Ich dachte eigentlich dass ich es richtig erstellt hatte, mein Fehler.

Welche Möglichkeiten gibt es dann mit einer Ausgabe zu arbeiten oder wie bastelt man sich eine Ausgabe?
Bitte warten ..
Mitglied: HAinsane
01.07.2020 um 09:35 Uhr
Vielen Dank!!

Ich werde es gleich mal testen und Rückmeldung geben!
Bitte warten ..
Mitglied: TK1987
01.07.2020 um 12:14 Uhr
Zitat von HAinsane:
Welche Möglichkeiten gibt es dann mit einer Ausgabe zu arbeiten oder wie bastelt man sich eine Ausgabe?
Ich hab doch oben ein Beispiel mit einer Ausgabe gepostet.
Bitte warten ..
Mitglied: latavia
01.07.2020, aktualisiert um 12:27 Uhr
Zitat von TK1987:

Zitat von HAinsane:
Welche Möglichkeiten gibt es dann mit einer Ausgabe zu arbeiten oder wie bastelt man sich eine Ausgabe?
Ich hab doch oben ein Beispiel mit einer Ausgabe gepostet.
Ein weiteres Beispiel wie man sowas strukturiert z.B. in eine CSV schreibt, hier nur mal ein Ausschnitt um @erikro 's try catch Variante aufzugreifen

So landet dann auch etwas mehr Info zum Fehler im Log und die Weiterverarbeitung ist leichter.

Oder man loggt sämtliche Infos der Konsole, mit Start-Transcript mit.


Möglichkeiten gibt es ja viele.

https://www.msxfaq.de/code/powershell/pserrhandling.htm
https://www.windowspro.de/script/fehlerbehandlung-powershell-erroraction ...
Bitte warten ..
Mitglied: erikro
01.07.2020 um 12:28 Uhr
Moin,

Zitat von latavia:
So landet dann auch etwas mehr Info zum Fehler im Log und die Weiterverarbeitung ist leichter.

Jo. Da hast Du recht. Ich würde es aber nach jedem Schleifendurchlauf ins Log schreiben. Sonst besteht die Gefahr, dass man kein Log hat, falls das Skript unerwartet abbricht.

Liebe Grüße

Erik
Bitte warten ..
Mitglied: HAinsane
01.07.2020 um 13:16 Uhr
Ich hab jetzt so umgesetzt. Funktioniert fast wunderbar. Allerdings kann er mir auf einen Pfad wegen fehlender Berechtigungen nicht zugreifen.
Powershell gibt mir folgende Ausgabe

Im Log steht aber in der selben Datei
Bitte warten ..
Mitglied: latavia
LÖSUNG 01.07.2020, aktualisiert um 14:08 Uhr
Dann hast du den Parameter -EA Stop oder ausgeschrieben -ErrorAction Stop beim Move-Item Command nicht eingesetzt.
Bitte warten ..
Ähnliche Inhalte
Entwicklung
Powershell - In Datei ersetzen
gelöst Frage von sokraTonisEntwicklung4 Kommentare

Hallo Leute, ich bräuchte mal fix Eure Hilfe zu folgendem: Ich erhalte Dateien mit fortlaufender Nummer: datei_1 datei_2 Der ...

Batch & Shell
Powershell XML Datei aufsplitten
Frage von ITAllrounderBatch & Shell2 Kommentare

Mahlzeit zusammen, ich stehe hier gerade vor einem kleinen PowerShell Dilemma und habe keinen Ansatz. Es geht darum, dass ...

Windows Server
Powershell logfile nach Datei suchen
Frage von krischeuWindows Server2 Kommentare

Hi, ich suche nach einer Möglichkeit, das weggespeicherte Logfile auszulesen und zwar nach Zugriff auf eine bestimmte Datei. Das ...

Batch & Shell
Neuste Datei via PowerShell kopieren
gelöst Frage von kaiuwe28Batch & Shell11 Kommentare

Hallo zusammen, ich hatte mir mit Hilfe der Suche im Forum einen kleinen Code von colinardo rausgesucht und versucht ...

Neue Wissensbeiträge
Router & Routing

FritzOS 7.20 kommt auch auf Deine Fritze (wahrscheinlich)

Information von Visucius vor 5 StundenRouter & Routing

Nachdem ich hier die Hassliebe zu den kleinen Kistchen kenne, sollten wir das nicht zu breit ausdehnen. Ein paar ...

Netzwerke
PfSense und OPNsense Client VPN mit L2TP Protokoll
Anleitung von aqui vor 13 StundenNetzwerke

Allgemeine Einleitung Das folgende VPN Tutorial ist eine Ergänzung zum bestehenden VPN_Client_Tutorial. Es beschreibt ebenfalls die VPN Anbindung von ...

Datenschutz

Berliner Datenschutzbeauftragten prüfen Videokonferenz-SW

Information von Visucius vor 3 TagenDatenschutz2 Kommentare

Eine grüne Ampel erhielten kommerziell bereitgestellte Instanzen der Open-Source-Software Jitsi, etwa von Netways oder sichere-videokonferenz.de. Eine positive Bewertung erhielten ...

LAN, WAN, Wireless
Sophos Central Wireless v2.3.0-6 massive Probleme
Information von Voiper vor 5 TagenLAN, WAN, Wireless

Hallo Zusammen, wenn Ihr Sophos Central nutzt und die neuen APX Accesspoints im Einsatz habt, vermeidet das Update der ...

Heiß diskutierte Inhalte
Firewall
Sophos XG Firewall mit RED 15 verbinden
Frage von roeggiFirewall23 Kommentare

Hallo Zusammen Ich verzweifle gerade an der Konfiguration mit einer RED 15 mit einer XG Firewall. Ich habe das ...

Festplatten, SSD, Raid
Raid5 SAS HDD auf RAID10 SSD ML350 G8
gelöst Frage von DCFan01Festplatten, SSD, Raid19 Kommentare

Hallo Community, ich habe hier bei mir einen HPE ML350G8, mit P440 Raid-Controller und derzeit 4x SAS 10K HDD ...

Video & Streaming
Kaufberatung gesucht: Überwachungskamera
Frage von SarekHLVideo & Streaming17 Kommentare

Hallo zusammen, der Bereich hinter unserer Kirche hat sich zu einem abendlichen Treffpunkt für Jugendliche entwickelt, die dort regelmäßig ...

VB for Applications
VB Script Webseite open
gelöst Frage von MrLabelVB for Applications13 Kommentare

Hallo, ich habe ein VB Script geschrieben zur Anmeldung an einer Webseite. Das läuft auch alles gut soweit - ...