about_Transactions

Rövid leírás

Ismerteti, hogyan kezelheti az átjátszott műveleteket a PowerShellben.

Hosszú leírás

A PowerShell a PowerShell 2.0-tól kezdve támogatja a tranzakciókat. Ezzel a funkcióval elindíthat egy tranzakciót, jelezheti, hogy mely parancsok tartoznak a tranzakcióhoz, és véglegesíthet vagy visszaállíthat egy tranzakciót.

TUDNIVALÓK A TRANZAKCIÓKRÓL

A PowerShellben a tranzakció egy vagy több, logikai egységként felügyelt parancskészlet. A tranzakció elvégezhető ("véglegesítve"), amely módosítja a tranzakció által érintett adatokat. Vagy egy tranzakció teljesen visszavonható ("visszagördítve"), hogy a tranzakció ne módosítsa az érintett adatokat.

Mivel a tranzakció parancsai egységként vannak kezelve, az összes parancs véglegesítése vagy az összes parancs vissza lesz állítva.

A tranzakciókat széles körben használják az adatfeldolgozásban, különösen az adatbázis-műveletekben és a pénzügyi tranzakciókban. A tranzakciókat leggyakrabban akkor használják, ha egy parancskészlet legrosszabb forgatókönyve nem az, hogy mindegyik sikertelen, de egyes parancsok sikeresek, míg mások sikertelenek, így a rendszer sérült, hamis vagy nem értelmezhető állapotban marad, amelyet nehéz kijavítani.

TRANZAKCIÓS PARANCSMAGOK

A PowerShell számos, tranzakciók kezelésére tervezett parancsmagot tartalmaz.

  • Start-Transaction: Új tranzakciót indít el.
  • Use-Transaction: Parancsot vagy kifejezést ad hozzá a tranzakcióhoz. A parancsnak tranzakcióbarát objektumokat kell használnia.
  • Visszavonási tranzakció: Visszaállítja a tranzakciót, hogy a tranzakció ne módosítson adatokat.
  • Teljes tranzakció: Véglegesíti a tranzakciót. A tranzakció által érintett adatok módosulnak.
  • Get-Transaction: Az aktív tranzakcióval kapcsolatos információk lekérése.

A tranzakciós parancsmagok listájához írja be a következőt:

get-command *transaction

A parancsmagokkal kapcsolatos részletes információkért írja be a következőt:

get-help use-transaction -detailed

TRANZAKCIÓBARÁT ELEMEK

A tranzakciókban való részvételhez a parancsmagnak és a szolgáltatónak is támogatnia kell a tranzakciókat. Ez a funkció a tranzakció által érintett objektumokba van beépítve.

A PowerShell-beállításjegyzék-szolgáltató támogatja a Windows Vista-tranzakciókat. A TransactedString objektum (Microsoft.PowerShell.Commands.Management.TransactedString) a PowerShellt futtató operációs rendszerekkel működik.

Más PowerShell-szolgáltatók támogathatják a tranzakciókat. A tranzakciókat támogató PowerShell-szolgáltatók megkereséséhez a következő paranccsal keresse meg a "Tranzakciók" értéket a szolgáltatók Képességek tulajdonságában:

get-psprovider | where {$_.Capabilities -like "*transactions*"}

A szolgáltatóval kapcsolatos további információkért tekintse meg a szolgáltató súgóját. A szolgáltató súgójának lekéréséhez írja be a következőt:

get-help <provider-name>

A beállításjegyzék-szolgáltató súgójának lekéréséhez például írja be a következőt:

get-help registry

AZ U STANDARD KIADÁS TRANSACTION PARAMÉTER

A tranzakciókat támogató parancsmagok UseTransaction paraméterrel rendelkeznek. Ez a paraméter tartalmazza az aktív tranzakció parancsát. Használhatja a teljes paraméternevet vagy annak aliasát, a "usetx"-et.

A paraméter csak akkor használható, ha a munkamenet aktív tranzakciót tartalmaz. Ha egy UseTransaction paraméterrel rendelkező parancsot ad meg, ha nincs aktív tranzakció, a parancs meghiúsul.

