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 starten (indem Sie den Independent-Parameter von Start-Transaction verwenden), ist die zuletzt gestartete Transaktion aktiv, und dies ist die Transaktion, die Get-Transaction zurückgibt.
Wenn alle aktiven Transaktionen entweder zurückgesetzt oder committet wurden, zeigt dieses Cmdlet die Transaktion an, die zuletzt in der Sitzung aktiv war.
Dieses Cmdlet ist eines von mehreren Cmdlets, die das Transaktionsfeature in Windows PowerShell unterstützen. Weitere Informationen finden Sie unter %%amp;quot;about_Transactions%%amp;quot;.
Beispiele
Beispiel 1: Abrufen der aktuellen Transaktion
PS C:\> Start-Transaction
PS C:\> Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 1 Active
Dieser Befehl ruft mit dem Cmdlet %%amp;quot;Get-Transaction%%amp;quot; die aktuelle Transaktion ab.
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;}
Dieser Befehl zeigt mit dem Cmdlet %%amp;quot;Get-Member%%amp;quot; die Eigenschaften und Methoden des Transaktionsobjekts an.
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 Eigenschaftenwerte eines Transaktionsobjekts für eine Transaktion an, die zurückgesetzt wurde.
Beispiel 4: Anzeigen der Eigenschaftswerte einer committeten 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 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
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 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.
Wenn der zweite Befehl Start-Transaction den Unabhängigen Parameter nicht enthält, erstellt Start-Transaction keine neue Transaktion. Stattdessen wird der ursprünglichen Transaktion ein zweiter Abonnent hinzugefügt.
Mit dem ersten Befehl Start-Transaction wird die Transaktion gestartet. 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 Befehl %%amp;quot;New-Item%%amp;quot; ist ebenfalls 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 Befehl Complete-Transaction committ die Transaktion.
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 werden die Auswirkungen auf das Transaktionsobjekt veranschaulicht, wenn eine unabhängige Transaktion gestartet wird, während eine andere Transaktion ausgeführt wird.
Mit dem ersten Befehl Start-Transaction wird die Transaktion gestartet. 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 Abonnentenanzahl 2 beträgt.
Mit dem Befehl Complete-Transaction wird die Abonnentenanzahl auf 1 reduziert, die Transaktion wird jedoch nicht committent.
Der zweite Befehl Complete-Transaction committ die Transaktion.
Eingaben
None
Objekte können nicht an dieses Cmdlet weitergereicht werden.
Ausgaben
Dieses Cmdlet gibt ein Objekt zurück, das die aktuelle Transaktion darstellt.