Undo-Transaction
Restaure la transaction active.
Syntaxe
Undo-Transaction
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
L’applet Undo-Transaction
de commande restaure la transaction active. Lorsque vous restaurez une transaction, les modifications apportées par les commandes de la transaction sont ignorées et les données sont restaurées dans son formulaire d’origine.
Si la transaction inclut plusieurs abonnés, une Undo-Transaction
commande 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. Toutefois, les transactions peuvent être démarrées à l’aide d’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 Undo-Transaction
de commande 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 : Restaurer la transaction actuelle
Undo-Transaction
Cette commande restaure la transaction active, active et active.
Exemple 2 : Démarrer et restaurer une transaction
Set-Location hkcu:\software
Start-Transaction
New-Item -Path "ContosoCompany" -UseTransaction
Undo-Transaction
Cet exemple démarre une transaction, puis la restaure. Aucune modification n’est par conséquent apportée au Registre.
Exemple 3 : Restaurer une transaction pour tous les abonnés
Set-Location hkcu:\software
Start-Transaction
New-Item -Path "ContosoCompany" -UseTransaction
Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- -----
Error 1 Active
Start-Transaction
Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- -----
Error 2 Active
Undo-Transaction
Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- -----
Error 0 RolledBack
Cet exemple montre que lorsqu’un abonné annule une transaction, toute la transaction est restaurée pour tous les abonnés.
La première commande remplace l’emplacement par la clé de HKCU:\Software
Registre.
La deuxième commande démarre une transaction.
La troisième commande utilise l’applet New-Item
de commande 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 Get-Transaction
de commande 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 utilise à nouveau la Start-Transaction
commande. En règle générale, le démarrage d’une transaction alors 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 effectué de manière interactive afin de pouvoir l’examiner en phases. Lorsque vous exécutez une Start-Transaction
commande pendant qu’une autre transaction est en cours, les commandes rejoignent la transaction existante en tant que nouvel abonné et le nombre d’abonnés est incrémenté.
La sixième commande utilise l’applet Get-Transaction
de commande pour obtenir la transaction active. Notez que le nombre d’abonnés a maintenant la valeur 2.
La septième commande utilise Undo-Transaction
pour restaurer la transaction. Cette commande ne retourne pas d’objets.
La commande finale est une Get-Transaction
commande qui obtient l’actif 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).
Paramètres
-Confirm
Vous demande une confirmation avant d’exécuter l’applet de commande.
Type: | SwitchParameter |
Alias: | cf |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-WhatIf
Montre ce qui se passe en cas d’exécution de l’applet de commande. L’applet de commande n’est pas exécutée.
Type: | SwitchParameter |
Alias: | wi |
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
None
Cette applet de commande ne retourne aucune sortie.
Notes
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.