A UseTransaction paraméterrel rendelkező parancsmagok megkereséséhez írja be a következőt:

get-help * -parameter UseTransaction

A PowerShell-magban a PowerShell-szolgáltatókkal való együttműködésre tervezett összes parancsmag támogatja a tranzakciókat. Ennek eredményeképpen a szolgáltatói parancsmagokkal kezelheti a tranzakciókat.

További információ a PowerShell-szolgáltatókról: about_Providers.

A TRANZAKCIÓ OBJEKTUMA

A tranzakciókat a PowerShellben a System.Management.Automation.Transaction nevű tranzakcióobjektum képviseli.

Az objektum a következő tulajdonságokkal rendelkezik:

  • Visszaállításelőzmény: Az aktuális tranzakcióhoz beállított visszaállítási beállításokat tartalmazza. A visszaállítási beállításokat akkor állíthatja be, ha a Start-Transaction használatával indítja el a tranzakciót.

    A visszaállítási beállítás határozza meg a tranzakció automatikus visszaállításának feltételeit. Az érvényes értékek: Error, TerminatingError és Never. Az alapértelmezett érték a Hiba.

  • Állapot: A tranzakció aktuális állapotát tartalmazza. Az érvényes értékek aktívak, véglegesítettek és visszagördültek.

  • SubscriberCount: A tranzakció előfizetőinek számát tartalmazza. Egy előfizetőt akkor ad hozzá egy tranzakcióhoz, amikor elindít egy tranzakciót, miközben egy másik tranzakció folyamatban van. Az előfizetők száma csökken, amikor egy előfizető véglegesíti a tranzakciót.

AKTÍV TRANZAKCIÓK

A PowerShellben egyszerre csak egy tranzakció aktív, és csak az aktív tranzakció kezelhető. Egyszerre több tranzakció is folyamatban lehet ugyanabban a munkamenetben, de csak a legutóbb elindított tranzakció aktív.

Ennek eredményeképpen nem adhat meg egy adott tranzakciót a tranzakciós parancsmagok használatakor. A parancsok mindig az aktív tranzakcióra vonatkoznak.

Ez a Get-Transaction parancsmag viselkedésében a legnyilvánvalóbb. A Get-Transaction parancs megadásakor a Get-Transaction mindig csak egy tranzakcióobjektumot kap. Ez az objektum az aktív tranzakciót jelképező objektum.

Egy másik tranzakció kezeléséhez először véglegesítenie vagy vissza kell hajtania az aktív tranzakciót. Ha ezt teszi, az előző tranzakció automatikusan aktívvá válik. A tranzakciók a kezdési sorrendjük sorrendjében válnak aktívvá, így a legutóbb elindított tranzakció mindig aktív lesz.

ELŐFIZETŐK ÉS FÜGGETLEN TRANZAKCIÓK

Ha egy tranzakciót indít el, miközben egy másik tranzakció folyamatban van, a PowerShell alapértelmezés szerint nem indít el új tranzakciót. Ehelyett hozzáad egy "előfizetőt" az aktuális tranzakcióhoz.

Ha egy tranzakció több előfizetővel rendelkezik, egy visszavonási-tranzakciós parancs bármikor visszaállítja a teljes tranzakciót az összes előfizető számára. A tranzakció véglegesítéséhez azonban minden előfizetőhöz meg kell adnia egy Complete-Transaction parancsot.

A tranzakció előfizetőinek számának megkereséséhez ellenőrizze a tranzakcióobjektum SubscriberCount tulajdonságát. Az alábbi parancs például a Get-Transaction parancsmaggal kéri le az aktív tranzakció SubscriberCount tulajdonságának értékét:

(Get-Transaction).SubscriberCount

Az előfizető hozzáadása az alapértelmezett viselkedés, mivel a legtöbb olyan tranzakció, amely egy másik tranzakció folyamatban van, az eredeti tranzakcióhoz kapcsolódik. A tipikus modellben egy tranzakciót tartalmazó szkript hív meg egy segédszkriptet, amely saját tranzakciót tartalmaz. Mivel a tranzakciók kapcsolódnak, ezeket egységként kell visszahozni vagy véglegesíteni.

