Undo-Transaction
Revierte la transacción activa.
Syntax
Undo-Transaction
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
El Undo-Transaction
cmdlet revierte la transacción activa. Al revertir una transacción, los cambios realizados por los comandos de la transacción se descartan y los datos se restauran en su forma original.
Si la transacción incluye varios suscriptores, un Undo-Transaction
comando revierte toda la transacción para todos los suscriptores.
Las transacciones se revierten automáticamente de forma predeterminada si un comando en la transacción genera un error. Sin embargo, las transacciones se pueden iniciar mediante una preferencia de reversión diferente y puede usar este cmdlet para revertir la transacción activa en cualquier momento.
El Undo-Transaction
cmdlet es uno de los conjuntos de cmdlets que admiten la característica de transacciones en Windows PowerShell. Para obtener más información, consulte about_Transactions.
Ejemplos
Ejemplo 1: Revertir la transacción actual
Undo-Transaction
Este comando revierte la transacción actual, activa y .
Ejemplo 2: Iniciar y revertir una transacción
Set-Location hkcu:\software
Start-Transaction
New-Item -Path "ContosoCompany" -UseTransaction
Undo-Transaction
En este ejemplo se inicia una transacción y, a continuación, se revierte. En consecuencia, no se producen cambios en el Registro.
Ejemplo 3: Revertir una transacción para todos los suscriptores
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
En este ejemplo se muestra que cuando cualquier suscriptor revierte una transacción, toda la transacción se revierte para todos los suscriptores.
El primer comando cambia la ubicación a la clave del HKCU:\Software
Registro.
El segundo comando inicia una transacción.
El tercer comando usa el New-Item
cmdlet para crear una nueva clave del Registro. El comando usa el parámetro UseTransaction para incluir el cambio en la transacción.
El cuarto comando usa el Get-Transaction
cmdlet para obtener la transacción activa. Observe que el estado es activo y el número de suscriptores es 1.
El quinto comando vuelve a usar el Start-Transaction
comando. Normalmente, iniciar una transacción mientras otra transacción está en curso se produce cuando un script usado por la transacción principal incluye su propia transacción completa. Este ejemplo se realiza de forma interactiva para que pueda examinarlo en fases. Cuando se ejecuta un Start-Transaction
comando mientras otra transacción está en curso, los comandos se unen a la transacción existente como un nuevo suscriptor y se incrementa el recuento de suscriptores.
El sexto comando usa el Get-Transaction
cmdlet para obtener la transacción activa. Observe que el número de suscriptores ahora es 2.
El séptimo comando usa Undo-Transaction
para revertir la transacción. Este comando no devuelve ningún resultado.
El comando final es un Get-Transaction
comando que obtiene el activo o, en este caso, la transacción activa más recientemente. Los resultados muestran que la transacción se ha revertido y que el número de suscriptores es 0, lo que pone de manifiesto que la transacción se revirtió para todos los suscriptores.
Parámetros
-Confirm
Le solicita su confirmación antes de ejecutar el cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
None
No se puede canalizar la entrada a este cmdlet.
Salidas
None
Este cmdlet no genera resultados de ningún tipo.
Notas
No se puede revertir una transacción que se ha confirmado.
No se puede revertir una transacción que no sea la transacción activa. Para revertir una transacción independiente distinta, antes debe confirmar o revertir la transacción activa.
Cuando una transacción se revierte, esta finaliza. Para volver a usar una transacción, deberá iniciar una nueva transacción.
Vínculos relacionados
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de