Undo-Transaction
Vrátí zpět aktivní transakci.
Syntaxe
Undo-Transaction
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Rutina Undo-Transaction vrátí aktivní transakci. Při vrácení transakce zpět změny provedené příkazy v transakci se zahodí a data se obnoví do původního formuláře.
Pokud transakce zahrnuje více odběratelů, příkaz Vrácení transakce zpět vrátí celou transakci pro všechny odběratele.
Ve výchozím nastavení se transakce vrátí zpět automaticky, pokud jakýkoli příkaz v transakci vygeneruje chybu. Transakce je však možné spustit pomocí jiné předvolby vrácení zpět a tuto rutinu můžete kdykoli vrátit zpět aktivní transakce.
Rutina Undo-Transaction je jednou ze sady rutin, které podporují funkci transakcí ve Windows PowerShellu. Další informace najdete v tématu about_Transactions.
Příklady
Příklad 1: Vrácení aktuální transakce zpět
PS C:\> Undo-Transaction
Tento příkaz vrátí zpět aktuální aktivní transakce.
Příklad 2: Zahájení a vrácení transakce zpět
PS C:\> cd hkcu:\software
PS HKCU:\Software> Start-Transaction
PS HKCU:\Software> New-Item -Path "ContosoCompany" -UseTransaction
PS HKCU:\Software> Undo-Transaction
Tento příklad spustí transakci a pak ji vrátí zpět. V důsledku toho se v registru neprovedou žádné změny.
Příklad 3: Vrácení transakce pro všechny odběratele
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
Tento příklad ukazuje, že když každý odběratel vrátí transakci zpět, celá transakce se vrátí zpět pro všechny odběratele.
První příkaz změní umístění na klíč registru HKCU:\Software.
Druhý příkaz spustí transakci.
Třetí příkaz používá rutinu New-Item k vytvoření nového klíče registru. Příkaz používá UseTransaction parametr zahrnout změnu do transakce.
Čtvrtý příkaz používá rutinu Get-Transaction k získání aktivní transakce. Všimněte si, že stav je Aktivní a počet odběratelů je 1.
Pátý příkaz znovu použije příkaz Start-Transaction. Obvykle, spuštění transakce zatímco další transakce probíhá v případě, že skript, který je používán hlavní transakcí zahrnuje vlastní úplnou transakci. Tento příklad se provádí interaktivně, abyste ho mohli prozkoumat ve fázích. Když spustíte příkaz Start-Transaction, zatímco probíhá jiná transakce, příkazy připojí existující transakci jako nového odběratele a počet odběratelů se zvýší.
Šestý příkaz používá rutinu Get-Transaction k získání aktivní transakce. Všimněte si, že počet odběratelů je teď 2.
Sedmý příkaz používá Vrácení transakce zpět zpět transakce. Tento příkaz nevrací žádné objekty.
Posledním příkazem je příkaz Get-Transaction, který získá aktivní nebo v tomto případě poslední aktivní transakce. Výsledky ukazují, že transakce je vrácena zpět a že počet odběratelů je 0, což ukazuje, že transakce byla vrácena zpět pro všechny odběratele.
Parametry
-Confirm
Před spuštěním rutiny vás vyzve k potvrzení.
Typ: | SwitchParameter |
Aliasy: | cf |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-WhatIf
Ukazuje, co se stane, když se rutina spustí. Rutina se nespustí.
Typ: | SwitchParameter |
Aliasy: | wi |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
Vstupy
None
Vstup do této rutiny nelze převést.
Výstupy
None
Tato rutina nevrací žádný výstup.
Poznámky
Transakce, která byla potvrzena, nelze vrátit zpět.
Nelze vrátit zpět žádnou transakci jinou než aktivní transakci. Chcete-li vrátit zpět jinou nezávislou transakci, musíte nejprve potvrdit nebo vrátit zpět aktivní transakci.
Vrácení transakce zpět končí transakce. Chcete-li znovu použít transakci, musíte začít novou transakci.