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




Sumário