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 en cours 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écente est active, et il s’agit de la transaction renvoyée par Get-Transaction .

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

PS C:\> Start-Transaction
PS C:\> 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

PS C:\> 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

PS C:\> cd hklm:\software
HKLM:\SOFTWARE> Start-Transaction
HKLM:\SOFTWARE> New-Item MyCompany -UseTransaction
HKLM:\SOFTWARE> Undo-Transaction
HKLM:\SOFTWARE> 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

PS C:\> cd hklm:\software
HKLM:\SOFTWARE> Start-Transaction
HKLM:\SOFTWARE> New-Item MyCompany -UseTransaction
HKLM:\SOFTWARE> Complete-Transaction
HKLM:\SOFTWARE> 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

PS C:\> cd hklm:\software
HKLM:\SOFTWARE> Start-Transaction
HKLM:\SOFTWARE> New-Item MyCompany -UseTransaction
HKLM:\SOFTWARE> Start-Transaction
HKLM:\SOFTWARE> New-Item MyCompany2 -UseTransaction
HKLM:\SOFTWARE> Get-Transaction

RollbackPreference   SubscriberCount   Status
------------------   ---------------   ------
Error                2                 Active

HKLM:\SOFTWARE> Complete-Transaction
HKLM:\SOFTWARE> Get-Transaction

RollbackPreference   SubscriberCount   Status
------------------   ---------------   ------
Error                1                 Active

HKLM:\SOFTWARE> Complete-Transaction
HKLM:\SOFTWARE> 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.

À moins que la deuxième commande Start-Transaction n’inclue le paramètre Independent , Start-Transaction ne crée pas de nouvelle 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és. 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

PS C:\>
HKLM:\SOFTWARE> Start-Transaction
HKLM:\SOFTWARE> Get-Transaction

RollbackPreference   SubscriberCount   IsRolledBack   IsCommitted
------------------   ---------------   ------------   -----------
Error                1                 False          False

HKLM:\SOFTWARE> Start-Transaction -Independent
HKLM:\SOFTWARE> Get-Transaction

RollbackPreference   SubscriberCount   IsRolledBack   IsCommitted
------------------   ---------------   ------------   -----------
Error                1                 False          False

HKLM:\SOFTWARE> Complete-Transaction
HKLM:\SOFTWARE> Get-Transaction
HKLM:\SOFTWARE> Complete-Transaction
HKLM:\SOFTWARE> 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 Nouvel élément suivante fait également partie de la transaction.

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

La commande Complete-Transaction réduit le nombre d’abonnés à 1, mais 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.