Ottiene la transazione corrente (attiva).

Sintassi

Get-Transaction [<CommonParameters>]

Descrizione

Con il cmdlet Get-Transaction viene ottenuto un oggetto che rappresenta la transazione corrente nella sessione.

Questo cmdlet non restituisce mai più di un oggetto, poiché è presente una sola transazione attiva alla volta. Se si avviano una o più transazioni indipendenti (utilizzando il parametro Independent di Start-Transaction) è attiva la transazione avviata più recentemente, ossia la transazione restituita da Get-Transaction.

Una volta eseguito il rollback o il commit di tutte le transazioni attive, Get-Transaction mostra la transazione attiva più di recente della sessione.

Il cmdlet Get-Transaction fa parte di un set di cmdlet che supportano la funzionalità delle transazioni in Windows PowerShell. Per ulteriori informazioni, vedere about_Transactions.

Parametri

<CommonParameters>

Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.

Input e output

Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.

Input

Nessuno

Non è possibile reindirizzare oggetti a questo cmdlet.

Output

System.Management.Automation.PSTransaction

Get-Transaction restituisce un oggetto che rappresenta la transazione corrente.

Esempio 1

C:\PS>start-transaction

C:\PS> get-transaction 

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

Descrizione
-----------
In questo comando viene utilizzato il cmdlet Get-Transaction per ottenere la transazione corrente.






Esempio 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;}

Descrizione
-----------
In questo comando viene utilizzato il cmdlet Get-Member per visualizzare le proprietà e i metodi dell'oggetto transazione.






Esempio 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

Descrizione
-----------
Con questo comando vengono visualizzati i valori delle proprietà di un oggetto transazione per una transazione di cui si eseguito il rollback.






Esempio 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

Descrizione
-----------
Con questo comando vengono visualizzati i valori delle proprietà di un oggetto transazione per una transazione di cui si eseguito il commit.






Esempio 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

Descrizione
-----------
In questo esempio viene illustrato l'effetto sull'oggetto transazione dell'avvio di una transazione mentre un'altra transazione è in corso. In genere questa situazione si verifica quando uno script che esegue una transazione include una funzione o chiama uno script che contiene un'altra transazione completa.

A meno che il secondo comando Start-Transaction non includa il parametro Independent, Start-Transaction non crea una nuova transazione. Viceversa, aggiunge un secondo sottoscrittore alla transazione originale. 

Il primo comando Start-Transaction avvia la transazione. Un comando New-Item con il parametro UseTransaction fa parte della transazione.

Con un secondo comando Start-Transaction viene aggiunto un sottoscrittore alla transazione. Anche il comando New-Item fa parte della transazione.

Il primo comando Get-Transaction mostra la transazione a più sottoscrittori. Si noti che il conteggio dei sottoscrittori è 2.

Il primo comando Complete-Transaction non esegue il commit della transazione, ma riduce il conteggio dei sottoscrittori a 1.

Il comando Complete-Transaction esegue il commit della transazione.






Esempio 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

Descrizione
-----------
In questo esempio viene illustrato l'effetto sull'oggetto transazione dell'avvio di una transazione indipendente mentre un'altra transazione è in corso.

Il primo comando Start-Transaction avvia la transazione. Un comando New-Item con il parametro UseTransaction fa parte della transazione.

Con un secondo comando Start-Transaction viene aggiunto un sottoscrittore alla transazione. Anche il comando New-Item fa parte della transazione.

Il primo comando Get-Transaction mostra la transazione a più sottoscrittori. Si noti che il conteggio dei sottoscrittori è 2.

Il primo comando Complete-Transaction riduce il conteggio dei sottoscrittori a 1 ma non esegue il commit della transazione.

Il comando Complete-Transaction esegue il commit della transazione.






Vedere anche




Argomenti della Guida