Undo-Transaction
Hiermee wordt de actieve transactie teruggedraaid.
Syntaxis
Undo-Transaction
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Met de cmdlet Undo-Transaction
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 met een Undo-Transaction
opdracht de hele transactie voor alle abonnees teruggedraaid.
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 Undo-Transaction
cmdlet is een van een set cmdlets die ondersteuning bieden voor de transactiefunctie in Windows PowerShell. Zie about_Transactionsvoor meer informatie.
Voorbeelden
Voorbeeld 1: De huidige transactie terugdraaien
Undo-Transaction
Met deze opdracht wordt de huidige, actieve transactie teruggedraaid.
Voorbeeld 2: Een transactie starten en terugdraaien
Set-Location hkcu:\software
Start-Transaction
New-Item -Path "ContosoCompany" -UseTransaction
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
Set-Location hkcu:\software
Start-Transaction
New-Item -Path "ContosoCompany" -UseTransaction
Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- -----
Error 1 Active
Start-Transaction
Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- -----
Error 2 Active
Undo-Transaction
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 HKCU:\Software
registersleutel.
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 Start-Transaction
opdracht 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 Get-Transaction
cmdlet om de actieve transactie op te halen. U ziet dat het aantal abonnees nu 2 is.
De zevende opdracht gebruikt Undo-Transaction
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.