Use-Transaction
Agrega el bloque de script a la transacción activa.
Sintaxis
Use-Transaction
[-TransactedScript] <ScriptBlock>
[-UseTransaction]
[<CommonParameters>]
Description
El cmdlet Use-Transaction agrega un bloque de script a una transacción activa. Esto le permite realizar scripts de transacciones mediante objetos de Microsoft .NET Framework habilitados para transacciones. El bloque de script solo puede contener objetos de .NET Framework habilitados para transacciones, como instancias de la clase Microsoft.PowerShell.Commands.Management.TransactedString.
El parámetro UseTransaction, que es opcional para la mayoría de los cmdlets, es necesario cuando se usa este cmdlet.
Use-Transaction es 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: Script mediante un objeto habilitado para transacciones
PS C:\> Start-Transaction
PS C:\> $transactedString = New-Object Microsoft.PowerShell.Commands.Management.TransactedString
PS C:\> $transactedString.Append("Hello")
PS C:\> Use-Transaction -TransactedScript { $transactedString.Append(", World") } -UseTransaction
PS C:\> $transactedString.ToString()
Hello
PS C:\> Use-Transaction -TransactedScript { $transactedString.ToString() } -UseTransaction
Hello, World
PS C:\> Complete-Transaction
PS C:\> $transactedString.ToString()
Hello, World
En este ejemplo se muestra cómo usar Use-Transaction para crear scripts en un objeto de .NET Framework habilitado para transacciones. En este caso, el objeto es un objeto TransactedString.
El primer comando usa el cmdlet Start-Transaction para iniciar una transacción.
El segundo comando usa el comando New-Object para crear un objeto de TransactedString. Almacena el objeto en la variable $TransactedString.
Los comandos tercero y cuarto usan el método Append del objeto TransactedString para agregar texto al valor de $TransactedString. Un comando forma parte de la transacción. El otro comando no es .
El tercer comando usa el método append
El cuarto comando usa Use-Transaction para agregar texto a la cadena de la transacción. El comando usa el método Append para agregar ", World" al valor de $TransactedString. El comando se incluye entre llaves ( {} ) para convertirlo en un bloque de script. El parámetro UseTransaction es necesario en este comando.
Los comandos quinto y sexto usan el método ToString del objeto TransactedString para mostrar el valor del TransactedString como una cadena. De nuevo, un comando forma parte de la transacción. La otra transacción no es .
El quinto comando usa el método ToString para mostrar el valor actual de la variable $TransactedString. Dado que no forma parte de la transacción, solo muestra el estado actual de la cadena.
El sexto comando usa Use-Transaction para ejecutar el mismo comando en la transacción. Dado que el comando forma parte de la transacción, muestra el valor actual de la cadena en la transacción, al igual que una vista previa de los cambios de transacción.
El séptimo comando usa el cmdlet Complete-Transaction para confirmar la transacción.
El comando final usa el método ToString para mostrar el valor resultante de la variable como una cadena.
Ejemplo 2: Revertir una transacción
PS C:\> Start-Transaction
PS C:\> $transactedString = New-Object Microsoft.PowerShell.Commands.Management.TransactedString
PS C:\> $transactedString.Append("Hello")
PS C:\> Use-Transaction -TransactedScript { $transactedString.Append(", World") } -UseTransaction
PS C:\> Undo-Transaction
PS C:\> $transactedString.ToString()
Hello
En este ejemplo se muestra el efecto de revertir una transacción que incluye comandos Use-Transaction. Al igual que todos los comandos de una transacción, cuando se revierte la transacción, los cambios de transacción se descartan y los datos no cambian.
El primer comando usa Start-Transaction para iniciar una transacción.
El segundo comando usa New-Object para crear un objeto TransactedString. Almacena el objeto en la variable $TransactedString.
El tercer comando, que no forma parte de la transacción, usa el método append
El cuarto comando usa
El quinto comando usa el cmdlet Undo-Transaction para revertir la transacción. Como resultado, se invierten todos los comandos realizados en la transacción.
El comando final usa el método
Parámetros
-TransactedScript
Especifica el bloque de script que se ejecuta en la transacción. Escriba cualquier bloque de script válido entre llaves ( { } ). Este parámetro es obligatorio.
Tipo: | ScriptBlock |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-UseTransaction
Incluye el comando en la transacción activa. Este parámetro solo es válido cuando una transacción está en curso. Para obtener más información, consulte about_Transactions.
Tipo: | SwitchParameter |
Alias: | usetx |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
Entradas
None
No se puede canalizar la entrada a este cmdlet.
Salidas
PSObject
Este cmdlet devuelve el resultado de la transacción.
Notas
El parámetro UseTransaction incluye el comando en la transacción activa. Dado que el cmdlet
Use-Transaction siempre se usa en transacciones, este parámetro es necesario para que cualquier comando Use-Transaction sea eficaz.