Az aktuális tranzakciótól független tranzakciót azonban a Start-Transaction parancsmag Független paraméterével indíthatja el.

Független tranzakció indításakor a Start-Transaction létrehoz egy új tranzakcióobjektumot, és az új tranzakció lesz az aktív tranzakció. A független tranzakció véglegesítése vagy visszaállítása az eredeti tranzakció befolyásolása nélkül is végezhető el.

Ha a független tranzakció befejeződött (véglegesített vagy visszaállítva), az eredeti tranzakció ismét aktív tranzakcióvá válik.

ADATOK MÓDOSÍTÁSA

Ha tranzakciókkal módosítja az adatokat, a tranzakció által érintett adatok csak a tranzakció véglegesítéséig módosulnak. Ugyanezek az adatok azonban módosíthatók olyan parancsokkal, amelyek nem részei a tranzakciónak.

Ezt tartsa szem előtt, amikor tranzakciókat használ a megosztott adatok kezeléséhez. Az adatbázisok általában olyan mechanizmusokkal rendelkeznek, amelyek zárolják az adatokat, miközben ön dolgozik rajta, megakadályozva ezzel, hogy más felhasználók és más parancsok, szkriptek és függvények módosítják őket.

A zárolás azonban az adatbázis egyik funkciója. Ez nem kapcsolódik a tranzakciókhoz. Ha tranzakcióbarát fájlrendszerben vagy más adattárban dolgozik, az adatok módosíthatók, amíg a tranzakció folyamatban van.

Példák

Az ebben a szakaszban szereplő példák a PowerShell beállításjegyzék-szolgáltatót használják, és feltételezik, hogy ön ismeri. A beállításjegyzék-szolgáltatóval kapcsolatos információkért írja be a "get-help registry" kifejezést.

1. PÉLDA: TRANZAKCIÓ VÉGLEGESÍTÉSE

Tranzakció létrehozásához használja a Start-Transaction parancsmagot. Az alábbi parancs elindít egy tranzakciót az alapértelmezett beállításokkal.

start-transaction

Ha parancsokat szeretne belefoglalni a tranzakcióba, használja a parancsmag UseTransaction paraméterét. Alapértelmezés szerint a parancsok nem szerepelnek a tranzakcióban,

Például a következő parancs, amely a HKCU szoftverkulcsának aktuális helyét állítja be: meghajtó, nem szerepel a tranzakcióban.

cd hkcu:\Software

Az alábbi parancs, amely létrehozza a MyCompany kulcsot, az Új elem parancsmag UseTransaction paraméterét használja a parancs aktív tranzakcióba való belefoglalásához.

new-item MyCompany -UseTransaction

A parancs egy objektumot ad vissza, amely az új kulcsot jelöli, de mivel a parancs a tranzakció része, a beállításjegyzék még nem módosul.

Hive: HKEY_CURRENT_USER\Software

SKC  VC Name                           Property
---  -- ----                           --------
  0   0 MyCompany                      {}

A tranzakció véglegesítéséhez használja a Complete-Transaction parancsmagot. Mivel ez mindig hatással van az aktív tranzakcióra, nem adhatja meg a tranzakciót.

complete-transaction

Ennek eredményeképpen a rendszer hozzáadja a MyCompany kulcsot a beállításjegyzékhez.

dir m*
Hive: HKEY_CURRENT_USER\software

SKC  VC Name                           Property
---  -- ----                           --------
 83   1 Microsoft                      {(default)}
  0   0 MyCompany                      {}

2. PÉLDA: TRANZAKCIÓ VISSZAÁLLÍTÁSA

Tranzakció létrehozásához használja a Start-Transaction parancsmagot. Az alábbi parancs elindít egy tranzakciót az alapértelmezett beállításokkal.

start-transaction

