Get-Transaction
Hiermee haalt u de huidige (actieve) transactie op.
Syntaxis
Get-Transaction []
Description
De cmdlet Get-Transaction haalt een object op dat de huidige transactie in de sessie vertegenwoordigt.
Deze cmdlet retourneert nooit meer dan één object, omdat slechts één transactie tegelijk actief is. Als u een of meer onafhankelijke transacties start (met behulp van de onafhankelijke parameter van Start-Transaction), is de laatst gestarte transactie actief en dat is de transactie die Get-Transaction retourneert.
Wanneer alle actieve transacties zijn teruggedraaid of doorgevoerd, toont deze cmdlet de transactie die het laatst actief was in de sessie.
Deze cmdlet is een van een set cmdlets die ondersteuning bieden voor de transactiefunctie in Windows PowerShell. Zie about_Transactions voor meer informatie.
Voorbeelden
Voorbeeld 1: De huidige transactie ophalen
PS C:\> Start-Transaction
PS C:\> Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 1 Active
Met deze opdracht wordt de Get-Transaction-cmdlet gebruikt om de huidige transactie op te halen.
Voorbeeld 2: De eigenschappen en methoden van het transactieobject weergeven
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;}
Met deze opdracht wordt de cmdlet Get-Member gebruikt om de eigenschappen en methoden van het transactieobject weer te geven.
Voorbeeld 3: de eigenschapswaarden van een teruggedraaide transactie weergeven
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
Met deze opdracht worden de eigenschapswaarden van een transactieobject weergegeven voor een transactie die is teruggedraaid.
Voorbeeld 4: De eigenschapswaarden van een vastgelegde transactie weergeven
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
Met deze opdracht worden de eigenschapswaarden van een transactieobject weergegeven voor een transactie die is doorgevoerd.
Voorbeeld 5: Een transactie starten terwijl er een andere transactie wordt uitgevoerd
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 dit voorbeeld ziet u het effect op het transactieobject van het starten van een transactie terwijl er een andere transactie wordt uitgevoerd. Dit gebeurt meestal wanneer een script dat een transactie uitvoert een functie bevat of een script aanroept dat een andere volledige transactie bevat.
Tenzij de tweede opdracht Start-Transaction de parameter Independent bevat, maakt Start-Transaction geen nieuwe transactie. In plaats daarvan wordt een tweede abonnee toegevoegd aan de oorspronkelijke transactie.
De eerste opdracht Start-Transaction start de transactie. Een New-Item-opdracht met de parameter UseTransaction maakt deel uit van de transactie.
Met een tweede opdracht Start-Transaction voegt u een abonnee toe aan de transactie. De volgende New-Item opdracht maakt ook deel uit van de transactie.
In de eerste opdracht Get-Transaction wordt de transactie met meerdere abonnees weergegeven. U ziet dat het aantal abonnees 2 is.
De eerste Complete-Transaction opdracht voert de transactie niet door, maar vermindert het aantal abonnees tot 1.
Met de tweede opdracht Complete Transaction wordt de transactie doorgevoerd.
Voorbeeld 6: Een onafhankelijke transactie starten terwijl er een andere wordt uitgevoerd
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 dit voorbeeld ziet u het effect op het transactieobject van het starten van een onafhankelijke transactie terwijl er een andere transactie wordt uitgevoerd.
De eerste opdracht Start-Transaction start de transactie. Een opdracht New-Item met de parameter UseTransaction maakt deel uit van de transactie.
Met een tweede opdracht Start-Transaction voegt u een abonnee toe aan de transactie. De volgende opdracht New-Item maakt ook deel uit van de transactie.
In de eerste opdracht Get-Transaction wordt de transactie met meerdere abonnees weergegeven. Houd er rekening mee dat het aantal abonnees 2 is.
De opdracht Complete Transaction vermindert het aantal abonnees tot 1, maar de transactie wordt niet doorgevoerd.
Met de tweede opdracht Complete Transaction wordt de transactie doorgevoerd.
Invoerwaarden
None
U kunt geen objecten doorsluisen naar deze cmdlet.
Uitvoerwaarden
Met deze cmdlet wordt een object geretourneerd dat de huidige transactie vertegenwoordigt.