Use-Transaction
Ajoute le bloc de script à la transaction active.
Syntaxe
Use-Transaction
[-TransactedScript] <ScriptBlock>
[-UseTransaction]
[<CommonParameters>]
Description
L’applet Use-Transaction
de commande ajoute un bloc de script à une transaction active. Cela vous permet d’effectuer des scripts transactionnels à l’aide d’objets Microsoft .NET Framework compatibles avec les transactions. Le bloc de script peut contenir uniquement des objets .NET Framework compatibles avec les transactions, tels que les instances de la classe Microsoft.PowerShell.Commands.Management.TransactedString .
Le paramètre UseTransaction , facultatif pour la plupart des applets de commande, est requis lorsque vous utilisez cette applet de commande.
Use-Transaction
est l’un des ensembles d’applets de commande qui prennent en charge la fonctionnalité de transactions dans Windows PowerShell. Pour plus d’informations, consultez about_Transactions.
Exemples
Exemple 1 : Script à l’aide d’un objet compatible transactionnel
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
Cet exemple montre comment utiliser Use-Transaction
un script sur un objet .NET Framework prenant en charge les transactions. Dans ce cas, l’objet est un objet TransactedString .
La première commande utilise l’applet Start-Transaction
de commande pour démarrer une transaction.
La deuxième commande utilise la commande New-Object pour créer un objet TransactedString . Il stocke l’objet dans la $TransactedString
variable.
Les troisième et quatrième commandes utilisent la méthode Append de l’objet TransactedString pour ajouter du texte à la valeur de $TransactedString
. Une commande fait partie de la transaction. L’autre commande n’est pas.
La troisième commande utilise la méthode Append de la chaîne traitée pour ajouter Hello à la valeur de $TransactedString
. Comme la commande ne fait pas partie de la transaction, la modification est immédiatement appliquée.
La quatrième commande utilise Use-Transaction
pour ajouter du texte à la chaîne dans la transaction. La commande utilise la méthode Append pour ajouter « World » à la valeur de $TransactedString
. La commande est placée entre accolades ({}
) pour le rendre un bloc de script. Le paramètre UseTransaction est requis dans cette commande.
Les cinquième et sixième commandes utilisent la méthode ToString de l’objet TransactedString pour afficher la valeur de TransactedString sous forme de chaîne. Là encore, une commande fait partie de la transaction. L’autre transaction n’est pas.
La cinquième commande utilise la méthode ToString pour afficher la valeur actuelle de la variable $TransactedString. Comme elle ne fait pas partie de la transaction, elle n’affiche que l’état actuel de la chaîne.
La sixième commande utilise Use-Transaction
pour exécuter la même commande dans la transaction. Étant donné que la commande fait partie de la transaction, elle affiche la valeur actuelle de la chaîne dans la transaction, comme un aperçu de la transaction change.
La septième commande utilise l’applet Complete-Transaction
de commande pour valider la transaction.
La commande finale utilise la méthode ToString pour afficher la valeur résultante de la variable sous forme de chaîne.
Exemple 2 : Restaurer une transaction
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
Cet exemple montre l’effet de la restauration d’une transaction qui inclut Use-Transaction
des commandes. Comme pour toutes les commandes d’une transaction, lorsque la transaction est restaurée, les modifications basées sur les transactions sont ignorées et les données restent inchangées.
La première commande utilise Start-Transaction
pour démarrer une transaction.
La deuxième commande utilise New-Object
pour créer un objet TransactedString . Il stocke l’objet dans la $TransactedString
variable.
La troisième commande, qui ne fait pas partie de la transaction, utilise la méthode Append pour ajouter « Hello » à la valeur de $TransactedString
.
La quatrième commande utilise Use-Transaction
pour exécuter une autre commande qui utilise la méthode Append dans la transaction. La commande utilise la méthode Append pour ajouter « World » à la valeur de $TransactedString
.
La cinquième commande utilise l’applet de commande Undo-Transaction pour restaurer la transaction. Par conséquent, toutes les commandes effectuées dans la transaction sont inversées.
La commande finale utilise la méthode ToString pour afficher la valeur résultante sous forme de $TransactedString
chaîne. Les résultats indiquent que seules les modifications apportées en dehors de la transaction ont été appliquées à l’objet.
Paramètres
-TransactedScript
Spécifie le bloc de script qui est exécuté dans la transaction. Entrez tout bloc de script valide placé entre accolades ({}
). Ce paramètre est obligatoire.
Type: | ScriptBlock |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-UseTransaction
Inclut la commande dans la transaction active. Ce paramètre est uniquement valide au cours d’une transaction. Pour plus d’informations, consultez about_transactions.
Type: | SwitchParameter |
Alias: | usetx |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
Entrées
None
Vous ne pouvez pas diriger d'entrée vers cette applet de commande.
Sorties
PSObject
Cette applet de commande retourne le résultat de la transaction.
Notes
- Le paramètre UseTransaction inclut la commande dans la transaction active. Étant donné que l’applet
Use-Transaction
de commande est toujours utilisée dans les transactions, ce paramètre est nécessaire pour rendre n’importe quelleUse-Transaction
commande efficace.