Partager via


Undo-Transaction

Restaure la transaction active.

Syntax

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 dis carte ed 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
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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.