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. Díky tomu můžete provádět transactované skriptování pomocí objektů Rozhraní Microsoft .NET Framework s podporou transakcí. Blok skriptu může obsahovat pouze objekty rozhraní .NET Framework s podporou transakcí, například instance Microsoft.PowerShell.Commands.Management.TransactedString třídy.

Parametr UseTransaction , který je volitelný pro většinu rutin, je vyžadován při použití této rutiny.

Use-Transaction je jednou ze sady rutin, které podporují funkci transakcí ve Windows PowerShellu. Další informace najdete v tématu about_Transactions.

Příklady

Příklad 1: Skript pomocí objektu s podporou transakcí

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

Tento příklad ukazuje, jak použít Use-Transaction skriptování proti objektu rozhraní .NET Framework s podporou transakcí. V tomto případě je objekt TransactedString objektu.

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í TransactedString objektu. Uloží objekt do $TransactedString proměnné.

Třetí a čtvrté příkazy oba používají Append metoda TransactedString objektu přidat text k hodnotě $TransactedString. Jeden příkaz je součástí transakce. Druhý příkaz není.

Třetí příkaz používá metodu Append transacted řetězce přidat Hello k hodnotě $TransactedString. Protože příkaz není součástí transakce, změna se použije okamžitě.

Čtvrtý příkaz používá Use-Transaction k přidání textu do řetězce v transakci. Příkaz používá metodu Append k přidání ", World" k hodnotě $TransactedString. Příkaz je uzavřený do složených závorek ({}), aby byl blok skriptu. Parametr UseTransaction je vyžadován v tomto příkazu.

Páté a šesté příkazy používají ToString metoda TransactedString objektu k zobrazení hodnoty TransactedString jako řetězec. Opět platí, že jeden příkaz je součástí transakce. Druhá transakce není.

Pátý příkaz používá ToString metoda k zobrazení aktuální hodnoty $TransactedString proměnné. Protož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. Protože příkaz je součástí transakce, zobrazí aktuální hodnotu řetězce v transakci, podobně jako náhled změny transakce.

Sedmý příkaz používá rutinu Complete-Transaction k potvrzení transakce.

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

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

Tento příklad ukazuje účinek vrácení transakce, která obsahuje Use-Transaction příkazy. Stejně jako všechny příkazy v transakci, když se transakce vrátí zpět, provedené změny se zahodí a data se nezmění.

První příkaz používá Start-Transaction ke spuštění transakce.

Druhý příkaz používá New-Object k vytvoření TransactedString objektu. Uloží objekt do $TransactedString proměnné.

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í jiného příkazu, který používá metodu Append v transakci. Příkaz používá metodu Append k přidání ", World" k hodnotě $TransactedString.

Pátý příkaz používá 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 u objektu byly použity pouze změny provedené mimo transakci.

Parametry

-TransactedScript

Určuje blok skriptu, který se spouští v transakci. Zadejte libovolný platný blok skriptu uzavřený do složených závorek ({}). 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ý pouze 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řevést.

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 Use-Transaction příkaz efektivní.