Freigeben über


Get-Transaction

Ruft die aktuelle (aktive) Transaktion ab.

Syntax

Default (Standard)

Get-Transaction

Beschreibung

Das Cmdlet Get-Transaction 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 starten (mithilfe des Independent-Parameters von Start-Transaction), ist die zuletzt gestartete Transaktion aktiv, und das ist die Transaktion, die Get-Transaction zurückgibt.

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

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

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

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

Beispiel 2: Anzeigen der Eigenschaften und Methoden des Transaktionsobjekts

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

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

Beispiel 3: Anzeigen der Eigenschaftswerte einer Rollbacktransaktion

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

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

Beispiel 4: Anzeigen der Eigenschaftswerte einer zugesicherten 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

Dieser Befehl zeigt die Eigenschaftswerte eines Transaktionsobjekts für eine Transaktion an, die zugesichert wurde.

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

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 diesem Beispiel wird der Effekt auf das Transaktionsobjekt gezeigt, bei dem eine Transaktion gestartet wird, während eine andere Transaktion ausgeführt wird. Dies geschieht in der Regel, wenn ein Skript, das eine Transaktion ausführt, eine Funktion enthält oder ein Skript aufruft, das eine weitere vollständige Transaktion enthält.

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

Der erste Start-Transaction-Befehl startet die Transaktion. Ein New-Item-Befehl 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 ebenfalls Teil der Transaktion.

Der erste Get-Transaction-Befehl zeigt die Transaktion mit mehreren Abonnenten an. Beachten Sie, dass die Anzahl der Abonnenten 2 ist.

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

Mit dem zweiten Complete-Transaction-Befehl wird ein Commit für die Transaktion ausgeführt.

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

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 diesem Beispiel wird der Effekt auf das Transaktionsobjekt gezeigt, bei dem 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 ebenfalls Teil der Transaktion.

Der erste Get-Transaction-Befehl zeigt die Transaktion mit mehreren Abonnenten an. Beachten Sie, dass die Anzahl der Abonnenten 2 ist.

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

Mit dem zweiten Complete-Transaction-Befehl wird ein Commit für die Transaktion ausgeführt.

Eingaben

None

Objekte können nicht an dieses Cmdlet weitergeleitet werden.

Ausgaben

PSTransaction

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