Ajoute le bloc de script à la transaction active.

Syntaxe

Use-Transaction [-TransactedScript] <scriptblock> [-UseTransaction] [<CommonParameters>]

Description

L'applet de commande Use-Transaction ajoute un bloc de script à une transaction active. Cela vous permet de créer des scripts basés sur des transactions à l'aide d'objets Microsoft .NET Framework prenant en charge les transactions. Le bloc de script ne peut contenir que des objets .NET Framework prenant en charge les transactions (instances de la classe Microsoft.PowerShell.Commands.Management.TransactedString, par exemple).

Le paramètre UseTransaction, qui est facultatif pour la plupart des applets de commande, est obligatoire lorsque vous utilisez cette applet de commande.

L'applet de commande Use-Transaction fait partie d'un jeu d'applets de commande qui prennent en charge la fonctionnalité des transactions dans Windows PowerShell. Pour plus d'informations, consultez about_Transactions.

Paramètres

-TransactedScript <scriptblock>

Spécifie le bloc de script qui est exécuté dans la transaction. Entrez un bloc de script valide entre accolades ( { } ). Ce paramètre est obligatoire.

Obligatoire ?

true

Position ?

1

Valeur par défaut

aucun

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 valide uniquement lorsqu'une transaction est en cours. Pour plus d'informations, consultez about_Transactions.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

<CommonParameters>

Cette applet de commande prend en charge les paramètres courants : -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer et -OutVariable. Pour plus d'informations, consultez about_Commonparameters.

Entrées et sorties

Le type d'entrée est le type des objets que vous pouvez diriger vers l'applet de commande. Le type de retour est le type des objets que l'applet de commande retourne.

Entrées

None

Vous ne pouvez pas diriger d'entrée vers cette applet de commande.

Sorties

PSObject

Use-Transaction retourne le résultat de la transaction.

Remarques

Le paramètre Use-Transaction inclut la commande dans la transaction active. Comme l'applet de commande Use-Transaction est toujours utilisée dans les transactions, ce paramètre est obligatoire pour qu'une commande Use-Transaction devienne effective.

Exemple 1

C:\PS>start-transaction

C:\PS> $transactedString = New-Object Microsoft.PowerShell.Commands.Management.TransactedString

C:\PS> $transactedString.Append("Hello")
C:\PS> use-transaction -TransactedScript { $transactedString.Append(", World") } -UseTransaction

C:\PS> $transactedString.ToString()
Hello
 
C:\PS> use-transaction -transactedScript { $transactedString.ToString() } -UseTransaction
Hello, World

C:\PS> complete-transaction
C:\PS> $transactedString.ToString()
Hello, World

Description
-----------
Cet exemple montre comment utiliser l'applet de commande Use-Transaction pour exécuter des scripts avec 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 de commande Start-Transaction pour démarrer une transaction. 

La deuxième commande utilise la commande New-Object pour créer un objet TransactedString. Elle stocke l'objet dans la variable $TransactedString.

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 et pas l'autre.

La troisième commande utilise la méthode Append de la chaîne basée sur des transactions 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 l'applet de commande 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 mise entre accolades ( {} ) pour en faire un bloc de script. Le paramètre UseTransaction est obligatoire 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 la forme d'une chaîne. Là encore, une commande fait partie de la transaction et pas l'autre.

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 l'applet de commande Use-Transaction pour exécuter la même commande dans la transaction. Comme la commande fait partie de la transaction, elle affiche la valeur actuelle de la chaîne dans la transaction, un peu comme un aperçu des modifications apportées à la transaction.

La septième commande utilise l'applet de commande Complete-Transaction pour valider la transaction.

La dernière commande utilise la méthode ToString pour afficher la valeur résultante de la variable sous la forme d'une chaîne.






Exemple 2

C:\PS>start-transaction

C:\PS> $transactedString = New-Object Microsoft.PowerShell.Commands.Management.TransactedString

C:\PS> $transactedString.Append("Hello")
C:\PS> use-transaction -TransactedScript { $transactedString.Append(", World") } -UseTransaction

C:\PS> undo-transaction

C:\PS> $transactedString.ToString()
Hello

Description
-----------
Cet exemple illustre la restauration d'une transaction qui inclut des commandes Use-Transaction. 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 l'applet de commande Start-Transaction pour démarrer une transaction. 

La deuxième commande utilise la commande New-Object pour créer un objet TransactedString. Elle stocke l'objet dans la variable $TransactedString.

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 l'applet de commande 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. Toutes les commandes exécutées dans la transaction sont par conséquent restaurées.

La dernière commande utilise la méthode ToString pour afficher la valeur résultante de $TransactedString sous la forme d'une chaîne. Les résultats indiquent que seules les modifications apportées en dehors de la transaction ont été appliquées à l'objet.






Voir aussi




Table des matières