Partager via


Get-Transaction

Obtient la transaction actuelle (active).

Syntaxe

Get-Transaction []

Description

L’applet Get-Transaction de commande 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 Get-Transaction de commande 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 Get-Member de commande 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 transaction d'une transaction 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 transaction d'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 illustre le démarrage d'une transaction pendant qu'une autre transaction est en cours et ses effets sur l'objet transaction. En général, 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 Start-Transaction commande inclut le paramètre Independent , Start-Transaction ne crée pas de transaction. Au lieu de cela, elle ajoute un deuxième abonné à la transaction d'origine.

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

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

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

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

La deuxième Complete-Transaction commande 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 illustre le démarrage d'une transaction indépendante pendant qu'une autre transaction est en cours et ses effets sur l'objet transaction.

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

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

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

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

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

Entrées

None

Vous ne pouvez pas rediriger des objets vers cette applet de commande.

Sorties

PSTransaction

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