Undo-Transaction
Rollback der aktiven Transaktion.
Syntax
Default (Standard)
Undo-Transaction
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Beschreibung
Das Cmdlet Rückgängig-Transaktion rollt die aktive Transaktion zurück. Wenn Sie eine Transaktion zurücksetzen, werden die Änderungen, die von den Befehlen in der Transaktion vorgenommen wurden, verworfen, und die Daten werden in ihrem ursprünglichen Formular wiederhergestellt.
Wenn die Transaktion mehrere Abonnenten enthält, führt ein Rückgängig-Transaktion- Befehl die gesamte Transaktion für alle Abonnenten zurück.
Transaktionen werden standardmäßig automatisch zurückgesetzt, wenn ein Beliebiger Befehl in der Transaktion einen Fehler generiert. Transaktionen können jedoch mit einer anderen Rollbackeinstellung gestartet werden, und Sie können dieses Cmdlet verwenden, um die aktive Transaktion jederzeit rückgängig zu machen.
Das Cmdlet Rückgängig-Transaktion ist einer der Cmdlets, die das Transaktionsfeature in Windows PowerShell unterstützen. Weitere Informationen finden Sie unter about_Transactions.
Beispiele
Beispiel 1: Zurücksetzen der aktuellen Transaktion
PS C:\> Undo-Transaction
Mit diesem Befehl wird die aktuelle, aktive Transaktion zurückgesetzt.
Beispiel 2: Starten und Zurücksetzen einer Transaktion
PS C:\> cd hkcu:\software
PS HKCU:\Software> Start-Transaction
PS HKCU:\Software> New-Item -Path "ContosoCompany" -UseTransaction
PS HKCU:\Software> Undo-Transaction
In diesem Beispiel wird eine Transaktion gestartet und anschließend zurückgesetzt. Daher werden keine Änderungen an der Registrierung vorgenommen.
Beispiel 3: Zurücksetzen einer Transaktion für alle Abonnenten
PS C:\> cd hkcu:\software
PS HKCU:\Software> Start-Transaction
PS HKCU:\Software> New-Item -Path "ContosoCompany" -UseTransaction
PS HKCU:\Software> Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- -----
Error 1 Active
PS HKCU:\Software> Start-Transaction
PS HKCU:\Software> Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- -----
Error 2 Active
PS HKCU:\Software> Undo-Transaction
PS HKCU:\Software> Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- -----
Error 0 RolledBack
In diesem Beispiel wird veranschaulicht, dass bei einem Rollback eines Abonnenten einer Transaktion die gesamte Transaktion für alle Abonnenten zurückgesetzt wird.
Der erste Befehl ändert den Speicherort in den HKCU:\Software-Registrierungsschlüssel.
Der zweite Befehl startet eine Transaktion.
Der dritte Befehl verwendet das Cmdlet New-Item, um einen neuen Registrierungsschlüssel zu erstellen. Der Befehl verwendet den UseTransaction Parameter, um die Änderung in die Transaktion einzuschließen.
Der vierte Befehl verwendet das Cmdlet Get-Transaction, um die aktive Transaktion abzurufen. Beachten Sie, dass der Status "Aktiv" ist und die Anzahl der Abonnenten 1 ist.
Der fünfte Befehl verwendet den Befehl Start-Transaction erneut. In der Regel tritt das Starten einer Transaktion auf, während eine andere Transaktion ausgeführt wird, wenn ein Skript, das von der Haupttransaktion verwendet wird, seine eigene vollständige Transaktion enthält. Dieses Beispiel wird interaktiv ausgeführt, sodass Sie es in Phasen untersuchen können. Wenn Sie einen Befehl "Starttransaktion" ausführen, während eine andere Transaktion ausgeführt wird, werden die Befehle als neuer Abonnent mit der vorhandenen Transaktion verknüpft, und die Anzahl der Abonnenten wird erhöht.
Der sechste Befehl verwendet das Cmdlet Get-Transaction, um die aktive Transaktion abzurufen. Beachten Sie, dass die Anzahl der Abonnenten jetzt 2 ist.
Der siebte Befehl verwendet Rückgängig-Transaktion zum Zurücksetzen der Transaktion. Dieser Befehl gibt keine Objekte zurück.
Der letzte Befehl ist ein Get-Transaction--Befehl, der die aktive oder in diesem Fall die zuletzt aktive Transaktion abruft. Die Ergebnisse zeigen, dass die Transaktion zurückgesetzt wird und dass die Anzahl der Abonnenten 0 ist und zeigt, dass die Transaktion für alle Abonnenten zurückgesetzt wurde.
Parameter
-Confirm
Fordert Sie zur Bestätigung auf, bevor Sie das Cmdlet ausführen.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | vgl |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-WhatIf
Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Wi |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Eingaben
None
Eingaben können nicht an dieses Cmdlet weitergereicht werden.
Ausgaben
None
Dieses Cmdlet gibt keine Ausgabe zurück.
Hinweise
Sie können kein Rollback für eine Transaktion ausführen, die zugesichert wurde.
Sie können keine andere Transaktion als die aktive Transaktion zurücksetzen. Um ein Rollback einer anderen unabhängigen Transaktion durchzuführen, müssen Sie die aktive Transaktion zuerst übernehmen oder zurücksetzen.
Das Rollback der Transaktion beendet die Transaktion. Um eine Transaktion erneut zu verwenden, müssen Sie eine neue Transaktion starten.