Get-Transaction
Obtém a transação atual (ativa).
Sintaxe
Get-Transaction []
Description
O cmdlet Get-Transaction obtém um objeto que representa a transação atual na sessão.
Esse cmdlet nunca retorna mais de um objeto, porque apenas uma transação está ativa de cada 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, este cmdlet mostra a transação que esteve ativa mais recentemente na sessão.
Este cmdlet faz parte de um conjunto de cmdlets que dão 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
PS C:\> Start-Transaction
PS C:\> Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 1 Active
Este comando usa o cmdlet Get-Transaction para obter a transação atual.
Exemplo 2: Mostrar as propriedades e os métodos do objeto de transação
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;}
Este comando usa o cmdlet Get-Member 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
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
Este 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
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
Este 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
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
Este exemplo mostra o efeito no objeto de transação de iniciar uma transação enquanto outra transação está em andamento. Normalmente, isso acontece 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 comando Start-Transaction inclua o parâmetro Independent, Start-Transaction não cria uma nova transação. Em vez disso, adiciona um segundo assinante à transação original.
O primeiro comando Start-Transaction inicia a transação. Um comando New-Item com o parâmetro UseTransaction faz parte da transação.
Um segundo comando Start-Transaction adiciona um assinante à transação. O comando next New-Item também faz parte da transação.
O primeiro comando Get-Transaction 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 comando Complete-Transaction confirma a transação.
Exemplo 6: Iniciar uma transação independente enquanto outra está em andamento
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
Este exemplo mostra o efeito no objeto de transação de iniciar uma transação independente enquanto outra transação está em andamento.
O primeiro comando Start-Transaction inicia a transação.
Um comando
Um segundo comando Start-Transaction adiciona um assinante à transação. O próximo comando New-Item também faz parte da transação.
O primeiro comando Get-Transaction mostra a transação de vários assinantes. Observe que a contagem de assinantes é 2.
O comando Complete-Transaction reduz a contagem de assinantes para 1, mas não confirma a transação.
O segundo comando Complete-Transaction confirma a transação.
Entradas
None
Não é possível canalizar objetos para este cmdlet.
Saídas
Este cmdlet retorna um objeto que representa a transação atual.