Get-Transaction

Ruft die aktuelle (aktive) Transaktion ab.

Syntax

Get-Transaction []

Beschreibung

Das Get-Transaction Cmdlet ruft ein Objekt ab, das die aktuelle Transaktion in der Sitzung darstellt.

Dieses Cmdlet gibt nie mehr als ein Objekt zurück, da jeweils nur eine Transaktion aktiv ist. Wenn Sie eine oder mehrere unabhängige Transaktionen (mit dem Parameter "Independent" von Start-Transaction) starten, ist die zuletzt gestartete Transaktion aktiv und dies ist die zurückgegebene Transaktion Get-Transaction .

Wenn alle aktiven Transaktionen entweder zurückgesetzt oder zugesichert wurden, zeigt dieses Cmdlet die Transaktion an, die zuletzt in der Sitzung aktiv war.

Dieses Cmdlet ist einer der Cmdlets, die das Transaktionsfeature in Windows PowerShell unterstützen. Weitere Informationen finden Sie unter about_Transactions.

Beispiele

Beispiel 1: Abrufen der aktuellen Transaktion

Start-Transaction
Get-Transaction

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

Dieser Befehl verwendet das Get-Transaction Cmdlet, um die aktuelle Transaktion abzurufen.

Beispiel 2: Anzeigen der Eigenschaften und Methoden des Transaktionsobjekts

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

Dieser Befehl verwendet das Get-Member Cmdlet, um die Eigenschaften und Methoden des Transaktionsobjekts anzuzeigen.

Beispiel 3: Anzeigen der Eigenschaftswerte einer Rollbacktransaktion

Set-Location hklm:\software
Start-Transaction
New-Item MyCompany -UseTransaction
Undo-Transaction
Get-Transaction

RollbackPreference   SubscriberCount   Status
------------------   ---------------   ----------
Error                0                 RolledBack

Dieser Befehl zeigt die Eigenschaftenwerte eines Transaktionsobjekts für eine Transaktion an, die zurückgesetzt wurde.

Beispiel 4: Anzeigen der Eigenschaftswerte einer zugesicherten Transaktion

Set-Location hklm:\software
Start-Transaction
New-Item MyCompany -UseTransaction
Complete-Transaction
Get-Transaction

RollbackPreference   SubscriberCount   Status
------------------   ---------------   ---------
Error                1                 Committed

Dieser Befehl zeigt die Eigenschaftenwerte eines Transaktionsobjekts für eine Transaktion an, für die ein Commit ausgeführt wurde.

Beispiel 5: Starten einer Transaktion, während eine andere ausgeführt wird

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 diesem Beispiel werden die Auswirkungen auf das Transaktionsobjekt veranschaulicht, wenn eine Transaktion gestartet wird, während eine andere Transaktion ausgeführt wird. Dies geschieht normalerweise, wenn ein Skript, das eine Transaktion ausführt, eine Funktion enthält oder ein Skript aufruft, die bzw. das eine andere vollständige Transaktion enthält.

Sofern der zweite Start-Transaction Befehl nicht den Parameter "Independent " enthält, Start-Transaction wird keine neue Transaktion erstellt. Stattdessen wird der ursprünglichen Transaktion ein zweiter Abonnent hinzugefügt.

Der erste Start-Transaction Befehl startet die Transaktion. Ein Befehl "New-Item" mit dem Parameter "UseTransaction " ist Teil der Transaktion.

Ein zweiter Start-Transaction Befehl fügt der Transaktion einen Abonnenten hinzu. Der nächste New-Item Befehl ist auch Teil der Transaktion.

Der erste Get-Transaction Befehl zeigt die Transaktion mit mehreren Abonnenten an. Beachten Sie, dass die Abonnentenanzahl 2 beträgt.

Der erste Befehl %%amp;quot;Complete-Transaction%%amp;quot; führt keinen Commit für die Transaktion aus, die Abonnentenanzahl wird jedoch auf 1 verringert.

Der zweite Complete-Transaction Befehl führt einen Commit für die Transaktion durch.

Beispiel 6: Starten einer unabhängigen Transaktion, während eine andere ausgeführt wird

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 diesem Beispiel werden die Auswirkungen auf das Transaktionsobjekt veranschaulicht, wenn eine unabhängige Transaktion gestartet wird, während eine andere Transaktion ausgeführt wird.

Der erste Start-Transaction Befehl startet die Transaktion. Ein New-Item Befehl mit dem UseTransaction-Parameter ist Teil der Transaktion.

Ein zweiter Start-Transaction Befehl fügt der Transaktion einen Abonnenten hinzu. Der nächste New-Item Befehl ist auch Teil der Transaktion.

Der erste Get-Transaction Befehl zeigt die Transaktion mit mehreren Abonnenten an. Beachten Sie, dass die Abonnentenanzahl 2 beträgt.

Der Complete-Transaction Befehl reduziert die Anzahl der Abonnenten auf 1, führt jedoch keinen Commit für die Transaktion durch.

Der zweite Complete-Transaction Befehl führt einen Commit für die Transaktion durch.

Eingaben

None

Objekte können nicht an dieses Cmdlet weitergereicht werden.

Ausgaben

PSTransaction

Dieses Cmdlet gibt ein Objekt zurück, das die aktuelle Transaktion darstellt.