Use-Transaction
Hozzáadja a szkriptblokkot az aktív tranzakcióhoz.
Syntax
Default (Alapértelmezett)
Use-Transaction
[-TransactedScript] <ScriptBlock>
[-UseTransaction]
[<CommonParameters>]
Description
A Use-Transaction parancsmag egy szkriptblokkot ad hozzá egy aktív tranzakcióhoz. Így tranzakcióalapú Microsoft .NET-keretrendszer-objektumokkal hajthat végre tranzakciós szkripteket. A szkriptblokk csak tranzakcióbarát .NET-keretrendszerobjektumokat tartalmazhat, például a Microsoft.PowerShell.Commands.Management.TransactedString osztály példányait.
A parancsmag használatakor a UseTransaction paraméterre van szükség, amely a legtöbb parancsmag esetében nem kötelező.
Use-Transaction a Windows PowerShell tranzakciós funkcióját támogató parancsmagok egyike. További információ: about_Transactions.
Példák
1. példa: Szkript tranzakcióbarát objektum használatával
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
Ez a példa bemutatja, hogyan használhatja a Use-Transaction egy tranzakcióbarát .NET-keretrendszer-objektumon futó szkriptet. Ebben az esetben az objektum egy TransactedString objektum.
Az első parancs a Start-Transaction parancsmaggal indít el egy tranzakciót.
A második parancs a New-Object paranccsal hoz létre egy TransactedString objektumot. Az objektumot a $TransactedString változóban tárolja.
A harmadik és a negyedik parancs egyaránt a TransactedString objektum Append metódusát használja, hogy szöveget adjon hozzá a $TransactedString értékéhez. Az egyik parancs a tranzakció része. A másik parancs nem.
A harmadik parancs az átjátszott sztring Append metódusát használja a Hello $TransactedString értékének hozzáadásához. Mivel a parancs nem része a tranzakciónak, a rendszer azonnal alkalmazza a módosítást.
A negyedik parancs Use-Transaction használatával ad hozzá szöveget a tranzakció sztringéhez. A parancs a Append metódust használja a ", World" $TransactedString értékéhez való hozzáadásához. A parancs zárójelek közé van zárva ({}), hogy szkriptblokk legyen. Ebben a parancsban a UseTransaction paraméter szükséges.
Az ötödik és hatodik parancs a TransactedString objektum ToString metódusával jeleníti meg a TransactedString értékét sztringként. Ismét egy parancs a tranzakció része. A másik tranzakció nem.
Az ötödik parancs a ToString metódust használja a $TransactedString változó aktuális értékének megjelenítéséhez. Mivel nem része a tranzakciónak, csak a sztring aktuális állapotát jeleníti meg.
A hatodik parancs a Use-Transaction használatával futtatja ugyanazt a parancsot a tranzakcióban. Mivel a parancs a tranzakció része, a tranzakció sztringjének aktuális értékét jeleníti meg, hasonlóan a tranzakció változásainak előnézetéhez.
A hetedik parancs a Complete-Transaction parancsmaggal véglegesíti a tranzakciót.
Az utolsó parancs a ToString metódust használja a változó eredményül kapott értékének sztringként való megjelenítéséhez.
2. példa: Tranzakció visszaállítása
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
Ez a példa egy Use-Transaction parancsokat tartalmazó tranzakció visszaállításának hatását mutatja be. A tranzakció összes parancsához hasonlóan a tranzakció visszaállításakor a rendszer elveti a végrehajtott módosításokat, és az adatok változatlanok maradnak.
Az első parancs Start-Transaction használatával indít el egy tranzakciót.
A második parancs New-Object használatával hoz létre TransactedString objektumot. Az objektumot a $TransactedString változóban tárolja.
A harmadik parancs, amely nem része a tranzakciónak, a Append metódus használatával adja hozzá a "Hello" értéket a $TransactedString értékéhez.
A negyedik parancs a Use-Transaction használatával futtat egy másik parancsot, amely a Hozzáfűzés metódust használja a tranzakcióban. A parancs a Append metódust használja a ", World" $TransactedString értékéhez való hozzáadásához.
Az ötödik parancs a Undo-Transaction parancsmaggal visszaállítja a tranzakciót. Ennek eredményeképpen a tranzakcióban végrehajtott összes parancs vissza lesz fordítva.
Az utolsó parancs a ToString metódussal jeleníti meg a $TransactedString eredményül kapott értékét sztringként. Az eredmények azt mutatják, hogy csak a tranzakción kívül végrehajtott módosítások lettek alkalmazva az objektumra.
Paraméterek
-TransactedScript
Megadja a tranzakcióban futtatott szkriptblokkot. Adja meg a kapcsos zárójelek közé zárt tetszőleges érvényes szkriptblokkot ( { } ). Ez a paraméter kötelező.
Paramétertulajdonságok
| Típus: | ScriptBlock |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | 0 |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-UseTransaction
Tartalmazza a parancsot az aktív tranzakcióban. Ez a paraméter csak akkor érvényes, ha egy tranzakció folyamatban van. További információ: about_Transactions.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | usetx |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
CommonParameters
Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.
Bevitelek
None
Ehhez a parancsmaghoz nem csövezhet be bemenetet.
Kimenetek
PSObject
Ez a parancsmag a tranzakció eredményét adja vissza.
Jegyzetek
A UseTransaction paraméter tartalmazza az aktív tranzakció parancsát. Mivel a Use-Transaction parancsmagot mindig a tranzakciókban használják, ez a paraméter szükséges ahhoz, hogy minden Use-Transaction parancs érvényes legyen.