Aktivierung der Schattenkopien auf non-CSV clustered Volumes per Powershell in Windows Server 2008 R2
Das Ergebnis einer coolen Initiative eines unserer Kunden ist ein Skript für das Erstellen von Schattenkopien auf non-CSV clustered Volumes.
So konfiguriert man das in der GUI:
Was im Hintergrund passiert:
Und wie man das dann per Powershell konfigurieren kann:
- Variabeln
$diskname = "VolumeName"
$VolumeWmi = gwmi Win32_Volume -Namespace root/cimv2 | ?{ $_.Label -eq $diskname }
$DeviceID = $VolumeWmi.DeviceID.ToUpper().Replace("\\?\VOLUME", "").Replace("\","")
$ResName = "ShadowCopyVolume" + $DeviceID
$ResParams = "\\?\Volume" + $DeviceID + "\\"
- Anlegen der VSS Cluster Resource:
Add-ClusterResource –name $ResName –ResourceType "Volume Shadow Copy Service Task " –group "FileClusterGroup"
- Setzen der private Properties der Cluster VSS Resource:
Get-ClusterResource $ResName | Set-ClusterParameter ApplicationName %systemroot%\system32\vssadmin.exe
Get-ClusterResource $ResName | Set-ClusterParameter ApplicationParams "Create Shadow /AutoRetry=15 /For=$ResParams"
- Dependency setzen auf die entsprechende Cluster Disk:
Set-ClusterResourceDependency $ResName "[Cluster Disk X]"
- VSS Resource starten:
Start-ClusterResource $ResName
Für das erstellen des Schedules per Powershell muss man noch die TriggerArray Eigenschaft setzen.
- Volume Shadow Copy Service Task Private Properties
Referenz:
- das Erstellen der "Volume Shadow Copy Service Task" Ressourcen per cluster.exe ist nicht supported:
Checklist: Installing a Volume Shadow Copy Service Task resource
Standalone Server
Das Aktivieren von Schattenkopien auf Volumes für stand-alone Server
$diskname = "VolumeName"
$VolumeWmi = gwmi Win32_Volume -Namespace root/cimv2 | ?{ $_.Label -eq $diskname }
$DeviceID = $VolumeWmi.DeviceID.ToUpper().Replace("\\?\VOLUME", "").Replace("\","")
$TaskName = "ShadowCopyVolume" + $DeviceID
$TaskFor = "\\?\Volume" + $DeviceID + "\\"
$Task = "%systemroot%\system32\vssadmin.exe Create Shadow /AutoRetry=15 /For=$TaskFor"
Write-Host -foreground green "Task" $TaskName "wird für" $diskname "eingerichtet."
schtasks /create /RU SYSTEM /SC DAILY /ST 03:00 /TN $TaskName /TR $Task /V1
Mehrere Details, Aktivitäten und erweiterte Scripts sind hier zu finden: Shadow Copy Schedule per Script
Oni Sandru
Platforms Core Team