Cmdlet Giriş İşleme Yöntemleri
Cmdlet'lerin işlerini gerçekleştirmek için bu konuda açıklanan bir veya daha fazla giriş işleme yöntemini geçersiz kılmaları gerekir. Bu yöntemler cmdlet'in ön işleme, giriş işleme ve son işleme işlemlerini gerçekleştirmesine olanak tanır. Bu yöntemler ayrıca cmdlet işlemeyi durdurmanıza da olanak tanır. Bu yöntemlerin nasıl kullanılacağına ilişkin daha ayrıntılı bir örnek için SelectStr Eğitimi'ne bakın.
Ön İşleme İşlemleri
Cmdlet'ler, daha sonra cmdlet tarafından işlenecek tüm kayıtlar için geçerli olan ön işleme işlemlerini eklemek üzere System.Management.Automation.Cmdlet.BeginProcessing yöntemini geçersiz kılmalıdır. PowerShell bir komut ardışık düzenini işlediğinde, PowerShell bu yöntemi ardışık düzendeki cmdlet'in her örneği için bir kez çağırır. PowerShell'in komut hattını nasıl çağırdığı hakkında daha fazla bilgi için bkz. Cmdlet İşleme Yaşam Döngüsü.
Aşağıdaki kod, BeginProcessing yönteminin bir uygulamasını gösterir.
protected override void BeginProcessing()
{
// Replace the WriteObject method with the logic required by your cmdlet.
WriteObject("This is a test of the BeginProcessing template.");
}
Giriş İşleme İşlemleri
Cmdlet'ler, cmdlet'e gönderilen girişi işlemek için System.Management.Automation.Cmdlet.ProcessRecord yöntemini geçersiz kılabilir. PowerShell bir komut hattını işlediğinde PowerShell, cmdlet tarafından işlenen her giriş kaydı için bu yöntemi çağırır. PowerShell'in komut hattını nasıl çağırdığı hakkında daha fazla bilgi için bkz. Cmdlet İşleme Yaşam Döngüsü.
Aşağıdaki kod, ProcessRecord yönteminin bir uygulamasını gösterir.
protected override void ProcessRecord()
{
// Replace the WriteObject method with the logic required by your cmdlet.
WriteObject("This is a test of the ProcessRecord template.");
}
İşlem Sonrası İşlemler
Cmdlet'ler, cmdlet tarafından işlenen tüm kayıtlar için geçerli olan herhangi bir işlem sonrası işlemi eklemek üzere System.Management.Automation.Cmdlet.EndProcessing yöntemini geçersiz kılmalıdır. Örneğin cmdlet'inizin işlenmesi tamamlandıktan sonra nesne değişkenlerini temizlemesi gerekebilir.
PowerShell bir komut ardışık düzenini işlediğinde, PowerShell bu yöntemi ardışık düzendeki cmdlet'in her örneği için bir kez çağırır. Ancak cmdlet'in giriş işlemesinin ortasında iptal edilmesi veya cmdlet'in herhangi bir bölümünde bir sonlandırma hatası oluşması durumunda PowerShell çalışma zamanının EndProcessing yöntemini çağırmayacağını unutmamak önemlidir. Bu nedenle, nesne temizliği gerektiren bir cmdlet'in, bir sonlandırıcı da dahil olmak üzere System.IDisposable modelinin tamamını uygulaması gerekir; böylece çalışma zamanı, işlemin sonunda hem EndProcessing hem de System.IDisposable.Dispose yöntemlerini çağırabilir. PowerShell'in komut hattını nasıl çağırdığı hakkında daha fazla bilgi için bkz. Cmdlet İşleme Yaşam Döngüsü.
Aşağıdaki kod, EndProcessing yönteminin bir uygulamasını gösterir.
protected override void EndProcessing()
{
// Replace the WriteObject method with the logic required by your cmdlet.
WriteObject("This is a test of the EndProcessing template.");
}
Ayrıca Bakınız
System.Management.Automation.Cmdlet.BeginProcessing
System.Management.Automation.Cmdlet.ProcessRecord
System.Management.Automation.Cmdlet.EndProcessing
SelectStr Eğitimi
System.ID tek kullanımlık
Windows PowerShell Kabuk SDK'sı