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.