Delen via


Get-Transaction

Hiermee haalt u de huidige (actieve) transactie op.

Syntaxis

Get-Transaction []

Description

De cmdlet Get-Transaction haalt een object op dat de huidige transactie in de sessie vertegenwoordigt.

Deze cmdlet retourneert nooit meer dan één object, omdat slechts één transactie tegelijk actief is. Als u een of meer onafhankelijke transacties start (met behulp van de onafhankelijke parameter van Start-Transaction), is de laatst gestarte transactie actief en dat is de transactie die Get-Transaction retourneert.

Wanneer alle actieve transacties zijn teruggedraaid of doorgevoerd, toont deze cmdlet de transactie die het laatst actief was in de sessie.

Deze cmdlet is een van een set cmdlets die ondersteuning bieden voor de transactiefunctie in Windows PowerShell. Zie about_Transactions voor meer informatie.

Voorbeelden

Voorbeeld 1: De huidige transactie ophalen

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

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

Met deze opdracht wordt de Get-Transaction-cmdlet gebruikt om de huidige transactie op te halen.

Voorbeeld 2: De eigenschappen en methoden van het transactieobject weergeven

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

Met deze opdracht wordt de cmdlet Get-Member gebruikt om de eigenschappen en methoden van het transactieobject weer te geven.

Voorbeeld 3: de eigenschapswaarden van een teruggedraaide transactie weergeven

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

Met deze opdracht worden de eigenschapswaarden van een transactieobject weergegeven voor een transactie die is teruggedraaid.

Voorbeeld 4: De eigenschapswaarden van een vastgelegde transactie weergeven

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

Met deze opdracht worden de eigenschapswaarden van een transactieobject weergegeven voor een transactie die is doorgevoerd.

Voorbeeld 5: Een transactie starten terwijl er een andere transactie wordt uitgevoerd

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

In dit voorbeeld ziet u het effect op het transactieobject van het starten van een transactie terwijl er een andere transactie wordt uitgevoerd. Dit gebeurt meestal wanneer een script dat een transactie uitvoert een functie bevat of een script aanroept dat een andere volledige transactie bevat.

Tenzij de tweede opdracht Start-Transaction de parameter Independent bevat, maakt Start-Transaction geen nieuwe transactie. In plaats daarvan wordt een tweede abonnee toegevoegd aan de oorspronkelijke transactie.

De eerste opdracht Start-Transaction start de transactie. Een New-Item-opdracht met de parameter UseTransaction maakt deel uit van de transactie.

Met een tweede opdracht Start-Transaction voegt u een abonnee toe aan de transactie. De volgende New-Item opdracht maakt ook deel uit van de transactie.

In de eerste opdracht Get-Transaction wordt de transactie met meerdere abonnees weergegeven. U ziet dat het aantal abonnees 2 is.

De eerste Complete-Transaction opdracht voert de transactie niet door, maar vermindert het aantal abonnees tot 1.

Met de tweede opdracht Complete Transaction wordt de transactie doorgevoerd.

Voorbeeld 6: Een onafhankelijke transactie starten terwijl er een andere wordt uitgevoerd

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

In dit voorbeeld ziet u het effect op het transactieobject van het starten van een onafhankelijke transactie terwijl er een andere transactie wordt uitgevoerd.

De eerste opdracht Start-Transaction start de transactie. Een opdracht New-Item met de parameter UseTransaction maakt deel uit van de transactie.

Met een tweede opdracht Start-Transaction voegt u een abonnee toe aan de transactie. De volgende opdracht New-Item maakt ook deel uit van de transactie.

In de eerste opdracht Get-Transaction wordt de transactie met meerdere abonnees weergegeven. Houd er rekening mee dat het aantal abonnees 2 is.

De opdracht Complete Transaction vermindert het aantal abonnees tot 1, maar de transactie wordt niet doorgevoerd.

Met de tweede opdracht Complete Transaction wordt de transactie doorgevoerd.

Invoerwaarden

None

U kunt geen objecten doorsluisen naar deze cmdlet.

Uitvoerwaarden

PSTransaction

Met deze cmdlet wordt een object geretourneerd dat de huidige transactie vertegenwoordigt.