Az alábbi parancs, amely létrehozza a MyOtherCompany kulcsot, az Új elem parancsmag UseTransaction paraméterével veszi fel a parancsot az aktív tranzakcióba.

new-item MyOtherCompany -UseTransaction

A parancs egy objektumot ad vissza, amely az új kulcsot jelöli, de mivel a parancs a tranzakció része, a beállításjegyzék még nem módosul.

Hive: HKEY_CURRENT_USER\Software

SKC  VC Name                           Property
---  -- ----                           --------
  0   0 MyOtherCompany                 {}

A tranzakció visszaállításához használja a Undo-Transaction parancsmagot. Mivel ez mindig hatással van az aktív tranzakcióra, nem adja meg a tranzakciót.

Undo-transaction

Az eredmény az, hogy a MyOtherCompany kulcs nem lesz hozzáadva a beállításjegyzékhez.

dir m*
Hive: HKEY_CURRENT_USER\software

SKC  VC Name                           Property
---  -- ----                           --------
 83   1 Microsoft                      {(default)}
  0   0 MyCompany                      {}

3. PÉLDA: TRANZAKCIÓ ELŐNÉZETE

A tranzakcióban használt parancsok általában módosítják az adatokat. Az adatokat lekérő parancsok azonban egy tranzakcióban is hasznosak, mivel a tranzakción belül kapnak adatokat. Ez előnézetet biztosít a tranzakció véglegesítése által okozott változásokról.

Az alábbi példa bemutatja, hogyan használhatja a Get-ChildItem parancsot (az alias "dir") a tranzakció változásainak előnézetéhez.

A következő parancs elindít egy tranzakciót.

start-transaction

Az alábbi parancs a New-ItemProperty parancsmaggal adja hozzá a MyKey beállításjegyzék-bejegyzést a MyCompany kulcshoz. A parancs a UseTransaction paraméter használatával foglalja bele a parancsot a tranzakcióba.

new-itemproperty -path MyCompany -Name MyKey -value 123 -UseTransaction

A parancs egy új beállításjegyzék-bejegyzést képviselő objektumot ad vissza, de a beállításjegyzék-bejegyzés nem módosul.

MyKey
-----
123

A beállításjegyzékben jelenleg szereplő elemek lekéréséhez használja a Get-ChildItem parancsot ("dir") a UseTransaction paraméter nélkül. Az alábbi parancs az "M" betűvel kezdődő elemeket kapja meg.

dir m*

Az eredmény azt mutatja, hogy még nem adtak hozzá bejegyzéseket a MyCompany kulcshoz.

Hive: HKEY_CURRENT_USER\Software

SKC  VC Name                           Property
---  -- ----                           --------
 83   1 Microsoft                      {(default)}
  0   0 MyCompany                      {}

A tranzakció véglegesítésének hatásának előnézetéhez adjon meg egy Get-ChildItem ("dir") parancsot a UseTransaction paraméterrel. Ez a parancs a tranzakción belülről származó adatokat tekinti meg.

dir m* -useTransaction

Az eredmény azt mutatja, hogy ha a tranzakció véglegesítése megtörtént, a MyKey bejegyzés hozzá lesz adva a MyCompany kulcshoz.

Hive: HKEY_CURRENT_USER\Software

SKC  VC Name                           Property
---  -- ----                           --------
 83   1 Microsoft                      {(default)}
  0   1 MyCompany                      {MyKey}

4. PÉLDA: A TRANZAKCIÓS ÉS A NEM ÁTJÁTSZOTT PARANCSOK KOMBINÁLÁSA

A tranzakció során nem végrehajtott parancsokat is megadhat. A nem végrehajtott parancsok azonnal hatással vannak az adatokra, de nem befolyásolják a tranzakciót. A következő parancs elindít egy tranzakciót a HKCU:\Szoftverregisztrációs kulcsban.

start-transaction

A következő három parancs az Új elem parancsmaggal adja hozzá a kulcsokat a beállításjegyzékhez. Az első és a harmadik parancs a UseTransaction paraméter használatával tartalmazza a parancsokat a tranzakcióban. A második parancs kihagyja a paramétert. Mivel a második parancs nem szerepel a tranzakcióban, azonnal érvényes.

