Methode zum Einrichten von Volume Shadow Copies auf dem Server Core

7

Gibt es eine offensichtliche Methode, die ich nicht finde, um die regelmäßige Erstellung von Schattenkopien für ein bestimmtes Laufwerk auf einem System unter Windows ohne GUI einzurichten?

Soweit ich weiß, werden beim Aufrufen der Registerkarte "Schattenkopien" der Festplatteneigenschaften und Klicken auf die Schaltfläche "Aktivieren" im Grunde genommen nur einige geplante Aufgaben erstellt. Diese geplanten Aufgaben scheinen eine Art GUID zu verwenden, die für jedes Volume eindeutig ist. Das ist also nichts, was ich mit einer Gruppenrichtlinie leicht machen könnte.

Es muss eine einfache Methode geben, um Schattenkopien über die Befehlszeile zu aktivieren, oder?

Zoredache
quelle

Antworten:

7

Sie würden denken, das sollte einfach sein, nicht wahr? Du liegst falsch. Es ist nicht.

Schattenkopien freigegebener Ordner sind in allen Editionen von Windows Server 2008 R2 verfügbar. Die Benutzeroberfläche ist jedoch für die Server Core-Installationsoption nicht verfügbar. Um Schattenkopien für Computer mit einer Server Core-Installation zu erstellen, müssen Sie diese Funktion von einem anderen Computer aus remote verwalten .

Wenn es nicht in Frage kommt, sehen Sie sich diesen Thread an, in dem sie versuchen, es auf die harte Tour zu versuchen . Ich liebe es, Dinge zu automatisieren, aber in diesem Fall ist es meiner Meinung nach viel aufwändiger, als zunächst nur die GUI zu verwenden.

HopelessN00b
quelle
Soweit ich weiß, funktioniert die Methode zur Remote-Konfiguration unter Windows 7 oder 8.1 Enterprise mit den Remote-Admin-Tools nicht remote. Dies scheint nur mit einer Windows Server-Version von mmc zu funktionieren.
Zoredache
@ Zoredache Ich sehe das. Beim Einchecken selbst habe ich festgestellt, dass auf Server-Betriebssystemen vssadminein Create ShadowBefehl vorhanden ist, der möglicherweise das tut, wonach Sie suchen.
HopelessN00b
3

Anstatt die Einstellung remote zu konfigurieren, können Sie einfach eine geplante Aufgabe über Gruppenrichtlinien erstellen. Wie Sie bereits erwähnt haben, verwendet die während der normalen Methode erstellte Aufgabe eine Volume-ID. seine Aktion sieht ungefähr so ​​aus:

vssadmin.exe Create Shadow /AutoRetry=15 /For=\\?\Volume{f9d9bfa1-f506-f24f-f54f-fe6ef47fd6f4}\

Die Herausforderung für Sie wäre natürlich, ein Gruppenrichtlinienobjekt zu erstellen, das für alle Computer funktioniert.

Ich schlage vor, dass Ihr Zeitplan ein kleines Powershell-Snippet ist, das die Volume-ID findet und denselben Befehl aufruft.

Ich gehe davon aus, dass Sie dies für das Systemlaufwerk tun möchten. In diesem Fall sollte Code wie dieser unter PowerShell 2.0+ funktionieren:

$volID = Get-WmiObject Win32_Volume | Where-Object { $_.DriveLetter -ieq $env:SYSTEMDRIVE } | Select-Object -ExpandProperty DeviceID
Start-Process 'vssadmin.exe' -ArgumentList "Create Shadow /AutoRetry=15 /For=$volID" -Wait

Dies wird hier als 2 Zeilen angezeigt, damit Sie leichter sehen können, was los ist. Wenn Sie jedoch beabsichtigen, Ihre Aufgabe ohne eine externe Skriptdatei aufzurufen (was die Sache komplizieren würde), müssen Sie alles in einer Zeile haben. Sie können die Zeilen durch ein Semikolon trennen. Sie können einfach die gesamte Zeile zum Abrufen der Volume-ID in die Zeichenfolge mit $()usw. einbetten .

Sie können auch den Powershell- -EncodedCommandParameter verwenden, um mit Zitaten umzugehen. Auf diese Weise haben Sie ein gut lesbares mehrzeiliges Skript, mit dem Sie irgendwo auf einer Freigabe sitzen können. Sie codieren dieses Skript mit base64 und übergeben dann das gesamte Objekt an Powershell -EncodedCommand.

Ich kann diese Optionen bei Bedarf erweitern, vorausgesetzt, dieser Code entspricht Ihren Anforderungen.

Briantist
quelle
1

Dies ist, was ich in PowerShell verwende . Es ist ein Link zu meiner Seite, aber es sieht viel besser aus als hier eingefügt.

