Bir Cmdlet İçinde Komut Dosyaları Nasıl Çağırılır


Bu örnek, bir cmdlet'e sağlanan bir betiğin nasıl çağrılacağını gösterir. Betik, cmdlet tarafından yürütülür ve sonuçları, System.Management.Automation.PSObject nesnelerinin bir koleksiyonu olarak cmdlet'e döndürülür.

Bir komut dosyası bloğunu çağırmak için

  1. Komut, cmdlet'e bir komut dosyası bloğunun sağlandığını doğrular. Bir komut dosyası bloğu sağlanmışsa, komut, gerekli parametreleriyle birlikte komut dosyası bloğunu çağırır.

    if (script != null)
    {
         WriteDebug("Executing script block.");
    
         // Invoke the script block with the required arguments.
         Collection<PSObject> PSObjects = script.Invoke(
             line,
             simpleMatch,
             caseSensitive
         );
        // more code as needed...
    }
    
  2. Daha sonra komut dosyası, System.Management.Automation.PSObject nesnelerinin döndürülen koleksiyonunu yineler ve gerekli işlemleri gerçekleştirir.

    foreach (PSObject object in PSObjects)
    {
        if (LanguagePrimitives.IsTrue(object))
        {
             result = new MatchInfo();
             result.Line = line;
             result.IgnoreCase = !caseSensitive;
             break;
        }
    }
    

Ayrıca Bakınız

Windows PowerShell Cmdlet'i Yazma

İlgili makaleler