Dela via


Get-Transaction

Hämtar den aktuella (aktiva) transaktionen.

Syntax

Get-Transaction []

Description

Cmdleten Get-Transaction hämtar ett objekt som representerar den aktuella transaktionen i sessionen.

Den här cmdleten returnerar aldrig fler än ett objekt, eftersom endast en transaktion är aktiv i taget. Om du startar en eller flera oberoende transaktioner (med hjälp av den oberoende parametern för Start-Transaction) är den senast startade transaktionen aktiv och det är den transaktion som Get-Transaction- returnerar.

När alla aktiva transaktioner antingen har återställts eller checkats in visar den här cmdleten transaktionen som senast var aktiv i sessionen.

Den här cmdleten är en av en uppsättning cmdletar som stöder transaktionsfunktionen i Windows PowerShell. Mer information finns i about_Transactions.

Exempel

Exempel 1: Hämta den aktuella transaktionen

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

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

Det här kommandot använder cmdleten Get-Transaction för att hämta den aktuella transaktionen.

Exempel 2: Visa egenskaperna och metoderna för transaktionsobjektet

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;}

Det här kommandot använder cmdleten Get-Member för att visa egenskaperna och metoderna för transaktionsobjektet.

Exempel 3: Visa egenskapsvärdena för en återställd transaktion

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

Det här kommandot visar egenskapsvärdena för ett transaktionsobjekt för en transaktion som har återställts.

Exempel 4: Visa egenskapsvärdena för en bekräftad transaktion

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

Det här kommandot visar egenskapsvärdena för ett transaktionsobjekt för en transaktion som har checkats in.

Exempel 5: Starta en transaktion medan en annan pågår

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

Det här exemplet visar effekten på transaktionsobjektet för att starta en transaktion medan en annan transaktion pågår. Detta inträffar vanligtvis när ett skript som kör en transaktion innehåller en funktion eller anropar ett skript som innehåller en annan fullständig transaktion.

Om inte det andra kommandot Start-Transaction innehåller parametern Independent skapar Start-Transaction ingen ny transaktion. I stället läggs en andra prenumerant till den ursprungliga transaktionen.

Det första kommandot Start-Transaction startar transaktionen. Ett New-Item-kommando med parametern UseTransaction ingår i transaktionen.

Ett andra kommandot Start-Transaction lägger till en prenumerant i transaktionen. Nästa New-Item kommando är också en del av transaktionen.

Det första kommandot Get-Transaction visar transaktionen för flera prenumeranter. Observera att antalet prenumeranter är 2.

Det första Complete-Transaction-kommandot checkar inte in transaktionen, men det minskar antalet prenumeranter till 1.

Det andra kommandot Complete-Transaction checkar in transaktionen.

Exempel 6: Starta en oberoende transaktion medan en annan pågår

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

Det här exemplet visar effekten på transaktionsobjektet att starta en oberoende transaktion medan en annan transaktion pågår.

Det första kommandot Start-Transaction startar transaktionen. Ett new-item-kommando med parametern UseTransaction ingår i transaktionen.

Ett andra kommandot Start-Transaction lägger till en prenumerant i transaktionen. Nästa kommandot New-Item ingår också i transaktionen.

Det första kommandot Get-Transaction visar transaktionen för flera prenumeranter. Observera att antalet prenumeranter är 2.

Kommandot Complete-Transaction minskar antalet prenumeranter till 1, men transaktionen checkas inte in.

Det andra kommandot Complete-Transaction checkar in transaktionen.

Indata

None

Du kan inte skicka objekt till den här cmdleten.

Utdata

PSTransaction

Den här cmdleten returnerar ett objekt som representerar den aktuella transaktionen.