new-item MyCompany1 -UseTransaction
new-item MyCompany2
new-item MyCompany3 -UseTransaction

A beállításjegyzék aktuális állapotának megtekintéséhez használja a Get-ChildItem ("dir") parancsot a UseTransaction paraméter nélkül. Ez a parancs lekéri az "M" kezdetű elemeket.

dir m*

Az eredmény azt mutatja, hogy a MyCompany2 kulcs hozzá van adva a beállításjegyzékhez, de a myCompany1 és a MyCompany3 kulcsok, amelyek a tranzakció részét képezik, nem lesznek hozzáadva.

Hive: HKEY_CURRENT_USER\Software

SKC  VC Name                           Property
---  -- ----                           --------
 83   1 Microsoft                      {(default)}
  0    0 MyCompany2                     {}

Az alábbi parancs véglegesíti a tranzakciót.

complete-transaction

Most a tranzakció részeként hozzáadott kulcsok megjelennek a beállításjegyzékben.

dir m*
Hive: HKEY_CURRENT_USER\Software

SKC  VC Name                           Property
---  -- ----                           --------
83   1 Microsoft                      {(default)}
0    0 MyCompany1                     {}
0    0 MyCompany2                     {}
0    0 MyCompany3                     {}

5. PÉLDA: AUTOMATIKUS VISSZAÁLLÍTÁS HASZNÁLATA

Amikor egy tranzakció parancsa bármilyen hibát generál, a rendszer automatikusan visszaállítja a tranzakciót.

Ez az alapértelmezett viselkedés tranzakciókat futtató szkriptekhez készült. A szkriptek általában jól tesztelve vannak, és hibakezelési logikát is tartalmaznak, így a hibák nem várhatók, és a tranzakciónak le kell fejeződnie.

Az első parancs elindít egy tranzakciót a HKCU:\Szoftverregisztrációs kulcsban.

start-transaction

Az alábbi parancs az Új elem parancsmaggal adja hozzá a MyCompany kulcsot a beállításjegyzékhez. A parancs a UseTransaction paramétert használja (az alias "usetx"), hogy belefoglalja a parancsot a tranzakcióba.

New-Item MyCompany -UseTX

Mivel a MyCompany kulcs már létezik a beállításjegyzékben, a parancs meghiúsul, és a tranzakció vissza lesz állítva.

New-Item : A key at this path already exists
At line:1 char:9
+ new-item <<<<  MyCompany -usetx

A Get-Transaction parancs megerősíti, hogy a tranzakció vissza lett állítva, és hogy a SubscriberCount 0.

RollbackPreference   SubscriberCount   Status
------------------   ---------------   ------
Error                0                 RolledBack

6. PÉLDA: A VISSZAÁLLÍTÁSI BEÁLLÍTÁS MÓDOSÍTÁSA

Ha azt szeretné, hogy a tranzakció hibatűrőbb legyen, a Start-Transaction visszaállításipreferencia paraméterével módosíthatja a beállítást.

Az alábbi parancs elindít egy tranzakciót a "Soha" visszaállítási beállítással.

start-transaction -rollbackpreference Never

Ebben az esetben, ha a parancs meghiúsul, a rendszer nem állítja vissza automatikusan a tranzakciót.

New-Item MyCompany -UseTX
New-Item : A key at this path already exists
At line:1 char:9
+ new-item <<<<  MyCompany -usetx

Mivel a tranzakció továbbra is aktív, a tranzakció részeként újból elküldheti a parancsot.

New-Item MyOtherCompany -UseTX

7. PÉLDA: AZ U Standard kiadás-TRANSACTION PARANCSMAG HASZNÁLATA

A Use-Transaction parancsmaggal közvetlen szkriptelést hajthat végre a tranzakcióbarát Microsoft .NET-keretrendszer-objektumokon. A Use-Transaction olyan szkriptblokkot használ, amely csak tranzakcióbarát .NET-keretrendszer objektumokat használó parancsokat és kifejezéseket tartalmazhat, például a Microsoft.PowerShell.Commands.Management.TransactedString osztály példányait.

