Delen via


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, wordt met een Undo-Transaction opdracht de hele transactie teruggedraaid voor alle abonnees.

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_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 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 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 die de actieve, of in dit geval de meest recent actieve transactie, ophaalt. 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

Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

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
Required:False
Accept pipeline input:False
Accept wildcard characters: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.