Get-Transaction
Získá aktuální (aktivní) transakce.
Syntaxe
Get-Transaction []
Description
Rutina Get-Transaction získá objekt, který představuje aktuální transakci v relaci.
Tato rutina nikdy nevrací více než jeden objekt, protože najednou je aktivní pouze jedna transakce. Pokud spustíte jednu nebo více nezávislých transakcí (pomocí nezávislého parametru Start-Transaction), je naposledy spuštěná transakce aktivní a to je transakce, která Get-Transaction vrátí.
Pokud byly všechny aktivní transakce vráceny zpět nebo potvrzeny, tato rutina zobrazí transakci, která byla naposledy aktivní v relaci.
Tato rutina je jednou ze sady rutin, které podporují funkci transakcí ve Windows PowerShellu. Další informace najdete v tématu about_Transactions.
Příklady
Příklad 1: Získání aktuální transakce
PS C:\> Start-Transaction
PS C:\> Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 1 Active
Tento příkaz používá rutinu Get-Transaction k získání aktuální transakce.
Příklad 2: Zobrazení vlastností a metod objektu transakce
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;}
Tento příkaz používá rutinu Get-Member k zobrazení vlastností a metod objektu transakce.
Příklad 3: Zobrazení hodnot vlastností vrácené transakce
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
Tento příkaz zobrazuje hodnoty vlastností objektu transakce pro transakci, která byla vrácena zpět.
Příklad 4: Zobrazení hodnot vlastností potvrzené transakce
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
Tento příkaz zobrazí hodnoty vlastností objektu transakce pro transakce, která byla potvrzena.
Příklad 5: Spuštění transakce, zatímco probíhá jiná
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
Tento příklad ukazuje účinek na objekt transakce spuštění transakce, zatímco probíhá jiná transakce. K tomu obvykle dochází v případě, že skript, který spouští transakci, obsahuje funkci nebo volá skript, který obsahuje jinou úplnou transakci.
Pokud druhý příkaz Start-Transaction neobsahuje parametr Independent, Start-Transaction nevytváří novou transakci. Místo toho přidá k původní transakci druhý odběratel.
První Start-Transaction příkaz spustí transakci. New-Item příkaz s parametrem UseTransaction je součástí transakce.
Druhý start-transaction příkaz přidá odběratele transakce. Další New-Item příkaz je také součástí transakce.
První Get-Transaction příkaz zobrazí transakci s více předplatiteli. Všimněte si, že počet odběratelů je 2.
První Complete-Transaction příkaz neaktoruje transakci, ale snižuje počet odběratelů na 1.
Druhý Complete-Transaction příkaz potvrdí transakci.
Příklad 6: Spuštění nezávislé transakce, zatímco probíhá jiná
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
Tento příklad ukazuje účinek na objekt transakce spuštění nezávislé transakce, zatímco probíhá jiná transakce.
První Start-Transaction příkaz spustí transakci. Příkaz New-Item s parametrem UseTransaction je součástí transakce.
Druhý start-transaction příkaz přidá odběratele transakce. Další příkaz New-Item je také součástí transakce.
První Get-Transaction příkaz zobrazí transakci s více předplatiteli. Všimněte si, že počet odběratelů je 2.
Příkaz Complete-Transaction snižuje počet odběratelů na 1, ale ne potvrzení transakce.
Druhý Complete-Transaction příkaz potvrdí transakci.
Vstupy
None
Do této rutiny nelze vést objekty.
Výstupy
Tato rutina vrátí objekt, který představuje aktuální transakci.