Use-Transaction
Adiciona o bloco de script à transação ativa.
Sintaxe
Use-Transaction
[-TransactedScript] <ScriptBlock>
[-UseTransaction]
[<CommonParameters>]
Description
O Use-Transaction
cmdlet adiciona um bloco de script a uma transação ativa. Isso permite que você faça scripts transacionados usando objetos do Microsoft .NET Framework habilitados para transação. O bloco de script pode conter apenas objetos .NET Framework habilitados para transação, como instâncias da classe Microsoft.PowerShell.Commands.Management.TransactedString .
O parâmetro UseTransaction , que é opcional para a maioria dos cmdlets, é necessário quando você usa esse cmdlet.
Use-Transaction
é um 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: Script usando um objeto habilitado para transação
Start-Transaction
$transactedString = New-Object Microsoft.PowerShell.Commands.Management.TransactedString
$transactedString.Append("Hello")
Use-Transaction -TransactedScript { $transactedString.Append(", World") } -UseTransaction
$transactedString.ToString()
Hello
Use-Transaction -TransactedScript { $transactedString.ToString() } -UseTransaction
Hello, World
Complete-Transaction
$transactedString.ToString()
Hello, World
Este exemplo mostra como usar Use-Transaction
o script em um objeto .NET Framework habilitado para transação. Nesse caso, o objeto é um objeto TransactedString .
O primeiro comando usa o Start-Transaction
cmdlet para iniciar uma transação.
O segundo comando usa o comando New-Object para criar um objeto TransactedString . Ele armazena o $TransactedString
objeto na variável.
O terceiro e o quarto comandos usam o método Append do objeto TransactedString para adicionar texto ao valor de $TransactedString
. Um comando faz parte da transação. O outro comando não é.
O terceiro comando usa o método Append da cadeia de caracteres transacionada para adicionar Hello ao valor de $TransactedString
. Como o comando não é parte da transação, a alteração será aplicada imediatamente.
O quarto comando é usado Use-Transaction
para adicionar texto à cadeia de caracteres na transação. O comando usa o método Append para adicionar ", World" ao valor de $TransactedString
. O comando é colocado entre chaves ({}
) para torná-lo um bloco de script. O parâmetro UseTransaction é necessário neste comando.
O quinto e o sexto comandos usam o método ToString do objeto TransactedString para exibir o valor do TransactedString como uma cadeia de caracteres. Novamente, um comando faz parte da transação. A outra transação não é.
O quinto comando usa o método ToString para exibir o valor atual da variável $TransactedString. Por não fazer parte da transação, ele exibe apenas o estado atual da cadeia de caracteres.
O sexto comando é usado Use-Transaction
para executar o mesmo comando na transação. Como o comando faz parte da transação, ele exibe o valor atual da cadeia de caracteres na transação, como uma visualização das alterações da transação.
O sétimo comando usa o Complete-Transaction
cmdlet para confirmar a transação.
O comando final usa o método ToString para exibir o valor resultante da variável como uma cadeia de caracteres.
Exemplo 2: Reverter uma transação
Start-Transaction
$transactedString = New-Object Microsoft.PowerShell.Commands.Management.TransactedString
$transactedString.Append("Hello")
Use-Transaction -TransactedScript { $transactedString.Append(", World") } -UseTransaction
Undo-Transaction
$transactedString.ToString()
Hello
Este exemplo mostra o efeito de reverter uma transação que inclui Use-Transaction
comandos. Como todos os comandos em uma transação, quando a transação for revertida, as alterações realizadas são descartadas e os dados não são alterados.
O primeiro comando é usado Start-Transaction
para iniciar uma transação.
O segundo comando é usado New-Object
para criar um objeto TransactedString . Ele armazena o $TransactedString
objeto na variável.
O terceiro comando, que não faz parte da transação, usa o método Append para adicionar "Hello" ao valor de $TransactedString
.
O quarto comando é usado Use-Transaction
para executar outro comando que usa o método Append na transação. O comando usa o método Append para adicionar ", World" ao valor de $TransactedString
.
O quinto comando utiliza o cmdlet Undo-Transaction para reverter a transação. Como resultado, todos os comandos executados na transação são revertidos.
O comando final usa o método ToString para exibir o valor resultante de como uma cadeia de $TransactedString
caracteres. Os resultados mostram que apenas as alterações feitas fora da transação foram aplicadas ao objeto.
Parâmetros
-TransactedScript
Especifica o bloco de script que é executado na transação. Insira qualquer bloco de script válido entre chaves ({}
). Este parâmetro é obrigatório.
Tipo: | ScriptBlock |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-UseTransaction
Inclui o comando na transação ativa. Este parâmetro é válido somente quando uma transação está em andamento. Para obter mais informações, consulte about_transactions.
Tipo: | SwitchParameter |
Aliases: | usetx |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Entradas
None
Não é possível redirecionar a entrada para este cmdlet.
Saídas
PSObject
Esse cmdlet retorna o resultado da transação.
Observações
- O parâmetro UseTransaction inclui o comando na transação ativa. Como o
Use-Transaction
cmdlet é sempre usado em transações, esse parâmetro é necessário para tornar qualquerUse-Transaction
comando eficaz.