Undo-Transaction

Återställer den aktiva transaktionen.

Syntax

Undo-Transaction
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

Cmdleten Undo-Transaction återställer den aktiva transaktionen. När du återställer en transaktion ignoreras de ändringar som gjordes av kommandona i transaktionen och data återställs till sitt ursprungliga formulär.

Om transaktionen innehåller flera prenumeranter återställer ett Undo-Transaction kommando hela transaktionen för alla prenumeranter.

Som standard återställs transaktioner automatiskt om något kommando i transaktionen genererar ett fel. Transaktioner kan dock startas med en annan återställningsinställning och du kan använda den här cmdleten för att återställa den aktiva transaktionen när som helst.

Cmdleten Undo-Transaction är en av en uppsättning cmdletar som stöder transaktionsfunktionen i Windows PowerShell. Mer information finns i about_Transactions.

Exempel

Exempel 1: Återställa den aktuella transaktionen

Undo-Transaction

Det här kommandot återställer den aktuella, aktiva transaktionen.

Exempel 2: Starta och återställa en transaktion

Set-Location hkcu:\software
Start-Transaction
New-Item -Path "ContosoCompany" -UseTransaction
Undo-Transaction

Det här exemplet startar en transaktion och återställer den sedan. Därför görs inga ändringar i registret.

Exempel 3: Återställa en transaktion för alla prenumeranter

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

Det här exemplet visar att när en prenumerant återställer en transaktion återställs hela transaktionen för alla prenumeranter.

Det första kommandot ändrar platsen till registernyckeln HKCU:\Software .

Det andra kommandot startar en transaktion.

Det tredje kommandot använder cmdleten New-Item för att skapa en ny registernyckel. Kommandot använder parametern UseTransaction för att inkludera ändringen i transaktionen.

Det fjärde kommandot använder cmdleten Get-Transaction för att hämta den aktiva transaktionen. Observera att statusen är Aktiv och antalet prenumeranter är 1.

Det femte kommandot använder Start-Transaction kommandot igen. Att starta en transaktion medan en annan transaktion pågår sker vanligtvis när ett skript som används av huvudtransaktionen innehåller en egen fullständig transaktion. Det här exemplet utförs interaktivt så att du kan undersöka det i steg. När du kör ett kommando medan en Start-Transaction annan transaktion pågår ansluter kommandona till den befintliga transaktionen som ny prenumerant och antalet prenumeranter ökas.

Det sjätte kommandot använder cmdleten Get-Transaction för att hämta den aktiva transaktionen. Observera att antalet prenumeranter nu är 2.

Det sjunde kommandot använder Undo-Transaction för att återställa transaktionen. Det här kommandot returnerar inga objekt.

Det sista kommandot är ett Get-Transaction kommando som hämtar den aktiva, eller i det här fallet den senast aktiva transaktionen. Resultatet visar att transaktionen återställs och att antalet prenumeranter är 0, vilket visar att transaktionen återställdes för alla prenumeranter.

Parametrar

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

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

-WhatIf

Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.

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

Indata

None

Du kan inte skicka indata till den här cmdleten.

Utdata

None

Den här cmdleten returnerar inga utdata.

Kommentarer

  • Du kan inte återställa en transaktion som har checkats in.

    Du kan inte återställa någon annan transaktion än den aktiva transaktionen. Om du vill återställa en annan, oberoende transaktion måste du först checka in eller återställa den aktiva transaktionen.

    När transaktionen återställs avslutas transaktionen. Om du vill använda en transaktion igen måste du starta en ny transaktion.