Revierte la transacción activa.

Sintaxis

Undo-Transaction [-Confirm] [-WhatIf] [<CommonParameters>]

Descripción

El cmdlet Undo-Transaction revierte la transacción activa. Cuando se revierte una transacción, se descartan los cambios realizados por los comandos en la transacción y se restauran los datos a su formato original.

Si la transacción incluye varios suscriptores, un comando Undo-Transaction revierte la transacción completa para todos los suscriptores.

De forma predeterminada, las transacciones se revierten automáticamente si un comando de la transacción genera un error. Sin embargo, las transacciones se pueden iniciar con una preferencia de reversión diferente y se puede utilizar este cmdlet para revertir la transacción activa en cualquier momento.

El cmdlet Undo-Transaction es uno de un conjunto de cmdlets que admiten la característica de transacciones en Windows PowerShell. Para obtener más información, vea about_Transactions.

Parámetros

-Confirm

Solicita confirmación antes de ejecutar el comando.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-WhatIf

Describe lo que ocurriría si se ejecutara el comando sin ejecutarlo realmente.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

<CommonParameters>

Este cmdlet admite los parámetros comunes: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer y -OutVariable. Para obtener más información, vea about_Commonparameters.

Entradas y salidas

El tipo de entrada es el tipo de los objetos que se pueden canalizar al cmdlet. El tipo devuelto es el tipo de los objetos que el cmdlet devuelve.

Entradas

Ninguno

No se pueden canalizar entradas a este cmdlet.

Salidas

Ninguno

Este cmdlet no devuelve resultados.

Notas

No se pueden revertir transacciones confirmadas.

No se puede revertir una transacción distinta de la transacción activa. Para revertir una transacción independiente diferente, primero se debe confirmar o revertir la transacción activa.

La reversión de la transacción finaliza la transacción. Para volver a utilizar una transacción, se debe iniciar una nueva transacción.

Ejemplo 1

C:\PS>undo-transaction

Descripción
-----------
Este comando revierte la transacción actual (activa).






Ejemplo 2

C:\PS>cd hkcu:\software

PS HKCU:\Software> start-transaction
PS HKCU:\Software> new-item MyCompany -usetransaction
PS HKCU:\Software> undo-transaction

Descripción
-----------
Este comando inicia una transacción y, a continuación, la revierte. Como consecuencia, no se realizan cambios en el Registro.






Ejemplo 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

Descripción
-----------
En este ejemplo se muestra que cuando un suscriptor revierte una transacción, la transacción completa 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 utiliza el parámetro UseTransaction para incluir el cambio en la transacción.

El cuarto comando utiliza el cmdlet Get-Transaction para obtener la transacción activa. Observe que el estado es Active y que el recuento de suscriptores es 1.

El quinto comando vuelve a utilizar el comando Start-Transaction. Normalmente, 
el inicio de una transacción mientras otra está en curso se produce cuando un script utilizado por la transacción principal incluye su propia transacción completa. (Este ejemplo se realiza de forma interactiva; por lo tanto, se puede examinar por fases).

Cuando se escribe un comando Start-Transaction mientras otra transacción está en curso, los comandos unen la transacción existente como un nuevo "suscriptor" y el recuento de suscriptores se incrementa.

El sexto comando utiliza el cmdlet Get-Transaction para obtener la transacción activa. Observe que el recuento de suscriptores es ahora 2.
  
El séptimo comando usa el cmdlet Undo-Transaction para revertir la transacción. Este comando no devuelve objetos.

El último comando es un comando Get-Transaction que obtiene la transacción activa (o en este caso, la transacción activa más reciente). Los resultados muestran que la transacción se revierte y que el recuento de suscriptores es 0, así como que la transacción se revirtió para todos los suscriptores.






Vea también




Tabla de contenido