A következő parancs elindít egy tranzakciót.

start-transaction

A következő New-Object parancs létrehozza a TransactedString osztály egy példányát, és menti azt a $t változóba.

$t = New-Object Microsoft.PowerShell.Commands.Management.TransactedString

Az alábbi parancs a TransactedString objektum Append metódusával ad hozzá szöveget a sztringhez. Mivel a parancs nem része a tranzakciónak, a módosítás azonnal hatályba lép.

$t.append("Windows")

Az alábbi parancs ugyanazt a Hozzáfűzési metódust használja a szöveg hozzáadásához, de a tranzakció részeként hozzáadja a szöveget. A parancs zárójelek közé van állítva, és a Use-Transaction ScriptBlock paraméterének értékeként van beállítva. A UseTransaction paraméter (UseTx) megadása kötelező.

use-transaction {$t.append(" PowerShell")} -usetx

Az átjátszott sztring aktuális tartalmának $t való megtekintéséhez használja a TransactedString objektum ToString metódusát.

$t.tostring()

A kimenet azt mutatja, hogy csak a nem végrehajtott módosítások hatékonyak.

Windows

Ha a tranzakción belülről szeretné látni az átjátszott sztring aktuális tartalmát $t, ágyazza be a kifejezést egy Use-Transaction parancsba.

use-transaction {$s.tostring()} -usetx

A kimenet a tranzakció nézetet jeleníti meg.

PowerShell

Az alábbi parancs véglegesíti a tranzakciót.

complete-transaction

Az utolsó sztring megtekintése:

$t.tostring()
PowerShell

8. PÉLDA: TÖBB-ELŐFIZETŐS TRANZAKCIÓK KEZELÉSE

Amikor elindít egy tranzakciót, miközben egy másik tranzakció folyamatban van, a PowerShell alapértelmezés szerint nem hoz létre második tranzakciót. Ehelyett egy előfizetőt ad hozzá az aktuális tranzakcióhoz.

Ez a példa bemutatja, hogyan tekinthet meg és kezelhet több-előfizetős tranzakciókat.

Kezdje a tranzakció elindításával a HKCU:\Szoftverkulcsban.

start-transaction

Az alábbi parancs a Get-Transaction paranccsal kéri le az aktív tranzakciót.

get-transaction

Az eredmény az aktív tranzakciót jelképező objektumot jeleníti meg.

RollbackPreference   SubscriberCount   Status
------------------   ---------------   ------
Error                1                 Active

Az alábbi parancs hozzáadja a MyCompany kulcsot a beállításjegyzékhez. A parancs a UseTransaction paraméter használatával foglalja bele a parancsot a tranzakcióba.

new-item MyCompany -UseTransaction

A következő parancs a Start-Transaction paranccsal indít el egy tranzakciót. Bár ez a parancs a parancssorba van begépelve, ez a forgatókönyv nagyobb valószínűséggel fordul elő tranzakciót tartalmazó szkript futtatásakor.

start-transaction

A Get-Transaction parancs azt mutatja, hogy a tranzakcióobjektum előfizetői száma növekszik. Az érték most 2.

RollbackPreference   SubscriberCount   Status
------------------   ---------------   ------
Error                2                 Active

A következő parancs a New-ItemProperty parancsmaggal adja hozzá a MyKey beállításjegyzék-bejegyzést a MyCompany kulcshoz. A UseTransaction paraméter használatával foglalja bele a parancsot a tranzakcióba.

new-itemproperty -path MyCompany -name MyKey -UseTransaction

A MyCompany kulcs nem létezik a beállításjegyzékben, de ez a parancs sikeres, mert a két parancs ugyanahhoz a tranzakcióhoz tartozik.

Az alábbi parancs véglegesíti a tranzakciót. Ha visszaállítja a tranzakciót, a tranzakció vissza lesz állítva az összes előfizető számára.

