Undo-Transaction
Revierte la transacción activa.
Sintaxis
Default (valor predeterminado)
Undo-Transaction
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
El cmdlet Deshacer transacción 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 comando Undo-Transaction revierte toda la transacción para todos los suscriptores.
De forma predeterminada, las transacciones se revierten automáticamente si algún comando de 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 cmdlet Deshacer transacción forma parte de un conjunto 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
PS C:\> Undo-Transaction
Este comando revierte la transacción actual, activa y .
Ejemplo 2: Iniciar y revertir una transacción
PS C:\> cd hkcu:\software
PS HKCU:\Software> Start-Transaction
PS HKCU:\Software> New-Item -Path "ContosoCompany" -UseTransaction
PS HKCU:\Software> Undo-Transaction
En este ejemplo se inicia una transacción y, a continuación, se revierte. Como resultado, no se realizan cambios en el registro.
Ejemplo 3: Revertir una transacción para todos los suscriptores
PS C:\> cd hkcu:\software
PS HKCU:\Software> Start-Transaction
PS HKCU:\Software> New-Item -Path "ContosoCompany" -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
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 Registro HKCU:\Software.
El segundo comando inicia una transacción.
El tercer comando usa el cmdlet New-Item 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 cmdlet Get-Transaction para obtener la transacción activa. Observe que el estado es Activo y el número de suscriptores es 1.
El quinto comando usa de nuevo el comando Start-Transaction. 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 comando Start-Transaction mientras hay otra transacción en curso, los comandos se unen a la transacción existente como un nuevo suscriptor y el recuento de suscriptores se incrementa.
El sexto comando usa el cmdlet Get-Transaction para obtener la transacción activa. Observe que el número de suscriptores es ahora 2.
El séptimo comando utiliza Undo-Transaction para revertir la transacción. Este comando no devuelve ningún objeto .
El último comando es un comando Get-Transaction que obtiene la transacción activa o, en este caso, la activa más reciente. Los resultados muestran que la transacción se revierte y que el número de suscriptores es 0, lo que muestra que la transacción se revierte para todos los suscriptores.
Parámetros
-Confirm
Le pide confirmación antes de ejecutar el cmdlet.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | cf |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-WhatIf
Muestra lo que sucedería si el cmdlet se ejecuta. El cmdlet no se ejecuta.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | Wi |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
CommonParameters
Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.
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 confirmada.
No se puede revertir ninguna transacción que no sea la transacción activa. Para revertir una transacción independiente diferente, primero debe confirmar o revertir la transacción activa.
Revertir la transacción finaliza la transacción. Para volver a usar una transacción, debe iniciar una nueva transacción.