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.