Delen via


Get-Transaction

Hiermee haalt u de huidige (actieve) transactie op.

Syntax

Get-Transaction []

Description

De Get-Transaction cmdlet 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 Start-Transaction), is de laatst gestarte transactie actief en dat is de transactie die Get-Transaction wordt geretourneerd.

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

Start-Transaction
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

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 Get-Member cmdlet gebruikt om de eigenschappen en methoden van het transactieobject weer te geven.

Voorbeeld 3: de eigenschapswaarden van een teruggedraaide transactie weergeven

Set-Location hklm:\software
Start-Transaction
New-Item MyCompany -UseTransaction
Undo-Transaction
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

Set-Location hklm:\software
Start-Transaction
New-Item MyCompany -UseTransaction
Complete-Transaction
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

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

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 Start-Transaction opdracht de onafhankelijke parameter bevat, Start-Transaction maakt u geen nieuwe transactie. In plaats daarvan wordt een tweede abonnee toegevoegd aan de oorspronkelijke transactie.

Met de eerste Start-Transaction opdracht wordt de transactie gestart. Een opdracht New-Item met de parameter UseTransaction maakt deel uit van de transactie.

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

De eerste Get-Transaction opdracht toont de transactie met meerdere abonnees. U ziet dat het aantal abonnees 2 is.

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

Met de tweede Complete-Transaction opdracht wordt de transactie doorgevoerd.

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

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

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

Met de eerste Start-Transaction opdracht wordt de transactie gestart. Een New-Item opdracht met de parameter UseTransaction maakt deel uit van de transactie.

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

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

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

Met de tweede Complete-Transaction opdracht 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.