Undo-Transaction
Hiermee wordt de actieve transactie teruggedraaid.
Syntax
Undo-Transaction
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Met Undo-Transaction de cmdlet 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, Undo-Transaction wordt de hele transactie teruggedraaid voor alle abonnees.
Transacties worden standaard 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 functie transacties in Windows PowerShell. Zie about_Transactions voor 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 wordt teruggedraaid voor alle abonnees.
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 maakt gebruik van de UseTransaction-parameter om de wijziging in de transactie op te nemen.
De vierde opdracht gebruikt 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 gebruikt de Start-Transaction opdracht opnieuw. 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 gebruikt 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 waarmee de actieve, of in dit geval de meest recent actieve transactie wordt uitgevoerd. De resultaten laten zien dat de transactie wordt teruggedraaid en dat het aantal abonnees 0 is, waarin wordt weergegeven dat de transactie voor alle abonnees is teruggedraaid.
Parameters
Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.
| Type: | SwitchParameter |
| Aliases: | cf |
| Position: | Named |
| Default value: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.
| Type: | SwitchParameter |
| Aliases: | wi |
| Position: | Named |
| Default value: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Invoerwaarden
None
U kunt geen invoer doorsluisen naar deze cmdlet.
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.
Verwante koppelingen
Feedback
Feedback verzenden en weergeven voor