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




Table des matières