Dela via


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 Kommandot Ångra transaktion 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

PS C:\> Undo-Transaction

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

Exempel 2: Starta och återställa en transaktion

PS C:\> cd hkcu:\software
PS HKCU:\Software> Start-Transaction
PS HKCU:\Software> New-Item -Path "ContosoCompany" -UseTransaction
PS HKCU:\Software> 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

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

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 kommandot Start-Transaction 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 starttransaktionskommando medan en annan transaktion pågår, ansluter kommandona 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.

Typ:SwitchParameter
Alias:cf
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-WhatIf

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

Typ:SwitchParameter
Alias:wi
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken: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.