Get-Transaction
Obtiene la transacción actual (activa).
Sintaxis
Get-Transaction []
Description
El cmdlet Get-Transaction obtiene un objeto que representa la transacción actual en la sesión.
Este cmdlet nunca devuelve más de un objeto, ya que solo hay una transacción activa a la vez. Si inicia una o varias transacciones independientes (mediante el parámetro Independent de Start-Transaction), la transacción iniciada más recientemente está activa y es la transacción que Get-Transaction devuelve.
Cuando se han revertido o confirmado todas las transacciones activas, este cmdlet muestra la transacción que se ha activo más recientemente en la sesión.
Este 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: Obtención de la transacción actual
PS C:\> Start-Transaction
PS C:\> Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 1 Active
Este comando usa el cmdlet Get-Transaction para obtener la transacción actual.
Ejemplo 2: Mostrar las propiedades y los métodos del objeto de transacción
PS C:\> Get-Transaction | Get-Member
Name MemberType Definition
---- ---------- ----------
Dispose Method System.Void Dispose(), System.Void Dispose(Boolean disposing)
Equals Method System.Boolean Equals(Object obj)
GetHashCode Method System.Int32 GetHashCode()
GetType Method System.Type GetType()
ToString Method System.String ToString()
IsCommitted Property System.Boolean IsCommitted {get;}
IsRolledBack Property System.Boolean IsRolledBack {get;}
RollbackPreference Property System.Management.Automation.RollbackSeverity RollbackPreference {get;}
SubscriberCount Property System.Int32 SubscriberCount {get;set;}
Este comando usa el cmdlet Get-Member para mostrar las propiedades y los métodos del objeto de transacción.
Ejemplo 3: Mostrar los valores de propiedad de una transacción revierte
PS C:\> cd hklm:\software
HKLM:\SOFTWARE> Start-Transaction
HKLM:\SOFTWARE> New-Item MyCompany -UseTransaction
HKLM:\SOFTWARE> Undo-Transaction
HKLM:\SOFTWARE> Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- ----------
Error 0 RolledBack
Este comando muestra los valores de propiedad de un objeto de transacción para una transacción que se ha revertido.
Ejemplo 4: Mostrar los valores de propiedad de una transacción confirmada
PS C:\> cd hklm:\software
HKLM:\SOFTWARE> Start-Transaction
HKLM:\SOFTWARE> New-Item MyCompany -UseTransaction
HKLM:\SOFTWARE> Complete-Transaction
HKLM:\SOFTWARE> Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- ---------
Error 1 Committed
Este comando muestra los valores de propiedad de un objeto de transacción para una transacción confirmada.
Ejemplo 5: Iniciar una transacción mientras hay otra en curso
PS C:\> cd hklm:\software
HKLM:\SOFTWARE> Start-Transaction
HKLM:\SOFTWARE> New-Item MyCompany -UseTransaction
HKLM:\SOFTWARE> Start-Transaction
HKLM:\SOFTWARE> New-Item MyCompany2 -UseTransaction
HKLM:\SOFTWARE> Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 2 Active
HKLM:\SOFTWARE> Complete-Transaction
HKLM:\SOFTWARE> Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 1 Active
HKLM:\SOFTWARE> Complete-Transaction
HKLM:\SOFTWARE> Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- ---------
Error 1 Committed
En este ejemplo se muestra el efecto en el objeto de transacción de iniciar una transacción mientras otra transacción está en curso. Normalmente, esto sucede cuando un script que ejecuta una transacción incluye una función o llama a un script que contiene otra transacción completa.
A menos que el segundo comando Start-Transaction incluya el parámetro Independent, Start-Transaction no crea una nueva transacción. En su lugar, agrega un segundo suscriptor a la transacción original.
El primer comando Start-Transaction inicia la transacción. Un comando New-Item con el parámetro UseTransaction forma parte de la transacción.
Un segundo comando Start-Transaction agrega un suscriptor a la transacción. El siguiente comando New-Item también forma parte de la transacción.
El primer comando Get-Transaction muestra la transacción de varios suscriptores. Observe que el número de suscriptores es 2.
El primer comando Complete-Transaction no confirma la transacción, pero reduce el número de suscriptores a 1.
El segundo comando Complete-Transaction confirma la transacción.
Ejemplo 6: Iniciar una transacción independiente mientras hay otra en curso
PS C:\>
HKLM:\SOFTWARE> Start-Transaction
HKLM:\SOFTWARE> Get-Transaction
RollbackPreference SubscriberCount IsRolledBack IsCommitted
------------------ --------------- ------------ -----------
Error 1 False False
HKLM:\SOFTWARE> Start-Transaction -Independent
HKLM:\SOFTWARE> Get-Transaction
RollbackPreference SubscriberCount IsRolledBack IsCommitted
------------------ --------------- ------------ -----------
Error 1 False False
HKLM:\SOFTWARE> Complete-Transaction
HKLM:\SOFTWARE> Get-Transaction
HKLM:\SOFTWARE> Complete-Transaction
HKLM:\SOFTWARE> Get-Transaction
En este ejemplo se muestra el efecto en el objeto de transacción de iniciar una transacción independiente mientras otra transacción está en curso.
El primer comando Start-Transaction inicia la transacción. Un comando New-Item con el parámetro UseTransaction forma parte de la transacción.
Un segundo comando Start-Transaction agrega un suscriptor a la transacción. El siguiente comando New-Item también forma parte de la transacción.
El primer comando Get-Transaction muestra la transacción de varios suscriptores. Tenga en cuenta que el número de suscriptores es 2.
El comando Complete-Transaction reduce el número de suscriptores a 1, pero no confirma la transacción.
El segundo comando Complete-Transaction confirma la transacción.
Entradas
None
No se pueden canalizar objetos a este cmdlet.
Salidas
Este cmdlet devuelve un objeto que representa la transacción actual.