#Enable Volume Shadow copy
clear
$Continue = Read-Host "Enable Volume Shadowcopy (Y/N)?"
while("Y","N" -notcontains $Continue){$Continue = Read-Host "Enable Volume Shadowcopy (Y/N)?"}
if ($Continue -eq "Y") {
#Enable Shadows
vssadmin add shadowstorage /for=C: /on=C:  /maxsize=8128MB
vssadmin add shadowstorage /for=D: /on=D:  /maxsize=8128MB
#Create Shadows
vssadmin create shadow /for=C:
vssadmin create shadow /for=D:
#Set Shadow Copy Scheduled Task for C: AM
$Action=new-scheduledtaskaction -execute "c:\windows\system32\vssadmin.exe" -Argument "create shadow /for=C:"
$Trigger=new-scheduledtasktrigger -daily -at 6:00AM
Register-ScheduledTask -TaskName ShadowCopyC_AM -Trigger $Trigger -Action $Action -Description "ShadowCopyC_AM"
#Set Shadow Copy Scheduled Task for C: PM
$Action=new-scheduledtaskaction -execute "c:\windows\system32\vssadmin.exe" -Argument "create shadow /for=C:"
$Trigger=new-scheduledtasktrigger -daily -at 6:00PM
Register-ScheduledTask -TaskName ShadowCopyC_PM -Trigger $Trigger -Action $Action -Description "ShadowCopyC_PM"
#Set Shadow Copy Scheduled Task for D: AM
$Action=new-scheduledtaskaction -execute "c:\windows\system32\vssadmin.exe" -Argument "create shadow /for=D:"
$Trigger=new-scheduledtasktrigger -daily -at 7:00AM
Register-ScheduledTask -TaskName ShadowCopyD_AM -Trigger $Trigger -Action $Action -Description "ShadowCopyD_AM"
#Set Shadow Copy Scheduled Task for D: PM
$Action=new-scheduledtaskaction -execute "c:\windows\system32\vssadmin.exe" -Argument "create shadow /for=D:"
$Trigger=new-scheduledtasktrigger -daily -at 7:00PM
Register-ScheduledTask -TaskName ShadowCopyD_PM -Trigger $Trigger -Action $Action -Description "ShadowCopyD_PM"
}
Dan Rhodes
quelle
Schlagen Sie vor, das erste Mal in Ihrem Leben einzurücken.
Peterh - Wiedereinsetzung Monica
0

Mein Hauptproblem ist wirklich, dass Windows 7.0, 8.1 keine Schattenkopien auf einem Remote-System konfigurieren kann, selbst wenn die RSAT-Tools installiert sind.

Die Remote-GUI-Methoden sind jetzt in Ordnung, da mir klar wird, dass ich das Tool vom Windows-Server ausführen muss. Die verschiedenen Skript- und Powershell-Methoden, um dies zu erreichen, würden funktionieren, aber das habe ich in den meisten Situationen nicht wirklich benötigt.

Zoredache
quelle
Bitte verwenden Sie den Bearbeitungslink für Ihre Frage, um zusätzliche Informationen hinzuzufügen. Die Schaltfläche Antwort beantworten sollte nur für vollständige Antworten auf die Frage verwendet werden.
Andrew Schulman
Die 'Antwort' war für mich, die GUI von einem Server-Betriebssystem aus zu verwenden, da das Workstation-Betriebssystem diese Funktion nicht enthält und die anderen Optionen schmerzhaft sind. Ja, ich weiß, dass dies meine Frage nicht genau wie geschrieben beantwortet, aber dies ist die 'Antwort', die ich auf das Problem verwendet habe, das ich hatte und das andere für hilfreich hielten.
Zoredache
0

So aktivieren und konfigurieren Sie Schattenkopien freigegebener Ordner

1.Öffnen Sie die Computerverwaltung. 2. Klicken Sie in der Konsolenstruktur mit der rechten Maustaste auf Freigegebene Ordner, klicken Sie auf Alle Aufgaben und dann auf Schattenkopien konfigurieren. 3.Klicken Sie auf das Volume, auf dem Sie Schattenkopien freigegebener Ordner aktivieren möchten, und klicken Sie dann auf Aktivieren. 4.Um Änderungen am Standardzeitplan und Speicherbereich vorzunehmen, klicken Sie auf Einstellungen.

hier zu finden http://itsimple.info/?p=458

user485573
quelle
Ich denke, Sie haben vielleicht den Punkt der Frage verpasst. Dies ist für den 'Server Core'. Es gibt lokal keine 'Computerverwaltung' mmc. Und das Problem, das sich letztendlich herausstellte, ist, dass die "VSS" -Optionen nicht unter Windows 7 / 8.1 / 10 angezeigt werden.
Zoredache