Restaure la transaction active.
Syntaxe
Undo-Transaction [-Confirm] [-WhatIf] [<CommonParameters>]
Description
L'applet de commande Undo-Transaction restaure la transaction active. Lorsque vous restaurez une transaction, les modifications apportées par les commandes à la transaction sont ignorées et l'état d'origine des données est rétabli.
Si la transaction comporte plusieurs abonnés, une commande Undo-Transaction restaure l'intégralité de la transaction pour tous les abonnés.
Les transactions sont automatiquement restaurées par défaut lorsqu'une commande figurant dans la transaction génère une erreur. Les transactions peuvent toutefois être démarrées avec une préférence de restauration différente et vous pouvez utiliser cette applet de commande pour restaurer la transaction active à tout moment.
L'applet de commande Undo-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
-Confirm
Vous invite à confirmer l'exécution de la commande.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-WhatIf
Décrit le résultat que vous obtiendriez en exécutant la commande, sans réellement l'exécuter.
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 |
None Cette applet de commande ne retourne aucune sortie. |
Remarques
Vous ne pouvez pas restaurer une transaction qui a été validée.
Vous ne pouvez pas restaurer une autre transaction que la transaction active. Pour restaurer une autre transaction indépendante, vous devez commencer par valider ou restaurer la transaction active.
La restauration de la transaction termine la transaction. Pour réutiliser une transaction, vous devez démarrer une nouvelle transaction.
Exemple 1
C:\PS>undo-transaction Description ----------- Cette commande restaure la transaction actuelle (active).
Exemple 2
C:\PS>cd hkcu:\software PS HKCU:\Software> start-transaction PS HKCU:\Software> new-item MyCompany -usetransaction PS HKCU:\Software> undo-transaction Description ----------- Cette commande démarre une transaction, puis la restaure. Aucune modification n'est par conséquent apportée au Registre.
Exemple 3
C:\PS>cd hkcu:\software PS HKCU:\Software> start-transaction PS HKCU:\Software> new-item MyCompany -usetransaction PS HKCU:\Software> get-transaction RollbackPreference SubscriberCount Status ------------------ --------------- ----- Error 1 Active PS HKCU:\Software> start-transaction PS HKCU:\Software> get-transaction RollbackPreference SubscriberCount Status ------------------ --------------- ----- Error 2 Active PS HKCU:\Software> undo-transaction PS HKCU:\Software> get-transaction RollbackPreference SubscriberCount Status ------------------ --------------- ----- Error 0 RolledBack Description ----------- Cet exemple montre que lorsqu'un abonné restaure une transaction, l'intégralité de la transaction est restaurée pour tous les abonnés. La première commande change l'emplacement de la clé de Registre HKCU:\Software. La deuxième commande démarre une transaction. La troisième commande utilise l'applet de commande New-Item pour créer une clé de Registre. La commande utilise le paramètre UseTransaction pour inclure la modification dans la transaction. La quatrième commande utilise l'applet de commande Get-Transaction pour obtenir la transaction active. Notez que l'état a la valeur Active et que le nombre d'abonnés a la valeur 1. La cinquième commande réutilise la commande Start-Transaction. En général, le démarrage d'une transaction pendant qu'une autre transaction est en cours se produit lorsqu'un script utilisé par la transaction principale inclut sa propre transaction complète. (Cet exemple est illustré de manière interactive pour que vous puissiez l'examiner étape par étape.) Lorsque vous entrez une commande Start-Transaction pendant qu'une autre transaction est en cours, les commandes joignent la transaction existante en tant que nouvel « abonné » et le nombre d'abonnés est incrémenté. La sixième commande utilise l'applet de commande Get-Transaction pour obtenir la transaction active. Notez que le nombre d'abonnés a maintenant la valeur 2. La septième commande utilise l'applet de commande Undo-Transaction pour restaurer la transaction. Cette commande ne retourne pas d'objets. La dernière commande est une commande Get-Transaction qui obtient la transaction active (ou dans ce cas, la dernière transaction active). Les résultats indiquent que la transaction est restaurée et que le nombre d'abonnés a la valeur 0 (ce qui signifie que la transaction a été restaurée pour tous les abonnés).
Voir aussi