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