Use-Transaction
Voegt het scriptblok toe aan de actieve transactie.
Syntax
Use-Transaction
[-TransactedScript] <ScriptBlock>
[-UseTransaction]
[<CommonParameters>]
Description
Met de Use-Transaction cmdlet wordt een scriptblok toegevoegd aan een actieve transactie. Hiermee kunt u transacted scripting uitvoeren met behulp van Microsoft .NET Framework-objecten waarvoor transacties zijn ingeschakeld. Het scriptblok kan alleen objecten met transactie-functionaliteit bevatten .NET Framework, zoals exemplaren van de klasse Microsoft.PowerShell.Commands.Management.TransactedString.
De parameter UseTransaction , die optioneel is voor de meeste cmdlets, is vereist wanneer u deze cmdlet gebruikt.
Use-Transactionis een van een set cmdlets die ondersteuning bieden voor de transactiefunctie in Windows PowerShell. Zie about_Transactions voor meer informatie.
Voorbeelden
Voorbeeld 1: Script met behulp van een object waarvoor transacties zijn ingeschakeld
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
In dit voorbeeld ziet u hoe u scripts kunt uitvoeren Use-Transaction op basis van een .NET Framework-object waarvoor transacties zijn ingeschakeld. In dit geval is het object een TransactedString-object .
De eerste opdracht gebruikt de Start-Transaction cmdlet om een transactie te starten.
De tweede opdracht maakt gebruik van de New-Object opdracht om een TransactedString-object te maken. Het object wordt opgeslagen in de $TransactedString variabele.
De derde en vierde opdrachten gebruiken beide de methode Toevoegen van het Object TransactedString om tekst toe te voegen aan de waarde van $TransactedString. Eén opdracht maakt deel uit van de transactie. De andere opdracht is niet.
De derde opdracht maakt gebruik van de methode Toevoegen van de omgezete tekenreeks om Hallo toe te voegen aan de waarde van $TransactedString. Omdat de opdracht geen deel uitmaakt van de transactie, wordt de wijziging onmiddellijk toegepast.
De vierde opdracht gebruikt Use-Transaction om tekst toe te voegen aan de tekenreeks in de transactie. De opdracht gebruikt de methode Toevoegen om ', Wereld' toe te voegen aan de waarde van $TransactedString. De opdracht staat tussen accolades ({}) om er een scriptblok van te maken. De parameter UseTransaction is vereist in deze opdracht.
De vijfde en zesde opdracht gebruiken de Methode ToString van het Object TransactedString om de waarde van transactedString weer te geven als een tekenreeks. Nogmaals, één opdracht maakt deel uit van de transactie. De andere transactie is niet.
De vijfde opdracht maakt gebruik van de methode ToString om de huidige waarde van de $TransactedString variabele weer te geven. Omdat deze geen deel uitmaakt van de transactie, wordt alleen de huidige status van de tekenreeks weergegeven.
De zesde opdracht gebruikt Use-Transaction om dezelfde opdracht uit te voeren in de transactie. Omdat de opdracht deel uitmaakt van de transactie, wordt de huidige waarde van de tekenreeks in de transactie weergegeven, net als een voorbeeld van de transactiewijzigingen.
De zevende opdracht gebruikt de Complete-Transaction cmdlet om de transactie door te voeren.
De laatste opdracht maakt gebruik van de Methode ToString om de resulterende waarde van de variabele weer te geven als een tekenreeks.
Voorbeeld 2: Een transactie terugdraaien
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
In dit voorbeeld ziet u het effect van het terugdraaien van een transactie met Use-Transaction opdrachten. Net als bij alle opdrachten in een transactie, worden de doorgevoerde wijzigingen verwijderd wanneer de transactie wordt teruggedraaid en worden de gegevens ongewijzigd.
De eerste opdracht gebruikt Start-Transaction om een transactie te starten.
Met de tweede opdracht New-Object maakt u een TransactedString-object . Het object wordt opgeslagen in de $TransactedString variabele.
De derde opdracht, die geen deel uitmaakt van de transactie, gebruikt de methode Toevoegen om 'Hallo' toe te voegen aan de waarde van $TransactedString.
De vierde opdracht gebruikt Use-Transaction om een andere opdracht uit te voeren die gebruikmaakt van de methode Toevoegen in de transactie. De opdracht gebruikt de methode Toevoegen om ', Wereld' toe te voegen aan de waarde van $TransactedString.
De vijfde opdracht maakt gebruik van de Undo-Transaction cmdlet om de transactie terug te draaien. Als gevolg hiervan worden alle opdrachten die in de transactie worden uitgevoerd, omgekeerd.
De laatste opdracht maakt gebruik van de Methode ToString om de resulterende waarde van $TransactedString als een tekenreeks weer te geven. De resultaten tonen aan dat alleen de wijzigingen die buiten de transactie zijn aangebracht, zijn toegepast op het object.
Parameters
Hiermee geeft u het scriptblok op dat wordt uitgevoerd in de transactie. Voer een geldig scriptblok tussen accolades ({}) in. Deze parameter is vereist.
| Type: | ScriptBlock |
| Position: | 0 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee wordt de opdracht opgenomen in de actieve transactie. Deze parameter is alleen geldig wanneer een transactie wordt uitgevoerd. Zie about_transactions voor meer informatie.
| Type: | SwitchParameter |
| Aliases: | usetx |
| Position: | Named |
| Default value: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Invoerwaarden
None
U kunt invoer voor deze cmdlet niet doorsluisen.
Uitvoerwaarden
PSObject
Deze cmdlet retourneert het resultaat van de transactie.
Notities
- De parameter UseTransaction bevat de opdracht in de actieve transactie. Omdat de
Use-Transactioncmdlet altijd wordt gebruikt in transacties, is deze parameter vereist om elkeUse-Transactionopdracht effectief te maken.
Verwante koppelingen
Feedback
Feedback verzenden en weergeven voor