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, 516 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:
01.
# https://www.administrator.de/forum/%C3%9Cberpr%C3%BCfen-sd-karte-laufwerk-309121.html#comment-1114968
02.

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

11.
Get-EventSubscriber | Unregister-Event -Force
12.
Register-WmiEvent -Query "Select * From __InstanceCreationEvent Within 1 where TargetInstance isa 'Win32_LogicalDisk' and TargetInstance.DriveType = 2" -SourceIdentifier 'RemovableDetector' -Action {
13.
	Get-EventSubscriber | Unregister-Event -Force
14.
	
15.
	$name = $Event.SourceEventArgs.NewEvent.TargetInstance.VolumeName
16.
	$drive = $Event.SourceEventArgs.NewEvent.TargetInstance.DeviceID
17.
	
18.
	write-host "Wechselmedium '${name}' erkannt." -F Green
19.
	
20.
	$volume = "USB STICK"
21.
	$target = "C:\Backup-USB_STICK"
22.
	if ($name -eq $volume) {
23.
		write-host "Dateien von ${drive} nach ${target} kopieren ..." -F Green
24.
		CopyFolder $drive $target
25.
	}
26.
} | out-null
27.
cls
28.
write-host "Warten auf Wechselmedium ..." -F Green
29.
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
01.
write-host "Dateien von ${drive} nach ${target} kopieren ..." -F Green
... und dann ist Schluss.

Die Ausgabe ist:
01.
Warten auf Wechselmedium ...
02.
Wechselmedium 'USB STICK' erkannt.
03.
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
Outlook & Mail

Outlook 2016 stürzt ab, wenn man ein (at)- Zeichen im Text einer neuen E-Mail schreibt

Tipp von Enriqe vor 11 StundenOutlook & Mail4 Kommentare

Bei uns in der Firma häuften sich die Fälle, bei denen sich Outlook kommentarlos verabschiedet, wenn man ein - ...

Google Android

Google sperrt Android-Updates und den Play Store für Huawei

Information von Deepsys vor 1 TagGoogle Android8 Kommentare

Das finde ich schon ein starkes Stück, Trump der Welt Diktator. So kann man mit einem Dekret mal eben ...

Windows 7

Südkoreas Regierung setzt auf Linux, um Windows 7 Clients abzulösen

Information von kgborn vor 1 TagWindows 74 Kommentare

Kleiner Infosplitter zum Wochenanfang: Während München (LiMux) und die niedersächsische Finanzverwaltung von Linux auf einen Windows 10-Client (und Office) ...

Internet
Big Brother is Watching You
Information von transocean vor 2 TagenInternet1 Kommentar

Moin, die Datenkrake Google fischt Informationen über Einkäufe ab, die GMail Nutzer im Netz tätigen. Gruß Uwe

Heiß diskutierte Inhalte
Windows Server
Passwortänderung an RODC möglich?
Frage von DexthaWindows Server23 Kommentare

Hallo, ich habe einen RODC, auf welchen ich über ldaps (Web-Seite mit php7) Passwortänderungen durchführen möchte. Ist das grundsätzlich ...

DNS
DNS fragt falsche ip zuerst ab
gelöst Frage von recoldDNS19 Kommentare

Hallo zusammen, wollte mal fragen, was mit meiner DNS falsch ist? der A eintrag 88.48.118.88 sollte auf den ts3 ...

Windows 10
Windows am MAC
gelöst Frage von LeeX01Windows 1019 Kommentare

Guten Abend zusammen, ich habe gerade ein Macbook Pro vor mir welches ich mit einem Windows 10 to go ...

Windows Server
RDP als Citrix Alternative
gelöst Frage von samreinWindows Server16 Kommentare

Hallo zusammen, ich bin neu hier und das ist mein erster Beitrag. Ich bin Einzeladmin und wir setzen bei ...