Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Powershell - Verschieben von wichtigen Dateien über ein Netzwerk

Frage Entwicklung Batch & Shell

Mitglied: raven16

raven16 (Level 1) - Jetzt verbinden

10.12.2012, aktualisiert 11:02 Uhr, 3966 Aufrufe, 3 Kommentare

Diese Frage richtet sich an Mitglieder, die schon ein wenig Erfahrungen im Bereich Kopieren/Verschieben über das Netzwerk mit Powershell sammeln konnten.

Hallo zusammen,

ich benutze im Augenblick ein eigenes PS-Skript, welches im Fehlerfall eines Datensicherungsdienstes wichtige Dateien zu Datensicherung einer Oracle-Datenbank auf eine Datenablage, die sich im Netzwerk befindet, auslagern soll.

Derzeit benutze ich nicht Move-Item, um die Datei zu kopieren, sondern mache einen Umweg:
01.
#Kopiervorgang 
02.
Copy-Item -LiteralPath ($location + $logfile[$s]) -Destination $destination 	 
03.
logging ("Kopiere " + $logfile[$s] + " auf Datenablage") 
04.
if(Test-Path -Path ($destination + $logfile[$s])) 
05.
06.
	#Löschvorgang 
07.
	Remove-Item -LiteralPath ($location + $logfile[$s]) 
08.
	logging ("Lösche " + $logfile[$s] + " auf Oracle-Instanz") 
09.
	$s ++ 
10.
	 
11.
12.
else 
13.
14.
	echo (("Fehler beim kopieren von ") + ($location + $logfile[$s]) + " auf Datenablage") 
15.
	logging ("Fehler beim kopieren von " + $logfile[$s] + " auf Datenablage") 
16.
}
Ich kopiere zuerst die Datei auf die Datenablage, prüfe danach ob die Datei dort vorhanden ist und lösche danach die Datei.

Meine Frage dazu ist, ob meine Variante so sicher ist oder ob ich, um einen sicheren "Move-" bzw. Kopiervorgang zu realisieren, nicht doch besser eine andere Methode verwenden sollte.

Wichtig ist mir, dass keine Datei beim Kopieren oder Verschieben über das Netzwerk verloren gehen oder beschädigt werden darf, weil sonst eine Datenwiederherstellung der Oracle-Datenbank nicht mehr möglich ist.

Vielen Dank.
Mitglied: Hitman4021
10.12.2012 um 10:49 Uhr
Hallo,

mach vor und nach dem kopieren auf jede Datei einen MD5-Hash und vergleiche diese. Danach weißt du ob die Datei beschädigt wurde oder nicht. In deinem Fall prüfst du ja nur ob die Datei vorhanden ist oder nicht.

PS.: Bitte benutz die < code > < /code > Tags (ohne Leerzeichen).

Gruß
Bitte warten ..
Mitglied: raven16
10.12.2012 um 11:01 Uhr
Danke.
Die < code > Funktion habe ich in der Formatierungshilfe irgendwie nicht auf Anhieb finden können.

Das ich die Datei nur auf vorhandensein prüfe stimmt wohl.
Ein MD5-Hash zu Überprüfung ist ein guter Ansatz, danke dafür.
Werde ich definitiv noch ausprobieren und die Lösung hier noch veröffentlichen oder mich melden, wenn ich noch Probleme damit bekomme.
Bitte warten ..
Mitglied: raven16
10.12.2012 um 13:52 Uhr
01.
###MD5-Checksumme 
02.
function md5-checksum([String]$md5Path) 
03.
04.
	$file = $md5Path 
05.
	$algo = [System.Security.Cryptography.HashAlgorithm]::Create("MD5") 
06.
	$stream = New-Object System.IO.FileStream($file, [System.IO.FileMode]::Open) 
07.
	$md5StringBuilder = New-Object System.Text.StringBuilder 
08.
	$algo.ComputeHash($stream) | % { [void] $md5StringBuilder.Append($_.ToString("x2")) } 
09.
	$md5StringBuilder.ToString() 
10.
	$md5Hash = $stream.Dispose() 
11.
}
Mit dieser Funktion wird aus dem Übergabeparameter ein MD5-Hash erzeugt und in $md5Hash gespeichert.
Das klappt somit ganz gut.
Nur leider würde ich auch gerne verstehen, was dort geschieht. Ich kann mir diese Zeilen noch nicht ganz genau erklären, weil ich dafür dann doch noch zu wenig Kenntnisse in PS habe:
01.
$algo = [System.Security.Cryptography.HashAlgorithm]::Create("MD5") 
02.
$stream = New-Object System.IO.FileStream($file, [System.IO.FileMode]::Open) 
03.
$md5StringBuilder = New-Object System.Text.StringBuilder 
04.
$algo.ComputeHash($stream) | % { [void] $md5StringBuilder.Append($_.ToString("x2")) }
Wäre schön, wenn mir jemand, der versteht, was dort genau umgesetzt wird, Zeile für Zeile mal erklären könnte.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(3)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst PowerShell: Aulesen einer CSV + verschieben von Dateien (6)

Frage von Akeipra zum Thema Batch & Shell ...

Batch & Shell
Verschieben von Dateien in zugehörige Ordner (5)

Frage von vmihaylov zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...