- Učlanjen(a)
- 02.01.2014
- Poruke
- 844
- Poena
- 70
Drugari, dobio sam zadatak da sredim malo powershell kod, ali nisam baš vičan u tome. Potrebno je napraviti skriptu koja radi bekap određenih fajlova, i šalje korisniku obaveštenje na mail. Malo sam guglao, ali ono što sam našao se dosta razlikuje od onoga što sam dobio da prepravim. Nadam se da će neko moći da mi pomogne. Potrebno je pronaći grešku u sledećem kodu :
Script:
#Set-ExecutionPolicy RemoteSigned
# Schritt 1: Variablen-Definition
$Index1 = 0
$SAGen = 7 # Anzahl vorzuhaltender Sicherungen
Start-Sleep -s 1
$SAZielVZ = "\\192.168.99.49\DatensicherungVirtServer\flexword\flexexchange_x_91\" # Netzwerkfreigabe
$SAVZPraefix = "flexexchange" # Systemabbild
$SAZeitstempel = get-date -format "yyyyMMdd_HHmmss" # Zeitstempel erstellen
$SAVZ = $SAZielVZ + $SAVZPraefix + $SAZeitstempel
# Schritt 2: Neues Verzeichnis anlegen
# und die alten Sicherungen bis auf die vorzuhaltenden SA Generationen löschen
#md $SAVZ
New-Item -Path $SAVZ -ItemType directory
$PSFolder = gci $SAZielVZ |? {$_.name -like $SAVZPraefix + "*" } |? {$_.extension -Eq ""} |Sort-Object name -descending
Foreach ($Folder in $PSFolder)
{
# $Folder.name
$Index1++
# Alte Sicherungen, die nicht mehr benötigt werden, wieder löschen.
If ($Index1 -gt $SAGen)
{
Remove-Item $Folder.FullName -recurse
}
}
# Schritt 3: Zu sichernde Systemlaufwerke ermitteln
# Ermitteln der GUID des Boot Volume
$BootVolume = get-wmiobject Win32_Volume -filter "BootVolume='True'"
$ZuSicherndeSL = $BootVolume.DeviceId
# Ermitteln der GUID des System Volume
$SystemVolume = get-wmiobject Win32_Volume -filter "Label='SYSTEM-RESERVIERT' AND BootVolume='False'"
if ([string]$SystemVolume.DeviceId)
{
$ZuSicherndeSL = $ZuSicherndeSL + "," + $SystemVolume.DeviceId
}
# Schritt 4: Systemabbilder erstellen
invoke-expression -command "wbadmin start backup ""-backupTarget:$SAVZ"" -vssfull -quiet -systemState ""-include:$ZuSicherndeSL"" -allCritical"
Script:
#Set-ExecutionPolicy RemoteSigned
# Schritt 1: Variablen-Definition
$Index1 = 0
$SAGen = 7 # Anzahl vorzuhaltender Sicherungen
Start-Sleep -s 1
$SAZielVZ = "\\192.168.99.49\DatensicherungVirtServer\flexword\flexexchange_x_91\" # Netzwerkfreigabe
$SAVZPraefix = "flexexchange" # Systemabbild
$SAZeitstempel = get-date -format "yyyyMMdd_HHmmss" # Zeitstempel erstellen
$SAVZ = $SAZielVZ + $SAVZPraefix + $SAZeitstempel
# Schritt 2: Neues Verzeichnis anlegen
# und die alten Sicherungen bis auf die vorzuhaltenden SA Generationen löschen
#md $SAVZ
New-Item -Path $SAVZ -ItemType directory
$PSFolder = gci $SAZielVZ |? {$_.name -like $SAVZPraefix + "*" } |? {$_.extension -Eq ""} |Sort-Object name -descending
Foreach ($Folder in $PSFolder)
{
# $Folder.name
$Index1++
# Alte Sicherungen, die nicht mehr benötigt werden, wieder löschen.
If ($Index1 -gt $SAGen)
{
Remove-Item $Folder.FullName -recurse
}
}
# Schritt 3: Zu sichernde Systemlaufwerke ermitteln
# Ermitteln der GUID des Boot Volume
$BootVolume = get-wmiobject Win32_Volume -filter "BootVolume='True'"
$ZuSicherndeSL = $BootVolume.DeviceId
# Ermitteln der GUID des System Volume
$SystemVolume = get-wmiobject Win32_Volume -filter "Label='SYSTEM-RESERVIERT' AND BootVolume='False'"
if ([string]$SystemVolume.DeviceId)
{
$ZuSicherndeSL = $ZuSicherndeSL + "," + $SystemVolume.DeviceId
}
# Schritt 4: Systemabbilder erstellen
invoke-expression -command "wbadmin start backup ""-backupTarget:$SAVZ"" -vssfull -quiet -systemState ""-include:$ZuSicherndeSL"" -allCritical"