Get-Transaction
Ruft die aktuelle (aktive) Transaktion ab.
Syntax
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 (mit dem Parameter "Independent" von Start-Transaction) starten, 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
Start-Transaction
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
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 Cmdlet Get-Member
, 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 Eigenschaftswerte 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 Eigenschaftswerte eines Transaktionsobjekts für eine Transaktion an, die zugesichert 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 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 den Parameter Independent 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.
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 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 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 Befehl Complete-Transaction
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 weitergeleitet werden.
Ausgaben
Dieses Cmdlet gibt ein Objekt zurück, das die aktuelle Transaktion darstellt.