Get-Transaction
Obtém a transação atual (ativa).
Sintaxe
Get-Transaction []
Description
O Get-Transaction
cmdlet obtém um objeto que representa a transação atual na sessão.
Esse cmdlet nunca retorna mais de um objeto, porque somente uma transação está ativa por vez. Se você iniciar uma ou mais transações independentes (usando o parâmetro Independent de Start-Transaction), a transação iniciada mais recentemente estará ativa e essa é a transação que Get-Transaction
retorna.
Quando todas as transações ativas tiverem sido revertidas ou confirmadas, esse cmdlet mostrará a transação que estava ativa mais recentemente na sessão.
Esse cmdlet faz parte de um conjunto de cmdlets que oferecem suporte ao recurso de transações no Windows PowerShell. Para obter mais informações, consulte about_Transactions.
Exemplos
Exemplo 1: Obter a transação atual
Start-Transaction
Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 1 Active
Esse comando usa o Get-Transaction
cmdlet para obter a transação atual.
Exemplo 2: Mostrar as propriedades e os métodos do objeto de transação
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;}
Esse comando usa o Get-Member
cmdlet para mostrar as propriedades e os métodos do objeto de transação.
Exemplo 3: Mostrar os valores de propriedade de uma transação revertida
Set-Location hklm:\software
Start-Transaction
New-Item MyCompany -UseTransaction
Undo-Transaction
Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- ----------
Error 0 RolledBack
Esse comando mostra os valores de propriedade de um objeto de transação para uma transação que foi revertida.
Exemplo 4: Mostrar os valores de propriedade de uma transação confirmada
Set-Location hklm:\software
Start-Transaction
New-Item MyCompany -UseTransaction
Complete-Transaction
Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- ---------
Error 1 Committed
Esse comando mostra os valores de propriedade de um objeto de transação para uma transação que foi confirmada.
Exemplo 5: Iniciar uma transação enquanto outra está em andamento
Set-Location hklm:\software
Start-Transaction
New-Item MyCompany -UseTransaction
Start-Transaction
New-Item MyCompany2 -UseTransaction
Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 2 Active
Complete-Transaction
Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 1 Active
Complete-Transaction
Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- ---------
Error 1 Committed
Este exemplo mostra o efeito sobre o objeto de transação de iniciar uma transação enquanto outra transação está em andamento. Normalmente, isso ocorre quando um script que executa uma transação inclui uma função ou chama um script que contém outra transação completa.
A menos que o segundo Start-Transaction
comando inclua o parâmetro Independent , Start-Transaction
não cria uma nova transação. Em vez disso, ele adiciona um segundo assinante à transação original.
O primeiro Start-Transaction
comando inicia a transação. Um comando New-Item com o parâmetro UseTransaction faz parte da transação.
Um segundo Start-Transaction
comando adiciona um assinante à transação. O próximo New-Item
comando também faz parte da transação.
O primeiro Get-Transaction
comando mostra a transação de vários assinantes.
Observe que a contagem de assinantes é 2.
O primeiro comando Complete-Transaction não confirma a transação, mas reduz a contagem de assinantes para 1.
O segundo Complete-Transaction
comando confirma a transação.
Exemplo 6: Iniciar uma transação independente enquanto outra está em andamento
Set-Location hklm:\software
Start-Transaction
Get-Transaction
RollbackPreference SubscriberCount IsRolledBack IsCommitted
------------------ --------------- ------------ -----------
Error 1 False False
Start-Transaction -Independent
Get-Transaction
RollbackPreference SubscriberCount IsRolledBack IsCommitted
------------------ --------------- ------------ -----------
Error 1 False False
Complete-Transaction
Get-Transaction
Complete-Transaction
Get-Transaction
Este exemplo mostra o efeito sobre o objeto de transação de iniciar uma transação independente enquanto outra transação está em andamento.
O primeiro Start-Transaction
comando inicia a transação. Um New-Item
comando com o parâmetro UseTransaction faz parte da transação.
Um segundo Start-Transaction
comando adiciona um assinante à transação. O próximo New-Item
comando também faz parte da transação.
O primeiro Get-Transaction
comando mostra a transação de vários assinantes. Observe que a contagem de assinantes é 2.
O Complete-Transaction
comando reduz a contagem de assinantes para 1, mas não confirma a transação.
O segundo Complete-Transaction
comando confirma a transação.
Entradas
None
Não é possível transferir objetos para esse cmdlet.
Saídas
Esse cmdlet retorna um objeto que representa a transação atual.