Megosztás a következőn keresztül:


Complete-Transaction

Véglegesíti az aktív tranzakciót.

Syntax

Default (Alapértelmezett)

Complete-Transaction
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

A Complete-Transaction parancsmag aktív tranzakciót véglegesíti. Tranzakció véglegesítésekor a tranzakció parancsai véglegesítve lesznek, és a parancsok által érintett adatok módosulnak.

Ha a tranzakció több előfizetőt is tartalmaz, a tranzakció véglegesítéséhez minden Start-Transaction parancshoz meg kell adnia egy Complete-Transaction parancsot.

A Complete-Transaction parancsmag a Windows PowerShell tranzakciós funkcióját támogató parancsmagok egyike. További információ: about_Transactions.

Példák

1. példa: Tranzakció véglegesítése

PS C:\> cd hkcu:\software
PS HKCU:\software> Start-Transaction
PS HKCU:\software> New-Item MyCompany -UseTransaction
PS HKCU:\software> dir m*
Hive: HKEY_CURRENT_USER\software

SKC  VC Name                           Property
---  -- ----                           --------
82   1 Microsoft                      {(default)}

PS HKCU:\software> Complete-Transaction
PS HKCU:\software> dir m*
Hive: HKEY_CURRENT_USER\Software

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

Ez a példa bemutatja, mi történik, ha a Complete-Transaction parancsmagot használja egy tranzakció véglegesítéséhez.

A Start-Transaction parancs elindítja a tranzakciót. A New-Item parancs a UseTransaction paramétert használja a parancs tranzakcióba való belefoglalásához.

Az első dir (Get-ChildItem) parancs azt mutatja, hogy az új elem még nem lett hozzáadva a beállításjegyzékhez.

A Complete-Transaction parancs véglegesíti a tranzakciót, ami a beállításjegyzék módosítását hatékonyabbá teszi. Ennek eredményeképpen a második dir parancs azt mutatja, hogy a beállításjegyzék megváltozott.

2. példa: Több előfizetővel rendelkező tranzakció véglegesítése

PS C:\> cd hkcu:\software
PS HKCU:\software> Start-Transaction
PS HKCU:\software> New-Item MyCompany -UseTransaction
Hive: HKEY_CURRENT_USER\Software

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

PS HKCU:\software> Start-Transaction
PS HKCU:\Software> Get-Transaction

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

PS HKCU:\software> New-ItemProperty -Path MyCompany -Name MyKey -Value -UseTransaction

MyKey
-----
123

PS HKCU:\software> Complete-Transaction
PS HKCU:\software> Get-Transaction

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

PS HKCU:\software> dir m*
Hive: HKEY_CURRENT_USER\Software

SKC  VC Name                           Property
---  -- ----                           --------
82   1 Microsoft                      {(default)}

PS HKCU:\software> Complete-Transaction
PS HKCU:\software> dir m*
Hive: HKEY_CURRENT_USER\Software

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

Ez a példa bemutatja, hogyan használható Teljes tranzakciós egynél több előfizetővel rendelkező tranzakció véglegesítésére.

Több-előfizetős tranzakció véglegesítéséhez minden Start-Transaction parancshoz meg kell adnia egy Complete-Transaction parancsot. Az adatok csak a végleges Complete-Transaction parancs elküldésekor módosulnak.

Bemutató célokra ez a példa a parancssorba beírt parancsok sorozatát mutatja be. A gyakorlatban a tranzakciók valószínűleg szkriptekben futnak, és a másodlagos tranzakciót egy függvény vagy segédszkript futtatja, amelyet a fő szkript hív.

Ebben a példában egy Start-Transaction parancs indítja el a tranzakciót. Egy New-Item parancs a UseTransaction paraméterrel hozzáadja a MyCompany kulcsot a szoftverkulcshoz. Bár a New-Item parancsmag egy kulcsobjektumot ad vissza, a beállításjegyzék adatai még nem változnak.

A második Start-Transaction parancs hozzáad egy második előfizetőt a meglévő tranzakcióhoz. A Get-Transaction parancsmag megerősíti, hogy az előfizetők száma 2. A UseTransaction paraméterrel rendelkező New-ItemProperty parancs hozzáad egy beállításjegyzék-bejegyzést az új MyCompany-kulcshoz. A parancs ismét visszaad egy értéket, de a beállításjegyzék nem módosul.

Az első Complete-Transaction parancs 1-sel csökkenti az előfizetők számát. Ezt egy Get-Transaction parancs erősíti meg. Az adatok azonban nem változnak, amint azt egy dir m* (Get-ChildItem) parancs is bizonyítja.

A második Complete-Transaction parancs véglegesíti a teljes tranzakciót, és módosítja az adatokat a beállításjegyzékben. Ezt egy második dir m* parancs is megerősíti, amely megjeleníti a módosításokat.

3. példa: Olyan tranzakció végrehajtása, amely nem módosít adatokat

PS C:\> cd hkcu:\software
PS HKCU:\software> Start-Transaction
PS HKCU:\software> New-Item MyCompany -UseTransaction
PS HKCU:\software> dir m*
Hive: HKEY_CURRENT_USER\Software

SKC  VC Name                           Property
---  -- ----                           --------
82   1 Microsoft                      {(default)}

PS HKCU:\software> dir m* -UseTransaction
Hive: HKEY_CURRENT_USER\Software

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

PS HKCU:\software> Complete-Transaction

Ez a példa bemutatja a Get-* parancsok és más olyan parancsok használatát, amelyek nem módosítják az adatokat egy tranzakcióban. Ha get-* parancsot használ egy tranzakcióban, lekéri a tranzakció részét képező objektumokat. Így a módosítások véglegesítése előtt megtekintheti a tranzakció módosításainak előnézetét.

Ebben a példában egy tranzakció indul el. A UseTransaction paraméterrel rendelkező New-Item parancs új kulcsot ad hozzá a beállításjegyzékhez a tranzakció részeként.

Mivel az új beállításkulcs csak a Complete-Transaction parancs futtatásával lesz hozzáadva a beállításjegyzékhez, egy egyszerű dir (Get-ChildItem) parancs az új kulcs nélkül jeleníti meg a beállításjegyzéket.

Ha azonban hozzáadja a UseTransaction paramétert a dir parancshoz, a parancs a tranzakció részévé válik, és akkor is megkapja a tranzakció elemeit, ha még nincsenek hozzáadva az adatokhoz.

Paraméterek

-Confirm

Megerősítést kér a parancsmag futtatása előtt.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:Cf

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

-WhatIf

Megjeleníti, mi történne, ha a parancsmag futna. A parancsmag nem fut.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:Wi

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 lehet objektumokat csövezni.

Kimenetek

None

Ez a parancsmag nem hoz létre kimenetet.

Jegyzetek

  • Nem állíthat vissza véglegesített tranzakciót, és nem véglegesíthet visszagörgetett tranzakciót.

    Az aktív tranzakción kívül semmilyen tranzakciót nem állíthat vissza. Egy másik tranzakció visszaállításához először véglegesítenie vagy vissza kell állítania az aktív tranzakciót.

    Alapértelmezés szerint, ha a tranzakció bármely része nem véglegesíthető, például ha a tranzakció egyik parancsa hibát eredményez, a teljes tranzakció vissza lesz állítva.