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 bara 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 $TransactedString
för . Ett kommando är en del av transaktionen. Det andra kommandot är inte.
Det tredje kommandot använder metoden Lägg till i den transacted strängen för att lägga till Hello i värdet $TransactedString
för . Eftersom kommandot inte ingår i 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 metoden Lägg till för att lägga till " World" till värdet för $TransactedString
. 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örhandsversion 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örändrade ä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 ingår i transaktionen, använder append-metoden för att lägga till "Hello" i värdet $TransactedString
fö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 metoden Lägg till för att lägga till " World" till värdet för $TransactedString
.
Det femte kommandot använder cmdleten Undo-Transaction för att återställa transaktionen. Därför ångras 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
-TransactedScript
Anger skriptblocket som körs i transaktionen. Ange ett giltigt skriptblock som omges av klammerparenteser ({}
). Den här parametern krävs.
Typ: | ScriptBlock |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-UseTransaction
Innehåller kommandot i den aktiva transaktionen. Den här parametern är endast giltig när en transaktion pågår. Mer information finns i about_transactions.
Typ: | SwitchParameter |
Alias: | usetx |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
None
Du kan inte skicka indata till den här cmdleten.
Utdata
PSObject
Den här cmdleten returnerar resultatet av transaktionen.
Kommentarer
- Parametern UseTransaction innehåller kommandot i den aktiva transaktionen. Eftersom cmdleten
Use-Transaction
alltid används i transaktioner krävs den här parametern för att alla kommandon ska varaUse-Transaction
effektiva.