Freigeben über


Get-Transaction

Ruft die aktuelle (aktive) Transaktion ab.

Syntax

Get-Transaction [<CommonParameters>]

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 Independent-Parameter von Start-Transaction) starten, ist die zuletzt gestartete Transaktion aktiv. Diese Transaktion wird von Get-Transaction zurückgegeben.

Wenn alle aktiven Transaktionen zurückgesetzt wurden oder ein Commit ausgeführt wurde, zeigt Get-Transaction die Transaktion an, die zuletzt in der Sitzung aktiv war.

Das Cmdlet "Get-Transaction" gehört zu einem Satz von Cmdlets, die das Transaktionsfeature in Windows PowerShell unterstützen. Weitere Informationen finden Sie unter "about_Transactions".

Parameter

<CommonParameters>

Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.

Eingaben und Ausgaben

Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.

Eingaben

Keiner

Objekte können nicht über die Pipeline an dieses Cmdlet übergeben werden.

Ausgaben

System.Management.Automation.PSTransaction

Das Cmdlet "Get-Transaction" gibt ein Objekt zurück, das die aktuelle Transaktion darstellt.

Beispiel 1

C:\PS>start-transaction

C:\PS> get-transaction 

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

Beschreibung
-----------
Dieser Befehl ruft mit dem Cmdlet "Get-Transaction" die aktuelle Transaktion ab.





Beispiel 2

C:\PS>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;}

Beschreibung
-----------
Dieser Befehl zeigt mit dem Cmdlet "Get-Member" die Eigenschaften und Methoden des Transaktionsobjekts an.





Beispiel 3

C:\PS>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

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





Beispiel 4

C:\PS>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

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





Beispiel 5

C:\PS>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

Beschreibung
-----------
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 Independent-Parameter nicht einschließt, erstellt Start-Transaction keine neue Transaktion. Stattdessen wird der ursprünglichen Transaktion ein zweiter Abonnent hinzugefügt. 

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

Der zweite Befehl "Start-Transaction" fügt der Transaktion einen Abonnenten hinzu. Der nächste Befehl "New-Item" ist ebenfalls Teil der Transaktion.

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

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

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





Beispiel 6

C:\PS>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

Beschreibung
-----------
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 Befehl "Start-Transaction" startet die Transaktion. Der Befehl "New-Item" mit dem UseTransaction-Parameter ist Teil der Transaktion.

Der zweite Befehl "Start-Transaction" fügt der Transaktion einen Abonnenten hinzu. Der nächste Befehl "New-Item" ist ebenfalls Teil der Transaktion.

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

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

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





Siehe auch

Konzepte

about_Transactions
about_Providers
Start-Transaction
Complete-Transaction
Undo-Transaction
Use-Transaction