Compartilhar via


Get-Transaction

Obtém a transação atual (ativa).

Syntax

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

PSTransaction

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