次の方法で共有


コマンドレット内でスクリプトを呼び出す方法

この例では、コマンドレットに指定されたスクリプトを呼び出す方法を示します。 スクリプトは コマンドレットによって実行され、その結果は System.Management.Automation.PSObject オブジェクトのコレクションとしてコマンドレットに返されます。

スクリプト ブロックを呼び出す方法

  1. コマンドは、スクリプト ブロックがコマンドレットに指定されたと確認します。 スクリプト ブロックが指定された場合、コマンドは必要なパラメーターを使用してスクリプト ブロックを呼び出します。

    if (script != null)
    {
      WriteDebug("Executing script block.");
    
      // Invoke the script block with the required arguments.
      Collection<PSObject> PSObjects =
                     script.Invoke(
                                   line,
                                   simpleMatch,
                                   caseSensitive
                                  );
    
  2. 次に、返された System.Management.Automation.PSObject オブジェクトのコレクションを反復処理し、必要な操作を実行します。

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

参照

Writing a Windows PowerShell Cmdlet (Windows PowerShell コマンドレットの記述)