Reverte a transação ativa.
Sintaxe
Undo-Transaction [-Confirm] [-WhatIf] [<CommonParameters>]
Descrição
O cmdlet Undo-Transaction reverte a transação ativa. Quando você reverte uma transação, as alterações feitas pelos comandos na transação são descartadas e os dados são restaurados à sua forma original.
Se as transações incluírem vários assinantes, um comando Undo-Transaction reverterá toda a transação para todos os assinantes.
Como padrão, as transações serão revertidas automaticamente se algum comando na transação gerar um erro. No entanto, as transações podem ser iniciadas com uma preferência de reversão diferente e você pode usar esse cmdlet para reverter a transação ativa a qualquer momento.
O cmdlet Undo-Transaction faz parte de um conjunto de cmdlets que dão suporte ao recurso de transações no Windows PowerShell. Para obter mais informações, consulte about_Transactions.
Parâmetros
-Confirm
Solicita confirmação antes da execução do comando.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-WhatIf
Descreve o que aconteceria se você executasse o comando, sem executá-lo de fato.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
<CommonParameters>
Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.
Entradas e saídas
O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.
Entradas |
None Você não pode canalizar a entrada para este cmdlet. |
Saídas |
None Este cmdlet não retorna nenhuma saída. |
Observações
Você não pode reverter uma transação que tenha sido confirmada.
Não é possível reverter qualquer transação que não seja a ativa. Para reverter uma transação diferente e independente, primeiro você deve confirmar ou reverter a transação ativa.
Quando a transação é revertida, ela é terminada. Para usar a transação novamente, você deve iniciar uma nova transação.
Exemplo 1
C:\PS>undo-transaction Descrição ----------- Esse comando reverte a transação atual (ativa).
Exemplo 2
C:\PS>cd hkcu:\software PS HKCU:\Software> start-transaction PS HKCU:\Software> new-item MyCompany -usetransaction PS HKCU:\Software> undo-transaction Descrição ----------- Esse comando inicia uma transação e depois a reverte. Como resultado, nenhuma alteração é feita no Registro.
Exemplo 3
C:\PS>cd hkcu:\software PS HKCU:\Software> start-transaction PS HKCU:\Software> new-item MyCompany -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 Descrição ----------- Este exemplo demonstra que quando um assinante reverte uma transação, a transação inteira é revertida para todos os assinantes. O primeiro comando altera o local para a chave do Registro HKCU:\Software. O segundo comando inicia a transação. O terceiro comando usa o cmdlet New-Item para criar uma nova chave de Registro. O comando usa o parâmetro UseTransaction para incluir a alteração na transação. O quarto comando usa o cmdlet Get-Transaction para obter a transação ativa. Observe que o status é Active e a contagem de assinantes é 1. O quinto comando usa o comando Start-Transaction novamente. Tipicamente, o início de uma nova transação enquanto outra está em andamento ocorre quando um script usado pela transação principal inclui sua própria transação completa. (Esse exemplo é feito interativamente para que você possa observá-lo em etapas.) Quando você digita um comando Start-Transaction enquanto outra transação está em andamento, os comandos ingressam na transação existente como um novo "assinante" e a contagem de assinantes é incrementada. O sexto comando usa o cmdlet Get-Transaction para obter a transação ativa. Observe que a contagem de assinantes agora é 2. O sétimo comando usa o cmdlet Undo-Transaction para reverter a transação. Esse comando não retorna nenhum objeto. O comando final é um comando Get-Transaction que obtém a transação ativa ou, nesse caso, a transação ativa mais recente. Os resultados mostram que a transação é revertida e que a contagem de assinantes é 0, indicando que a transação foi revertida para todos os assinantes.
See Also