Aggiunge il blocco di script alla transazione attiva.

Sintassi

Use-Transaction [-TransactedScript] <scriptblock> [-UseTransaction] [<CommonParameters>]

Descrizione

Il cmdlet Use-Transaction aggiunge un blocco di script a una transazione attiva. Consente di eseguire scripting sottoposto a transazione utilizzando oggetti Microsoft .NET Framework abilitati per la transazione. Il blocco di script può contenere solo oggetti .NET Framework abilitati per la transazione, ad esempio istanze della classe Microsoft.PowerShell.Commands.Management.TransactedString.

Il parametro UseTransaction, facoltativo per la maggior parte dei cmdlet, è obbligatorio quando si utilizza questo cmdlet.

Il cmdlet Use-Transaction fa parte di un set di cmdlet che supportano la funzionalità delle transazioni in Windows PowerShell. Per ulteriori informazioni, vedere about_Transactions.

Parametri

-TransactedScript <scriptblock>

Specifica il blocco di script che viene eseguito nella transazione. Immettere qualsiasi blocco di script valido racchiuso tra parentesi ({}). Questo parametro è obbligatorio.

Obbligatorio?

true

Posizione?

1

Valore predefinito

nessuno

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-UseTransaction

Include il comando nella transazione attiva. Questo parametro è valido solo quando è in corso una transazione. Per ulteriori informazioni, vedere about_Transactions.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

<CommonParameters>

Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.

Input e output

Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.

Input

Nessuno

Non è possibile reindirizzare l'input a questo cmdlet.

Output

PSObject

Use-Transaction restituisce il risultato della transazione.

Note

Il parametro Use-Transaction include il comando nella transazione attiva. Poiché il cmdlet Use-Transaction viene sempre utilizzato nelle transazioni, questo parametro è obbligatorio per rendere effettivo qualsiasi comando Use-Transaction.

Esempio 1

C:\PS>start-transaction

C:\PS> $transactedString = New-Object Microsoft.PowerShell.Commands.Management.TransactedString

C:\PS> $transactedString.Append("Hello")
C:\PS> use-transaction -TransactedScript { $transactedString.Append(", World") } -UseTransaction

C:\PS> $transactedString.ToString()
Hello
 
C:\PS> use-transaction -transactedScript { $transactedString.ToString() } -UseTransaction
Hello, World

C:\PS> complete-transaction
C:\PS> $transactedString.ToString()
Hello, World

Descrizione
-----------
In questo esempio viene illustrato come utilizzare il cmdlet Use-Transaction per eseguire uno script su un oggetto .NET Framework abilitato per la transazione. In questo caso, l'oggetto è un oggetto TransactedString. 

Il primo comando utilizza il cmdlet Start-Transaction per avviare una transazione. 

Il secondo comando utilizza il comando New-Object per creare un oggetto TransactedString e archivia l'oggetto nella variabile $TransactedString.

Il terzo e il quarto comando utilizzano entrambi il metodo Append dell'oggetto TransactedString per aggiungere testo al valore di $TransactedString. Un comando fa parte della transazione, l'altro no.

Nel terzo comando viene utilizzato il metodo Append della stringa sottoposta a transazione per aggiungere "Hello" al valore di $TransactedString. Poiché il comando non fa parte della transazione, la modifica viene applicata immediatamente.

Nel quarto comando viene utilizzato il cmdlet Use-Transaction per aggiungere testo alla stringa all'interno della transazione. Il comando utilizza il metodo Append per aggiungere ", World" al valore di $TransactedString. Il comando viene racchiuso tra parentesi graffe ({}) per renderlo un blocco di script. Il parametro UseTransaction è obbligatorio in questo comando.

Il quinto e il sesto comando utilizzano entrambi il metodo ToString dell'oggetto TransactedString per visualizzare il valore di TransactedString come stringa. Anche in questo caso, un comando fa parte della transazione, l'altro no.

Il quinto comando utilizza il metodo ToString per visualizzare il valore corrente della variabile $TransactedString. Poiché non fa parte della transazione, visualizza solo lo stato corrente della stringa.

Nel sesto comando viene utilizzato il cmdlet Use-Transaction per eseguire lo stesso comando all'interno della transazione. Poiché il comando fa parte della transazione, visualizza il valore corrente della stringa all'interno della transazione, in modo analogo a un'anteprima delle modifiche apportate alla transazione.

Il settimo comando utilizza il cmdlet Complete-Transaction per eseguire il commit della transazione.

Il comando finale utilizza il metodo ToString per visualizzare il valore risultante della variabile come stringa.






Esempio 2

C:\PS>start-transaction

C:\PS> $transactedString = New-Object Microsoft.PowerShell.Commands.Management.TransactedString

C:\PS> $transactedString.Append("Hello")
C:\PS> use-transaction -TransactedScript { $transactedString.Append(", World") } -UseTransaction

C:\PS> undo-transaction

C:\PS> $transactedString.ToString()
Hello

Descrizione
-----------
In questo esempio viene illustrato l'effetto del rollback di una transazione che include i comandi Use-Transaction. Come tutti i comandi in una transazione, quando viene eseguito il rollback della transazione, le modifiche sottoposte a transazione vengono ignorate e i dati restano invariati.

Il primo comando utilizza il cmdlet Start-Transaction per avviare una transazione. 

Il secondo comando utilizza il comando New-Object per creare un oggetto TransactedString. Archivia l'oggetto nella variabile $TransactedString.

Nel terzo comando, che non fa parte della transazione, viene utilizzato il metodo Append per aggiungere "Hello" al valore di $TransactedString. 

Nel quarto comando viene utilizzato il cmdlet Use-Transaction per eseguire un altro comando che utilizza il metodo Append all'interno della transazione. Il comando utilizza il metodo Append per aggiungere ", World" al valore di $TransactedString. 

Il quinto comando utilizza il cmdlet Undo-Transaction per eseguire il rollback della transazione. Di conseguenza, vengono invertiti tutti i comandi eseguiti all'interno della transazione.

Il comando finale utilizza il metodo ToString per visualizzare il valore risultante di $TransactedString come stringa. I risultati illustrano che solo le modifiche apportate al di fuori della transazione sono state applicate all'oggetto.






Vedere anche




Argomenti della Guida