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 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

Start-Transaction
Get-Transaction

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

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

Este 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

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

Set-Location hklm:\software
Start-Transaction
New-Item MyCompany -UseTransaction
Complete-Transaction
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

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 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 Start-Transaction comando 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 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 no 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 canalizar objetos para este cmdlet.

Saídas

PSTransaction

Este cmdlet retorna um objeto que representa a transação atual.