Use-Transaction
Lägger till skriptblocket i den aktiva transaktionen.
Syntax
Use-Transaction
[-TransactedScript] <ScriptBlock>
[-UseTransaction]
[<CommonParameters>]
Description
Cmdleten Use-Transaction lägger till ett skriptblock i en aktiv transaktion. På så sätt kan du utföra transacted scripting med hjälp av transaktionsaktiverade Microsoft .NET Framework-objekt. Skriptblocket kan endast innehålla transaktionsaktiverade .NET Framework objekt, till exempel instanser av klassen Microsoft.PowerShell.Commands.Management.TransactedString.
Parametern UseTransaction , som är valfri för de flesta cmdletar, krävs när du använder den här cmdleten.
Use-Transactionär en av en uppsättning cmdletar som stöder transaktionsfunktionen i Windows PowerShell. Mer information finns i about_Transactions.
Exempel
Exempel 1: Skript med hjälp av ett transaktionsaktiverat objekt
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
Det här exemplet visar hur du använder Use-Transaction skript mot ett transaktionsaktiverat .NET Framework objekt. I det här fallet är objektet ett TransactedString-objekt .
Det första kommandot använder cmdleten Start-Transaction för att starta en transaktion.
Det andra kommandot använder kommandot New-Object för att skapa ett TransactedString-objekt . Objektet lagras i variabeln $TransactedString .
De tredje och fjärde kommandona använder båda append-metoden för TransactedString-objektet för att lägga till text i värdet $TransactedStringför . Ett kommando är en del av transaktionen. Det andra kommandot är inte det.
Det tredje kommandot använder append-metoden för den transacted strängen för att lägga till Hello till värdet för $TransactedString. Eftersom kommandot inte är en del av transaktionen tillämpas ändringen omedelbart.
Det fjärde kommandot använder Use-Transaction för att lägga till text i strängen i transaktionen. Kommandot använder append-metoden för att lägga till " World" i värdet $TransactedStringför . Kommandot omges av klammerparenteser ({}) för att göra det till ett skriptblock. Parametern UseTransaction krävs i det här kommandot.
De femte och sjätte kommandona använder Metoden ToString för TransactedString-objektet för att visa värdet för TransactedString som en sträng. Återigen är ett kommando en del av transaktionen. Den andra transaktionen är inte det.
Det femte kommandot använder metoden ToString för att visa det aktuella värdet för variabeln $TransactedString. Eftersom den inte ingår i transaktionen visas endast strängens aktuella tillstånd.
Det sjätte kommandot använder Use-Transaction för att köra samma kommando i transaktionen. Eftersom kommandot är en del av transaktionen visas det aktuella värdet för strängen i transaktionen, ungefär som en förhandsgranskning av transaktionsändringarna.
Det sjunde kommandot använder cmdleten Complete-Transaction för att genomföra transaktionen.
Det sista kommandot använder metoden ToString för att visa variabelns resulterande värde som en sträng.
Exempel 2: Återställa en transaktion
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
Det här exemplet visar effekten av att återställa en transaktion som innehåller Use-Transaction kommandon. Precis som alla kommandon i en transaktion ignoreras de transaktionsföretagna ändringarna när transaktionen återställs och data ändras inte.
Det första kommandot använder Start-Transaction för att starta en transaktion.
Det andra kommandot använder New-Object för att skapa ett TransactedString-objekt . Objektet lagras i variabeln $TransactedString .
Det tredje kommandot, som inte är en del av transaktionen, använder append-metoden för att lägga till "Hello" i värdet $TransactedStringför .
Det fjärde kommandot använder Use-Transaction för att köra ett annat kommando som använder append-metoden i transaktionen. Kommandot använder append-metoden för att lägga till " World" i värdet $TransactedStringför .
Det femte kommandot använder cmdleten Undo-Transaction för att återställa transaktionen. Därför återförs alla kommandon som utförs i transaktionen.
Det sista kommandot använder metoden ToString för att visa det resulterande värdet $TransactedString för som en sträng. Resultatet visar att endast de ändringar som gjordes utanför transaktionen tillämpades på objektet.
Parametrar
Anger skriptblocket som körs i transaktionen. Ange ett giltigt skriptblock omgivet av klammerparenteser ({}). Den här parametern krävs.
| Type: | ScriptBlock |
| Position: | 0 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Inkluderar kommandot i den aktiva transaktionen. Den här parametern är bara giltig medan en transaktion pågår. Mer information finns i about_transactions.
| Type: | SwitchParameter |
| Aliases: | usetx |
| Position: | Named |
| Default value: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Indata
None
Du kan inte skicka indata till denna cmdlet.
Utdata
PSObject
Den här cmdleten returnerar resultatet av transaktionen.
Kommentarer
- Parametern UseTransaction innehåller kommandot i den aktiva transaktionen. Eftersom cmdleten
Use-Transactionalltid används i transaktioner krävs den här parametern för att göra allaUse-Transactionkommandon effektiva.
Relaterade länkar
Feedback
Skicka och visa feedback för