Complete-Transaction
Etkin işlemi işler.
Syntax
Default (Varsayılan)
Complete-Transaction
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Complete-Transaction cmdlet'i etkin bir işlem işler. Bir işlem işlediğinizde, işlemdeki komutlar sonlandırılır ve komutlardan etkilenen veriler değiştirilir.
İşlem birden çok abone içeriyorsa, işlemi işlemek için her Complete-Transaction komutu için bir Start-Transaction komutu girmeniz gerekir.
Complete-Transaction cmdlet'i, Windows PowerShell'deki işlemler özelliğini destekleyen bir cmdlet kümesidir.
Daha fazla bilgi için bkz. about_Transactions.
Örnekler
Örnek 1: İşlem yürütme
Set-Location HKCU:\software
Start-Transaction
New-Item MyCompany -UseTransaction
Get-ChildItem m*
Hive: HKEY_CURRENT_USER\software
SKC VC Name Property
--- -- ---- --------
82 1 Microsoft {(default)}
Complete-Transaction
Get-ChildItem m*
Hive: HKEY_CURRENT_USER\Software
SKC VC Name Property
--- -- ---- --------
82 1 Microsoft {(default)}
0 0 MyCompany {}
Bu örnekte, bir işlem işlemek için Complete-Transaction cmdlet'ini kullandığınızda ne olacağı gösterilir.
Start-Transaction komutu işlemi başlatır. New-Item komutu, UseTransaction parametresini kullanarak komutu işleme ekler.
İlk Get-ChildItem komutu, yeni öğenin henüz kayıt defterine eklenmediğini gösterir.
Complete-Transaction komutu, kayıt defteri değişikliğini etkili hale getiren işlemi işler. Sonuç olarak, ikinci Get-ChildItem komutu kayıt defterinin değiştirildiğini gösterir.
Örnek 2: Birden fazla abonesi olan bir işlemi işleme
Set-Location HKCU:\software
Start-Transaction
New-Item MyCompany -UseTransaction
Hive: HKEY_CURRENT_USER\Software
SKC VC Name Property
--- -- ---- --------
0 0 MyCompany {}
Start-Transaction
Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 2 Active
New-ItemProperty -Path MyCompany -Name MyKey -Value -UseTransaction
MyKey
-----
123
Complete-Transaction
Get-Transaction
RollbackPreference SubscriberCount Status
------------------ --------------- ------
Error 1 Active
Get-ChildItem m*
Hive: HKEY_CURRENT_USER\Software
SKC VC Name Property
--- -- ---- --------
82 1 Microsoft {(default)}
Complete-Transaction
Get-ChildItem m*
Hive: HKEY_CURRENT_USER\Software
SKC VC Name Property
--- -- ---- --------
82 1 Microsoft {(default)}
0 1 MyCompany {MyKey}
Bu örnekte, birden fazla abonesi olan bir işlemi işlemek için Complete-Transaction nasıl kullanılacağı gösterilmektedir.
Çok aboneli bir işlem işlemek için, her Complete-Transaction komutu için bir Start-Transaction komutu girmeniz gerekir. Veriler yalnızca son Complete-Transaction komutu gönderildiğinde değiştirilir.
Gösterim amacıyla, bu örnekte komut satırına girilen bir dizi komut gösterilmektedir. Uygulamada, işlemler betiklerde çalıştırılır ve ikincil işlem ana betik tarafından çağrılan bir işlev veya yardımcı betik tarafından çalıştırılır.
Bu örnekte, bir Start-Transaction komutu işlemi başlatır.
New-Item parametresine sahip bir komutu, MyCompany anahtarını Yazılım anahtarına ekler.
New-Item cmdlet'i bir anahtar nesnesi döndürse de, kayıt defterindeki veriler henüz değiştirilmemiştir.
İkinci bir Start-Transaction komutu, mevcut işleme ikinci bir abone ekler.
Get-Transaction cmdlet'i abone sayısının 2 olduğunu onaylar.
UseTransaction parametresine sahip bir New-ItemProperty komutu, yeni MyCompany anahtarına bir kayıt defteri girdisi ekler. Komut yine bir değer döndürür, ancak kayıt defteri değiştirilmez.
İlk Complete-Transaction komutu abone sayısını 1 azaltır. Bu, bir Get-Transaction komutuyla onaylanır. Ancak, bir Get-ChildItem m* komutu tarafından kanıtlandığından hiçbir veri değiştirilmez.
İkinci Complete-Transaction komutu tüm işlemi işler ve kayıt defterindeki verileri değiştirir. Bu, değişiklikleri gösteren ikinci bir Get-ChildItem m* komutuyla onaylanır.
Örnek 3: Hiçbir veriyi değiştirmeyen bir işlem gerçekleştirme
Set-Location HKCU:\software
Start-Transaction
New-Item MyCompany -UseTransaction
Get-ChildItem m*
Hive: HKEY_CURRENT_USER\Software
SKC VC Name Property
--- -- ---- --------
82 1 Microsoft {(default)}
Get-ChildItem m* -UseTransaction
Hive: HKEY_CURRENT_USER\Software
SKC VC Name Property
--- -- ---- --------
82 1 Microsoft {(default)}
0 0 MyCompany {}
Complete-Transaction
Bu örnek, bir işlemde Get-* komutlarını ve verileri değiştirmeyen diğer komutları kullanmanın değerini gösterir. bir Get-\* komutu bir işlemde kullanıldığında, işlemin parçası olan nesneleri alır. Bu, değişiklikler işlenmeden önce işlemdeki değişikliklerin önizlemesini görüntülemenizi sağlar.
Bu örnekte bir işlem başlatılır. UseTransaction parametresine sahip bir New-Item komutu, işlemin bir parçası olarak kayıt defterine yeni bir anahtar ekler.
Complete-Transaction komutu çalıştırılmadan yeni kayıt defteri anahtarı kayıt defterine eklenmediği için, basit bir Get-ChildItem komutu kayıt defterini yeni anahtar olmadan gösterir.
Ancak, komutuna Get-ChildItem parametresini eklediğinizde, komut işlemin bir parçası olur ve henüz verilere eklenmese bile işlemdeki öğeleri alır.
Parametreler
-Confirm
Cmdlet'i çalıştırmadan önce sizden onay ister.
Parametre özellikleri
| Tür: | SwitchParameter |
| Default value: | False |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | Cf |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-WhatIf
Cmdlet çalıştırılırsa ne olacağını gösterir. Cmdlet çalıştırılmaz.
Parametre özellikleri
| Tür: | SwitchParameter |
| Default value: | False |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | Wi |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
CommonParameters
Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.
Girişler
None
Nesneleri bu cmdlet'e yöneltemezsiniz.
Çıkışlar
None
Bu cmdlet herhangi bir çıkış oluşturmaz.
Notlar
Kaydedilmiş bir işlemi geri alamaz veya geri alınmış bir işlemi işleyemezsiniz.
Etkin işlem dışında hiçbir işlemi geri alamazsınız. Farklı bir işlemi geri almak için önce etkin işlemi işlemeniz veya geri almanız gerekir.
Varsayılan olarak, işlemdeki bir komut hatayla sonuçlandığında olduğu gibi işlemin herhangi bir bölümü işlenemiyorsa, işlemin tamamı geri alınır.