Partager via


Get-Transaction

Obtient la transaction actuelle (active).

Syntaxe

Default (Par défaut)

Get-Transaction

Description

L’applet de commande Get-Transaction obtient un objet qui représente la transaction actuelle dans la session.

Cette applet de commande ne retourne jamais plusieurs objets, car une seule transaction est active à la fois. Si vous démarrez une ou plusieurs transactions indépendantes (à l’aide du paramètre Indépendant de Start-Transaction), la transaction la plus récemment démarrée est active et c’est la transaction qui Get-Transaction retourne.

Lorsque toutes les transactions actives ont été restaurées ou validées, cette applet de commande affiche la transaction qui a été la plus récente active dans la session.

Cette applet 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 : Obtenir la transaction actuelle

Start-Transaction
Get-Transaction
RollbackPreference   SubscriberCount   Status
------------------   ---------------   ------
Error                1                 Active

Cette commande utilise l’applet de commande Get-Transaction pour obtenir la transaction actuelle.

Exemple 2 : Afficher les propriétés et méthodes de l’objet transactionnel

Get-Transaction | Get-Member
Name               MemberType Definition
----               ---------- ----------
Dispose            Method     System.Void Dispose(), System.Void Dispose(Boolean disposing)
Equals             Method     System.Boolean Equals(Object obj)
GetHashCode        Method     System.Int32 GetHashCode()
GetType            Method     System.Type GetType()
ToString           Method     System.String ToString()
IsCommitted        Property   System.Boolean IsCommitted {get;}
IsRolledBack       Property   System.Boolean IsRolledBack {get;}
RollbackPreference Property   System.Management.Automation.RollbackSeverity RollbackPreference {get;}
SubscriberCount    Property   System.Int32 SubscriberCount {get;set;}

Cette commande utilise l’applet de commande Get-Member pour afficher les propriétés et méthodes de l’objet transactionnel.

Exemple 3 : Afficher les valeurs de propriété d’une transaction restaurée

Set-Location HKLM:\software
Start-Transaction
New-Item MyCompany -UseTransaction
Undo-Transaction
Get-Transaction
RollbackPreference   SubscriberCount   Status
------------------   ---------------   ----------
Error                0                 RolledBack

Cette commande affiche les valeurs de propriété d’un objet transactionnel pour une transaction qui a été restaurée.

Exemple 4 : Afficher les valeurs de propriété d’une transaction validée

Set-Location HKLM:\software
Start-Transaction
New-Item MyCompany -UseTransaction
Complete-Transaction
Get-Transaction
RollbackPreference   SubscriberCount   Status
------------------   ---------------   ---------
Error                1                 Committed

Cette commande affiche les valeurs de propriété d’un objet transactionnel pour une transaction validée.

Exemple 5 : Démarrer une transaction alors qu’une autre est en cours

Set-Location HKLM:\software
Start-Transaction
New-Item MyCompany -UseTransaction
Start-Transaction
New-Item MyCompany2 -UseTransaction
Get-Transaction
RollbackPreference   SubscriberCount   Status
------------------   ---------------   ------
Error                2                 Active
Complete-Transaction
Get-Transaction
RollbackPreference   SubscriberCount   Status
------------------   ---------------   ------
Error                1                 Active
Complete-Transaction
Get-Transaction
RollbackPreference   SubscriberCount   Status
------------------   ---------------   ---------
Error                1                 Committed

Cet exemple montre l’effet sur l’objet transactionnel de démarrage d’une transaction pendant qu’une autre transaction est en cours. En règle générale, cela se produit lorsqu’un script qui exécute une transaction inclut une fonction ou appelle un script qui contient une autre transaction complète.

Sauf si la deuxième commande Start-Transaction inclut le paramètre Independent, Start-Transaction ne crée pas de transaction. Au lieu de cela, il ajoute un deuxième abonné à la transaction d’origine.

La première commande Start-Transaction démarre la transaction. Une commande New-Item avec le paramètre UseTransaction fait partie de la transaction.

Une deuxième commande Start-Transaction ajoute un abonné à la transaction. La commande New-Item suivante fait également partie de la transaction.

La première commande Get-Transaction affiche la transaction multi-abonné. Notez que le nombre d’abonnés est 2.

La première commande Complete-Transaction ne valide pas la transaction, mais réduit le nombre d’abonnés à 1.

La deuxième commande Complete-Transaction valide la transaction.

Exemple 6 : Démarrer une transaction indépendante alors qu’une autre est en cours

Set-Location HKLM:\software
Start-Transaction
Get-Transaction
RollbackPreference   SubscriberCount   IsRolledBack   IsCommitted
------------------   ---------------   ------------   -----------
Error                1                 False          False
Start-Transaction -Independent
Get-Transaction
RollbackPreference   SubscriberCount   IsRolledBack   IsCommitted
------------------   ---------------   ------------   -----------
Error                1                 False          False
Complete-Transaction
Get-Transaction
Complete-Transaction
Get-Transaction

Cet exemple montre l’effet sur l’objet transactionnel de démarrage d’une transaction indépendante alors qu’une autre transaction est en cours.

La première commande Start-Transaction démarre la transaction. Une commande New-Item avec le paramètre UseTransaction fait partie de la transaction.

Une deuxième commande Start-Transaction ajoute un abonné à la transaction. La commande New-Item suivante fait également partie de la transaction.

La première commande Get-Transaction affiche la transaction multi-abonné. Notez que le nombre d’abonnés est 2.

La commande Complete-Transaction réduit le nombre d’abonnés à 1, mais elle ne valide pas la transaction.

La deuxième commande Complete-Transaction valide la transaction.

Entrées

None

Vous ne pouvez pas diriger les objets vers cette applet de commande.

Sorties

PSTransaction

Cette applet de commande retourne un objet qui représente la transaction actuelle.