Undo-Transaction
Hiermee wordt de actieve transactie teruggedraaid.
Syntaxis
Undo-Transaction
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Met de cmdlet Ongedaan maken van transactie wordt de actieve transactie teruggedraaid. Wanneer u een transactie terugdraait, worden de wijzigingen die door de opdrachten in de transactie zijn aangebracht, verwijderd en worden de gegevens teruggezet naar het oorspronkelijke formulier.
Als de transactie meerdere abonnees bevat, wordt de hele transactie voor alle abonnees teruggedraaid door een Ongedaan maken opdracht.
Standaard worden transacties automatisch teruggedraaid als een opdracht in de transactie een fout genereert. Transacties kunnen echter worden gestart met behulp van een andere voorkeur voor terugdraaien en u kunt deze cmdlet gebruiken om de actieve transactie op elk gewenst moment terug te draaien.
De cmdlet Undo Transaction is een van een set cmdlets die ondersteuning bieden voor de transactiefunctie in Windows PowerShell. Zie about_Transactions voor meer informatie.
Voorbeelden
Voorbeeld 1: De huidige transactie terugdraaien
PS C:\> Undo-Transaction
Met deze opdracht wordt de huidige, actieve transactie teruggedraaid.
Voorbeeld 2: Een transactie starten en terugdraaien
PS C:\> cd hkcu:\software
PS HKCU:\Software> Start-Transaction
PS HKCU:\Software> New-Item -Path "ContosoCompany" -UseTransaction
PS HKCU:\Software> Undo-Transaction
In dit voorbeeld wordt een transactie gestart en vervolgens teruggedraaid. Als gevolg hiervan worden er geen wijzigingen aangebracht in het register.
Voorbeeld 3: Een transactie terugdraaien voor alle abonnees
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 dit voorbeeld ziet u dat wanneer een abonnee een transactie terugdraait, de hele transactie voor alle abonnees wordt teruggedraaid.
Met de eerste opdracht wordt de locatie gewijzigd in de REGISTERsleutel HKCU:\Software.
Met de tweede opdracht wordt een transactie gestart.
De derde opdracht maakt gebruik van de New-Item cmdlet om een nieuwe registersleutel te maken. De opdracht gebruikt de parameter UseTransaction om de wijziging in de transactie op te nemen.
De vierde opdracht maakt gebruik van de Get-Transaction cmdlet om de actieve transactie op te halen. U ziet dat de status Actief is en het aantal abonnees 1 is.
De vijfde opdracht maakt opnieuw gebruik van de Start-Transaction opdracht. Normaal gesproken vindt het starten van een transactie plaats terwijl er een andere transactie wordt uitgevoerd wanneer een script dat door de hoofdtransactie wordt gebruikt, een eigen volledige transactie bevat. Dit voorbeeld wordt interactief uitgevoerd, zodat u deze in fasen kunt onderzoeken. Wanneer u een opdracht Start-Transaction uitvoert terwijl een andere transactie wordt uitgevoerd, worden de opdrachten toegevoegd aan de bestaande transactie als een nieuwe abonnee en wordt het aantal abonnees verhoogd.
De zesde opdracht maakt gebruik van de cmdlet Get-Transaction om de actieve transactie op te halen. U ziet dat het aantal abonnees nu 2 is.
De zevende opdracht maakt gebruik van Ongedaan maken om de transactie terug te draaien. Met deze opdracht worden geen objecten geretourneerd.
De laatste opdracht is een get-transaction opdracht die de actieve, of in dit geval de meest recent actieve transactie, krijgt. De resultaten tonen aan dat de transactie wordt teruggedraaid en dat het aantal abonnees 0 is, waarmee wordt aangegeven dat de transactie voor alle abonnees is teruggedraaid.
Parameters
-Confirm
U wordt gevraagd om bevestiging voordat u de cmdlet uitvoert.
Type: | SwitchParameter |
Aliassen: | cf |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-WhatIf
Toont wat er zou gebeuren als de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.
Type: | SwitchParameter |
Aliassen: | wi |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
Invoerwaarden
None
U kunt invoer voor deze cmdlet niet doorsluisen.
Uitvoerwaarden
None
Deze cmdlet retourneert geen uitvoer.
Notities
U kunt een transactie die is doorgevoerd, niet terugdraaien.
U kunt geen andere transactie terugdraaien dan de actieve transactie. Als u een andere, onafhankelijke transactie wilt terugdraaien, moet u eerst de actieve transactie doorvoeren of terugdraaien.
Als de transactie wordt teruggedraaid, wordt de transactie beƫindigd. Als u een transactie opnieuw wilt gebruiken, moet u een nieuwe transactie starten.