Undo-Transaction
Reverte a transação ativa.
Syntax
Undo-Transaction
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
O Undo-Transaction
cmdlet 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 para sua forma original.
Se a transação incluir vários assinantes, um Undo-Transaction
comando reverterá toda a transação para todos os assinantes.
Por padrão, as transações são revertidas automaticamente se qualquer comando na transação gerar um erro. No entanto, as transações podem ser iniciadas usando uma preferência de reversão diferente e você pode usar esse cmdlet para reverter a transação ativa a qualquer momento.
O Undo-Transaction
cmdlet 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.
Exemplos
Exemplo 1: reverter a transação atual
Undo-Transaction
Este comando reverte a transação atual, ativa.
Exemplo 2: Iniciar e reverter uma transação
Set-Location hkcu:\software
Start-Transaction
New-Item -Path "ContosoCompany" -UseTransaction
Undo-Transaction
Este exemplo inicia uma transação e, em seguida, a reverte. Como resultado, nenhuma alteração é feita no registro.
Exemplo 3: reverter uma transação para todos os assinantes
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
Este exemplo demonstra que, quando qualquer assinante reverte uma transação, toda a transação é revertida para todos os assinantes.
O primeiro comando altera o local para a chave do HKCU:\Software
Registro.
O segundo comando inicia uma transação.
O terceiro comando usa o New-Item
cmdlet para criar uma nova chave do Registro. O comando usa o parâmetro UseTransaction para incluir a alteração na transação.
O quarto comando usa o Get-Transaction
cmdlet para obter a transação ativa. Observe que o status é Ativo e a contagem de assinantes é 1.
O quinto comando usa o Start-Transaction
comando novamente. Normalmente, iniciar uma transação enquanto outra transação está em andamento ocorre quando um script usado pela transação principal inclui sua própria transação completa. Este exemplo é executado interativamente para que você possa examiná-lo em etapas. Quando você executa um Start-Transaction
comando 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 Get-Transaction
cmdlet para obter a transação ativa. Observe que a contagem de assinantes agora é 2.
O sétimo comando usa Undo-Transaction
para reverter a transação. Este comando não retorna nenhum objeto.
O comando final é um Get-Transaction
comando que obtém a transação ativa ou, neste caso, a mais recentemente ativa. Os resultados mostram que a transação é revertida e que a contagem de assinantes é 0, mostrando que a transação foi revertida para todos os assinantes.
Parâmetros
-Confirm
Solicita a sua confirmação antes de executar o cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Apresenta o que aconteceria mediante a execução do cmdlet. O cmdlet não é executado.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
None
Não é possível canalizar a entrada para este cmdlet.
Saídas
None
Este cmdlet não retorna nenhuma saída.
Notas
Não é possível reverter uma transação que foi confirmada.
Não é possível reverter nenhuma transação que não seja a transação ativa. Para reverter uma transação diferente e independente, você deve primeiro confirmar ou reverter a transação ativa.
A reversão da transação encerra a transação. Para usar uma transação novamente, você deve iniciar uma nova transação.
Ligações Relacionadas
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários