Use-Transaction
Přidá blok skriptu do aktivní transakce.
Syntax
Default (Výchozí)
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, se vyžaduje při použití této rutiny.
Use-Transaction je jednou ze sady rutin, které podporují funkci transakcí v prostředí Windows PowerShell. Další informace najdete v tématu about_Transactions.
Příklady
Příklad 1: Skript pomocí objektu s podporou 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 ke skriptování proti objektu rozhraní .NET Framework s povolenou 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 proměnné $TransactedString.
Třetí i čtvrtý příkaz používají metodu Append objektu TransactedString k přidání textu k hodnotě $TransactedString. Jeden příkaz je součástí transakce. Druhý příkaz není.
Třetí příkaz používá metodu Append transakčně prováděného řetězce k přidání 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í znaku "World" k hodnotě $TransactedString. Příkaz je uzavřený ve složených závorkách ({}), 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 objekt 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á metodu ToString k zobrazení aktuální hodnoty proměnné $TransactedString. 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á k potvrzení transakce rutinu Complete-Transaction.
Poslední příkaz používá metodu ToString k zobrazení výsledné hodnoty proměnné jako řetězce.
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 účinek vrácení zpět transakce, která obsahuje příkazy Use-Transaction . 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 k zahájení transakce.
Druhý příkaz používá 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ý v transakci používá metodu Append . Příkaz používá metodu Append k přidání znaku "World" k hodnotě $TransactedString.
Pátý příkaz používá rutinu Undo-Transaction k vrácení transakce zpět. V důsledku toho jsou všechny příkazy provedené v transakci obráceny.
Konečný příkaz používá metodu ToString k zobrazení výsledné hodnoty $TransactedString jako řetězce. 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ý.
Vlastnosti parametru
| Typ: | ScriptBlock |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | 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.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | usetx |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
CommonParameters
Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.
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 obsahuje příkaz v aktivní transakci. Vzhledem k tomu, že rutina Use-Transaction se v transakcích vždy používá, je tento parametr nutný k tomu, aby byl jakýkoli příkaz Use-Transaction účinný.