complete-transaction

A Get-Transaction parancs azt mutatja, hogy a tranzakcióobjektum előfizetői száma 1, de az állapot értéke továbbra is aktív (nem véglegesített).

RollbackPreference   SubscriberCount   Status
------------------   ---------------   ------
Error                1                 Active

A tranzakció véglegesítésének befejezéséhez írjon be egy második Complete- Transaction parancsot. Több-előfizetős tranzakció véglegesítéséhez minden Start-Transaction parancshoz meg kell adnia egy Complete-Transaction parancsot.

complete-transaction

Egy másik Get-Transaction parancs azt mutatja, hogy a tranzakció véglegesítése megtörtént.

RollbackPreference   SubscriberCount   Status
------------------   ---------------   ------
Error                0                 Committed

9. PÉLDA: FÜGGETLEN TRANZAKCIÓK KEZELÉSE

Amikor elindít egy tranzakciót, miközben egy másik tranzakció folyamatban van, a Start-Transaction Független paraméterével függetlenítheti az új tranzakciót az eredeti tranzakciótól.

Ha így tesz, a Start-Transaction létrehoz egy új tranzakcióobjektumot, és aktív tranzakcióvá teszi az új tranzakciót.

Kezdje a tranzakció elindításával a HKCU:\Szoftverkulcsban.

start-transaction

Az alábbi parancs a Get-Transaction paranccsal kéri le az aktív tranzakciót.

get-transaction

Az eredmény az aktív tranzakciót jelképező objektumot jeleníti meg.

RollbackPreference   SubscriberCount   Status
------------------   ---------------   ------
Error                1                 Active

Az alábbi parancs hozzáadja a MyCompany beállításkulcsot a tranzakció részeként. A UseTransaction paramétert (UseTx) használja, hogy belefoglalja a parancsot az aktív tranzakcióba.

new-item MyCompany -use

Az alábbi parancs egy új tranzakciót indít el. A parancs a Független paraméterrel jelzi, hogy ez a tranzakció nem előfizetője az aktív tranzakciónak.

start-transaction -independent

Független tranzakció létrehozásakor az új (legutóbb létrehozott) tranzakció lesz az aktív tranzakció. A Get-Transaction paranccsal lekérheti az aktív tranzakciót.

get-transaction

Vegye figyelembe, hogy a tranzakció Előfizetői száma 1, ami azt jelzi, hogy nincsenek más előfizetők, és hogy a tranzakció új.

RollbackPreference   SubscriberCount   Status
------------------   ---------------   ------
Error                1                 Active

Az eredeti tranzakció kezelése előtt az új tranzakciót le kell fejezni (véglegesíteni vagy vissza kell állítani).

Az alábbi parancs hozzáadja a MyOtherCompany kulcsot a beállításjegyzékhez. A UseTransaction paramétert (UseTx) használja, hogy belefoglalja a parancsot az aktív tranzakcióba.

new-item MyOtherCompany -usetx

Most hozza vissza a tranzakciót. Ha egyetlen tranzakció lenne két előfizetővel, a tranzakció visszagördülése az összes előfizető teljes tranzakciójának visszaállításához vezetne vissza.

Mivel azonban ezek a tranzakciók függetlenek, a legújabb tranzakció visszagördülése megszakítja a beállításjegyzék módosításait, és az eredeti tranzakciót aktív tranzakcióvá teszi.

undo-transaction

A Get-Transaction parancs megerősíti, hogy az eredeti tranzakció még aktív a munkamenetben.

get-transaction
RollbackPreference   SubscriberCount   Status
------------------   ---------------   ------
Error                1                 Active

Az alábbi parancs véglegesíti az aktív tranzakciót.

complete-transaction

A Get-ChildItem parancs azt mutatja, hogy a beállításjegyzék megváltozott.

dir m*
Hive: HKEY_CURRENT_USER\Software

SKC  VC Name                           Property
---  -- ----                           --------
 83   1 Microsoft                      {(default)}
  0   0 MyCompany                      {}

Lásd még