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 IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Problem mit Powershell Backup-Skript

Mitglied: ahussain

ahussain (Level 1) - Jetzt verbinden

16.12.2017, aktualisiert 11:12 Uhr, 650 Aufrufe, 2 Kommentare, 1 Danke

Hallo allerseits,

ich habe mir ein kleines Backup-Skript geschrieben, welches beim Einstecken eines USB Sticks dessen Inhalte auf die Platte kopiert (also Backup von USB-Stick nach Festplatte).

Grundidee ist, dass beim Einstecken des Sticks das Backup gestartet wird.

Hier das Skript:
# https://www.administrator.de/forum/%C3%9Cberpr%C3%BCfen-sd-karte-laufwerk-309121.html#comment-1114968

function CopyFolder($source, $dest) {
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
	write-host "CopyFolder(${source},${dest})" -F Green
	$Logfile     = "c:\temp\backup-usb-stick-$(get-date -f yyyy-MM-dd_hh-mm-ss).txt"
	Robocopy $source $dest /MIR /TEE /R:2 /LOG:$Logfile | Out-Null
	[Windows.Forms.MessageBox]::Show("Die Dateien wurden von ${source} nach ${dest} gesichert.", "Sicherung", [Windows.Forms.MessageBoxButtons]::OK, [Windows.Forms.MessageBoxIcon]::Information) 
} 

Get-EventSubscriber | Unregister-Event -Force
Register-WmiEvent -Query "Select * From __InstanceCreationEvent Within 1 where TargetInstance isa 'Win32_LogicalDisk' and TargetInstance.DriveType = 2" -SourceIdentifier 'RemovableDetector' -Action {
	Get-EventSubscriber | Unregister-Event -Force
	
	$name = $Event.SourceEventArgs.NewEvent.TargetInstance.VolumeName
	$drive = $Event.SourceEventArgs.NewEvent.TargetInstance.DeviceID
	
	write-host "Wechselmedium '${name}' erkannt." -F Green
	
	$volume = "USB STICK"
	$target = "C:\Backup-USB_STICK"
	if ($name -eq $volume) {
		write-host "Dateien von ${drive} nach ${target} kopieren ..." -F Green
		CopyFolder $drive $target
	}
} | out-null
cls
write-host "Warten auf Wechselmedium ..." -F Green
while($true){sleep 1}
Der USB-Stick wird vom Skript erkannt. Problem ist, dass die Funktion CopyFolder, welches das eigentliche Backup durchführt, nicht aufgerufen wird. Das Skript läuft bis zum Befehl
write-host "Dateien von ${drive} nach ${target} kopieren ..." -F Green
... und dann ist Schluss.

Die Ausgabe ist:
Warten auf Wechselmedium ...
Wechselmedium 'USB STICK' erkannt.
Dateien von D: nach C:\Backup-USB_STICK kopieren ...
Ich komme da irgendwie nicht weiter - was habe ich übersehen?

Gruß Abid
Mitglied: 134998
LÖSUNG 16.12.2017, aktualisiert um 11:43 Uhr
The action runs in another context (event) which has no knowledge of the function CopyFolder because of scope. You need to declare the function as global for the event to be accessible..

Best regards
Tom
Bitte warten ..
Mitglied: ahussain
16.12.2017 um 12:03 Uhr
Thanks! Now it works...
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell Skript fehlerhaft?
Frage von SpeakerSTBatch & Shell3 Kommentare

Hallo, ich habe mir ein Powershell Skript geschriebe was bisher auch immer funktioniert hat aber unter einem Windows Server ...

Batch & Shell
Powershell CHAT Skript
gelöst Frage von xpxy15Batch & Shell5 Kommentare

Hallo Zusammen Ich möchte gerne ein Skript schreiben. Mit dem man in Lokalen Netz verschlüsselt "chatten" kann. Meine Frage ...

Batch & Shell
Bash Skript Backup
gelöst Frage von DavidScBatch & Shell8 Kommentare

Guten Morgen zusammen, ich habe leider keine Erfahrung im skripten, daher benötige ich eure Hilfe. Systemumfeld und Problem: SLES ...

Windows Server
Powershell Skript Resize Disk
Frage von winlinWindows Server20 Kommentare

Ich habe folgenden Zweizeiler und versuche über einen Task Scheduler meine Disk nach dem ersten Neustart zu "resizen". Leider ...

Neue Wissensbeiträge
Sicherheit
0-day Schwachstelle im Internet Explorer
Information von kgborn vor 1 TagSicherheit

In Microsofts Internet Explorer gibt es eine 0-day Schwachstelle in der Scripting Engine, die faktisch alle Browser- und Windows-Versionen ...

Internet

Internet-Speedtest Automatisieren via Befehlszeile, cmd, Bash (Windows, Linux, FreeBSD, Mac)

Tipp von anteNope vor 1 TagInternet3 Kommentare

Also das hier ist irgendwie an mir vorbeigegangen. Einfacher geht es schlicht nicht mehr. Speedtest.cmd Via Aufgabenplanung stündlich oder ...

Administrator.de Feedback

Entwicklertagebuch: Codeblöcke auf unseren Seiten

Information von admtech vor 2 TagenAdministrator.de Feedback8 Kommentare

Hallo Administrator User, Unsere Codeblöcke werden ab sofort anders dargestellt. Die Codeblöcke können nun direkt per Copy&Paste kopiert werden. ...

Humor (lol)
Internet - auch 2020 noch Neuland ?
Erfahrungsbericht von Henere vor 2 TagenHumor (lol)6 Kommentare

Heute eine Mail der Schule meiner Tochter bekommen. Blabla Umweltschutz bla bla siehe Anhang. Dumm nur: Da hab ich ...

Heiß diskutierte Inhalte
Sicherheits-Tools
Passwort Manager mit AD anbindung und dt. Oberfläche
gelöst Frage von sani007Sicherheits-Tools9 Kommentare

Hallo Ich suche kostengünstigen Passwort Manager mit AD-Anbindung mit weboberfläche. Am besten mit VM-Image zur schnellen Installation. Wenn es ...

Webbrowser
Kann Firefox von Google Suche nicht befreien
Frage von RG2525Webbrowser9 Kommentare

Hallo, Das passiert jetzt in letzter Zeit auf mehreren Computern von mir, dass die Google Suche sich nicht ausschalten ...

Windows Userverwaltung
Laptop WAKE ON LAN problem
Frage von WhatEver007Windows Userverwaltung8 Kommentare

Hallo, wie oben beschrieben geht es um wake on lan. Wenn ich auf meinen Netzwerkadapter gehe sehe ich keine ...

Peripheriegeräte
Datenstrom Drucker
Frage von FragefuchsPeripheriegeräte8 Kommentare

Moin, kann mir jemand sagen, wie Computer Daten an einen Drucker weitergeben? Gibt es dafür ein Protokoll oder Format? ...