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 obsahuje více odběratelů, Undo-Transaction
příkaz vrátí zpět celou transakci pro všechny předplatitele.
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.
Tato 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
Undo-Transaction
Tento příkaz vrátí zpět aktuální aktivní transakce.
Příklad 2: Zahájení a vrácení transakce zpět
Set-Location hkcu:\software
Start-Transaction
New-Item -Path "ContosoCompany" -UseTransaction
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
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
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 HKCU:\Software
klíč registru.
Druhý příkaz spustí transakci.
Třetí příkaz pomocí rutiny New-Item
vytvoří nový klíč registru. Příkaz používá UseTransaction parametr zahrnout změnu v transakci.
Č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 Start-Transaction
příkaz. 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 Start-Transaction
příkaz, 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á Undo-Transaction
k vrácení transakce zpět. Tento příkaz nevrací žádné objekty.
Poslední příkaz je Get-Transaction
příkaz, 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 zobrazí výzvu 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
Zobrazuje, co by se stalo při spuštění rutiny. Rutina není spuštěna.
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.