Wie aktiviere ich Volume Shadow Copy auf einem bestimmten Laufwerk (D :, E:, ...) und richte einen Zeitplan mit Powershell ein?
Ich brauche nur ein paar Hinweise, wie ich anfangen soll.
powershell
vss
Primoz
quelle
quelle
Antworten:
Sie können eine Schattenkopie auf einem bestimmten Laufwerk mithilfe eines WMI-Objekts erstellen, wie im Microsoft-Artikel erläutert .
Das Aktivieren der Volumeschattenkopie auf einem bestimmten Laufwerk (D :, E:, ...) ist zweierlei
quelle
Es dauerte eine Weile, bis dies funktionierte (nachdem ich den einfachen Fehler gefunden hatte, der zum Fehlschlagen führte), und die Funktion ist unvollständig. Ich möchte die Möglichkeit hinzufügen, es auf einem Remotecomputer zu aktivieren, was wahrscheinlich über eine Aufgabe erfolgen muss, die einmal ausgeführt wird. Wenn jemand dies ändert und das hinzufügt, lass es mich wissen!
Obwohl dies funktioniert und nachahmt, was passiert, wenn Sie es über die GUI tun, wird es für dieses Laufwerk weiterhin als deaktiviert angezeigt. Aber wenn Sie es aktivieren, ändert sich nichts! (LOL) Ich vermute, es gibt etwas, das auch in der Registrierung geändert werden muss.
quelle
Nachdem ich ein paar Mal damit rumgespielt hatte, funktionierte es etwas anders (es scheint auch über die GUI richtig zu erscheinen).
Shoutouts zu dieser Seite für ein bisschen Hilfe: https://social.technet.microsoft.com/forums/windowsserver/en-US/fb69840d-5f52-4711-8168-2faa23088233/shadow-copy-schedule-per-script
Der Nachteil bei der Verwendung von schtasks (was diese Seite verwendet) ist, dass Sie, soweit ich sehen kann, nicht mehrere Trigger haben können.
Auch aufgrund der Art und Weise, wie ich Probleme mit der Lösung habe (ich habe ein Bindiff von working / not working xml verwendet), bin ich nicht ganz davon überzeugt, dass die von mir verwendeten Flags optimal sind.
quelle
Einfacher bedeutet, dass Sie die in PowerShell 2 kompatiblen Schtasks verwenden müssen, die in der Benutzeroberfläche angezeigt werden. Bei der Erstellung von $ taskrun müssen Sie möglicherweise mit $ volumeinfo [x] spielen, um das entsprechende Volume zu finden.
Kann die folgenden Argumente entsprechend konfigurieren:
ANMERKUNG: Die Option / TR erfordert das Leerzeichen am Ende. Wenn sie nicht vorhanden ist, wird der letzte Backslash durch ein doppeltes Anführungszeichen ersetzt, wodurch die VSS-Benutzeroberfläche die Aufgabe nicht erkennt.
quelle
Dies ist, was ich in PowerShell verwende . Es ist ein Link zu meiner Seite, aber es sieht viel besser aus als hier eingefügt.
quelle
Die Schattenkopie wird tatsächlich aktiviert, indem Aufgaben erstellt werden, die vssadmin.exe aufrufen.
PowerShell 3.0 verfügt über Cmdlets, mit denen Sie Aufgaben erstellen können. Diese hängen jedoch von Systemaufrufen ab, die erst unter Windows 8 / Windows Server 2012 implementiert wurden. Sie benötigen die folgenden drei Cmdlets, um dies auf PowerShell-Weise auszuführen:
In früheren Windows-Versionen können Sie nur schtasks.exe verwenden.
Allerdings - und hier unterscheidet sich diese Antwort von den anderen - ist das Erstellen einer Schattenkopie-Aufgabe auf diese Weise nicht die richtige Vorgehensweise, da alle Änderungen, die Sie vornehmen, nicht in der GUI angezeigt werden. Aus diesem Grund ist einem nicht beobachtenden Benutzer möglicherweise nicht bekannt, dass die Schattenkopie aktiviert wurde, was dazu führt, dass er eine zweite Instanz davon aktiviert oder Ihre Aufgabe unbemerkt überschreibt (wenn Sie die Namenskonventionen von Windows befolgt haben (VolumeShadowCopy {$ GUID}).
Sie müssen eine über die GUI erstellen (vorzugsweise unter Win7 / Win2008, da neuere Windows-Versionen standardmäßig taskxml 1.2 anstelle der kompatibleren taskxml 1.1 verwenden), die Aufgabe als XML über schtasks exportieren und diese XML programmgesteuert bearbeiten Speichern Sie diese XML als UTF16 und importieren Sie sie. Zum Glück können Sie dies alles über die Befehlszeile erledigen, sobald Sie zu Beginn an der GUI vorbeigekommen sind.
Ich möchte eine Postleitzahl eingeben, aber das, was ich geschrieben habe, ist urheberrechtlich geschützt und ich habe keine Erlaubnis von meinem Arbeitgeber. Ich hoffe, dass der XML-Tipp Ihnen mindestens unzählige Stunden erspart. Ich habe die XML-Lösung gerade auf Hunderten von verwalteten Servern implementiert, und das mit großem Erfolg.
quelle
Vielen Dank an alle, die zu diesem Thread beigetragen haben. Es war hilfreich und hat mir viel Arbeit erspart. Das folgende PowerShell-Skript wurde unter Windows Server 2008 R2 getestet.
Das folgende Beispiel erstellt alle 2 Stunden einen Snapshot zwischen Mo.-Fr. von 08:00 bis 18:00 Uhr auf Band C:
Wenn Sie den Zeitplan ändern möchten, bearbeiten oder ersetzen Sie einfach die Inline-XML-Daten.
Achtung: Keine Gewährleistung. Keine Verantwortung. Bitte testen Sie es in Ihrem eigenen Labor, bevor Sie es in der Produktion einsetzen.
quelle
Das Beste, was ich tun kann, ist, Sie hierher zu führen und auf dieses und jenes hinzuweisen .
Keine der beiden Adressen ist genau das, wonach Sie suchen, aber ich möchte Sie darauf hinweisen, dass Sie jederzeit Schattenkopien erstellen können, da VSS ein Hintergrunddienst ist, der bis zum Aufruf ausgeführt wird.
quelle
Mit dem folgenden Code habe ich genau das bekommen, was ich brauchte. Meine Anforderung war, VSS zu konfigurieren, aber es musste auch in der GUI sichtbar sein. Das wichtigste Element, um es in der Benutzeroberfläche sichtbar zu machen, ist das Hinzufügen der Datenträger-ID zum Namen der geplanten Aufgabe, auf die der Benutzer 261949 hingewiesen hat (das ist etwas seltsam, ehrlich gesagt, ich habe nach einem Registrierungsschlüssel gesucht, aber absolut nichts gefunden.). Am Ende habe ich den folgenden Code erhalten, der meinen Anforderungen entspricht:
Vielen Dank für Ihre nützlichen Informationen!
quelle