notfall_backup_doc01.ps1
Neu erstellt.
This commit is contained in:
parent
5260ed683b
commit
9a25375237
59
Backup/notfall_backup_doc01.ps1
Normal file
59
Backup/notfall_backup_doc01.ps1
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
# Erstellt am 18.02.2025 - Alin Sennewald - IN-AP
|
||||||
|
# Backup läuft in folgenden Monaten: Januar, März, Mai, Juli, September, November in den Ordner: Notfalldoku01
|
||||||
|
|
||||||
|
# Die Zeile 8 und 9 muss nur einmal auf den Rechner mit dem User der das Script ausführt werden.
|
||||||
|
# Damit das Passwort mit der Maschine und dem User in das Verzeichnis Temp als Securestring abgelegt wird.
|
||||||
|
# Danach Bitte die Zeile deactivieren.
|
||||||
|
|
||||||
|
# $Passwort = Read-Host "Geben Sie das Passwort ein" -AsSecureString
|
||||||
|
# $Passwort | ConvertFrom-SecureString | Out-File "C:\Temp\cred.txt"
|
||||||
|
|
||||||
|
# Benutzername für das Share
|
||||||
|
$Username = "10.253.206.200\controlm"
|
||||||
|
|
||||||
|
# Ordnername
|
||||||
|
$Ordnername = "Notfalldoku01"
|
||||||
|
|
||||||
|
if (Get-PSDrive -Name $Ordnername -ErrorAction SilentlyContinue) {
|
||||||
|
Remove-PSDrive -Name $Ordnername
|
||||||
|
Write-Host "PSDrive $Ordnername entfernt."
|
||||||
|
}
|
||||||
|
|
||||||
|
# Gespeichertes Passwort laden und entschlüsseln SPEICHERORT ANPASSEN
|
||||||
|
$EncryptedPassword = Get-Content "C:\Temp\cred.txt" | ConvertTo-SecureString
|
||||||
|
$Credential = New-Object System.Management.Automation.PSCredential ($Username, $EncryptedPassword)
|
||||||
|
|
||||||
|
New-PSDrive -Name $Ordnername -PSProvider FileSystem -Root "\\10.253.206.200\$Ordnername" -Credential $Credential
|
||||||
|
|
||||||
|
# Liste der Quell- und Zielverzeichnisse für Notfalldoku01 fuer die MOnate 1 / 3 / 5 / 7 / 9 / 11
|
||||||
|
$BackupJobs = @(
|
||||||
|
@{Quelle = "\\xw555.n-ad.n-ergie\Betrieb$\Betrieb"; Ziel = "\\10.253.206.200\$Ordnername\Betrieb"}
|
||||||
|
@{Quelle = "\\xw555.n-ad.n-ergie\Betrieb$\Mitarbeiter"; Ziel = "\\10.53.206.200\$Ordnername\Mitarbeiter"}
|
||||||
|
@{Quelle = "\\xw555.n-ad.n-ergie\Doku IT-ER"; Ziel = "\\10.253.206.200\$Ordnername\Doku IT-ER"}
|
||||||
|
@{Quelle = "\\xw555.n-ad.n-ergie\Doku IT-IN"; Ziel = "\\10.253.206.200\$Ordnername\Doku IT-IN"}
|
||||||
|
@{Quelle = "\\xw555.n-ad.n-ergie\Doku IT-PA"; Ziel = "\\10.253.206.200\$Ordnername\Doku IT-PA"}
|
||||||
|
)
|
||||||
|
|
||||||
|
# Robocopy Parameter
|
||||||
|
$RobocopyParams = "/R:1 /W:3 /E /PURGE /NP /XD"
|
||||||
|
|
||||||
|
# Starte Backup-Prozess
|
||||||
|
foreach ($Job in $BackupJobs) {
|
||||||
|
$Quelle = $Job.Quelle
|
||||||
|
$Ziel = $Job.Ziel
|
||||||
|
|
||||||
|
# Robocopy ausführen
|
||||||
|
$RobocopyCmd = "robocopy `"$Quelle`" `"$Ziel`" $RobocopyParams"
|
||||||
|
$Result = Invoke-Expression -Command $RobocopyCmd
|
||||||
|
|
||||||
|
# Erfolg oder Fehler prüfen
|
||||||
|
if ($LASTEXITCODE -lt 8) {
|
||||||
|
$Status = "Backup erfolgreich"
|
||||||
|
} else {
|
||||||
|
$Status = "Backup fehlgeschlagen (Fehlercode: $LASTEXITCODE)"
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
# Nach dem Backup den PSDrive wieder entfernen
|
||||||
|
Remove-PSDrive -Name "Notfalldoku01"
|
||||||
Loading…
Reference in New Issue
Block a user