Use-Transaction
Přidá blok skriptu do aktivní transakce.
Syntax
Use-Transaction
[-TransactedScript] <ScriptBlock>
[-UseTransaction]
[<CommonParameters>]
Description
Rutina Use-Transaction přidá blok skriptu do aktivní transakce. To vám umožní provádět transakční skriptování pomocí objektů Rozhraní Microsoft .NET Framework s podporou transakcí. Blok skriptů může obsahovat pouze objekty rozhraní .NET Framework s povolenou transakcí, například instance třídy Microsoft.PowerShell.Commands.Management.TransactedString.
Při použití této rutiny se vyžaduje parametr UseTransaction , který je pro většinu rutin volitelný.
Use-Transaction je jednou ze sady rutin, které podporují funkci transakcí v Windows PowerShell. Další informace najdete v tématu about_Transactions.
Příklady
Příklad 1: Skript pomocí objektu s povolenou transakcí
PS C:\> Start-Transaction
PS C:\> $transactedString = New-Object Microsoft.PowerShell.Commands.Management.TransactedString
PS C:\> $transactedString.Append("Hello")
PS C:\> Use-Transaction -TransactedScript { $transactedString.Append(", World") } -UseTransaction
PS C:\> $transactedString.ToString()
Hello
PS C:\> Use-Transaction -TransactedScript { $transactedString.ToString() } -UseTransaction
Hello, World
PS C:\> Complete-Transaction
PS C:\> $transactedString.ToString()
Hello, World
Tento příklad ukazuje, jak použít Use-Transaction skriptovat proti objektu .NET Framework s povolenou transakcí. V tomto případě je objekt TransactedString objekt.
První příkaz použije rutinu Start-Transaction ke spuštění transakce.
Druhý příkaz používá příkaz New-Object k vytvoření objektu TransactedString . Uloží objekt do proměnné $TransactedString.
Třetí i čtvrtý příkaz používají metodu Appendobjektu TransactedString k přidání textu do hodnoty $TransactedString. Jeden příkaz je součástí transakce. Druhý příkaz není.
Třetí příkaz používá metodu Append transakčního řetězce k přidání Hello k hodnotě $TransactedString. Vzhledem k tomu, že příkaz není součástí transakce, změna se použije okamžitě.
Čtvrtý příkaz použije Use-Transaction k přidání textu do řetězce v transakci. Příkaz použije metodu Append k přidání ", World" k hodnotě $TransactedString. Příkaz je uzavřený ve složených závorkách ( {} ), aby se z něj udělal blok skriptu. Parametr UseTransaction je v tomto příkazu povinný.
Páté a šesté příkazy používají ToString metoda TransactedString objektu k zobrazení hodnoty TransactedString jako řetězec. Jeden příkaz je opět součástí transakce. Druhá transakce není.
Pátý příkaz používá ToString metoda k zobrazení aktuální hodnoty $TransactedString proměnné. Vzhledem k tomu, že není součástí transakce, zobrazí pouze aktuální stav řetězce.
Šestý příkaz používá Use-Transaction ke spuštění stejného příkazu v transakci. Vzhledem k tomu, že příkaz je součástí transakce, zobrazí aktuální hodnotu řetězce v transakci, podobně jako náhled transakce změny.
Sedmý příkaz použije k potvrzení transakce rutinu Complete-Transaction.
Poslední příkaz používá ToString metoda k zobrazení výsledné hodnoty proměnné jako řetězec.
Příklad 2: Vrácení transakce zpět
PS C:\> Start-Transaction
PS C:\> $transactedString = New-Object Microsoft.PowerShell.Commands.Management.TransactedString
PS C:\> $transactedString.Append("Hello")
PS C:\> Use-Transaction -TransactedScript { $transactedString.Append(", World") } -UseTransaction
PS C:\> Undo-Transaction
PS C:\> $transactedString.ToString()
Hello
Tento příklad ukazuje efekt vrácení zpět transakce, která zahrnuje příkazy Use-Transaction . Stejně jako všechny příkazy v transakci i při vrácení transakce zpět se provedené změny zahodí a data se nezmění.
První příkaz použije start-transaction ke spuštění transakce.
Druhý příkaz použije New-Object k vytvoření objektu TransactedString . Uloží objekt do proměnné $TransactedString.
Třetí příkaz, který není součástí transakce, používá metodu Append k přidání "Hello" k hodnotě $TransactedString.
Čtvrtý příkaz používá Use-Transaction ke spuštění dalšího příkazu, který používá metodu Append v transakci. Příkaz použije metodu Append k přidání ", World" k hodnotě $TransactedString.
Pátý příkaz použije k vrácení transakce zpět rutinu Undo-Transaction. V důsledku toho jsou všechny příkazy provedené v transakci obráceny.
Poslední příkaz používá ToString metoda k zobrazení výsledné hodnoty $TransactedString jako řetězec. Výsledky ukazují, že na objekt byly použity pouze změny, které byly provedeny mimo transakci.
Parametry
-TransactedScript
Určuje blok skriptu, který je spuštěn v transakci. Zadejte libovolný platný blok skriptu uzavřený ve složených závorkách ( { } ). Tento parametr je povinný.
Type: | ScriptBlock |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseTransaction
Zahrnuje příkaz v aktivní transakci. Tento parametr je platný jenom v případě, že probíhá transakce. Další informace najdete v tématu about_Transactions.
Type: | SwitchParameter |
Aliases: | usetx |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Vstupy
None
Vstup do této rutiny nelze připojit.
Výstupy
PSObject
Tato rutina vrátí výsledek transakce.
Poznámky
Parametr UseTransaction zahrnuje příkaz v aktivní transakci. Vzhledem k tomu, že rutina Use-Transaction se vždy používá v transakcích, je tento parametr nutný k tomu, aby byl jakýkoli příkaz Use-Transaction efektivní.