Use-Transaction
Agrega el bloque de script a la transacción activa.
Syntax
Use-Transaction
[-TransactedScript] <ScriptBlock>
[-UseTransaction]
[<CommonParameters>]
Description
El Use-Transaction
cmdlet 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
Start-Transaction
$transactedString = New-Object Microsoft.PowerShell.Commands.Management.TransactedString
$transactedString.Append("Hello")
Use-Transaction -TransactedScript { $transactedString.Append(", World") } -UseTransaction
$transactedString.ToString()
Hello
Use-Transaction -TransactedScript { $transactedString.ToString() } -UseTransaction
Hello, World
Complete-Transaction
$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 Start-Transaction
cmdlet para iniciar una transacción.
El segundo comando usa el comando New-Object para crear un objeto TransactedString . Almacena el objeto en la $TransactedString
variable .
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 de la cadena de transacción para agregar Hello al valor de $TransactedString
. Dado que el comando no forma parte de la transacción, el cambio se aplica inmediatamente.
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 de 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. Al no formar 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 Complete-Transaction
cmdlet 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
Start-Transaction
$transactedString = New-Object Microsoft.PowerShell.Commands.Management.TransactedString
$transactedString.Append("Hello")
Use-Transaction -TransactedScript { $transactedString.Append(", World") } -UseTransaction
Undo-Transaction
$transactedString.ToString()
Hello
En este ejemplo se muestra el efecto de revertir una transacción que incluye Use-Transaction
comandos. Al igual que con todos los comandos de una transacción, cuando la transacción se revierte, los cambios se descartan y los datos no varían.
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 $TransactedString
variable .
El tercer comando, que no forma parte de la transacción, usa el método Append para agregar "Hello" al valor de $TransactedString
.
El cuarto comando usa Use-Transaction
para ejecutar otro comando que usa el método Append en la transacción. El comando usa el método Append para agregar ", World" al valor de $TransactedString
.
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 ToString para mostrar el valor resultante de $TransactedString
como una cadena. Los resultados muestran que solo se aplicaron los cambios realizados fuera de la transacción al objeto .
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.
Type: | ScriptBlock |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseTransaction
Incluye el comando en la transacción activa. Este parámetro solo es válido cuando hay una transacción en curso. Para obtener más información, consulte about_transactions.
Type: | SwitchParameter |
Aliases: | usetx |
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
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
Use-Transaction
cmdlet siempre se usa en transacciones, este parámetro es necesario para que cualquierUse-Transaction
comando sea eficaz.
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