Как вызвать сценарий из командлета

В этом примере показано, как вызвать скрипт, передаваемый в командлет. Скрипт выполняется командлетом, и его результаты возвращаются в командлет в виде коллекции объектов 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;
      }
    }
    
    

См. также

Запись командлета Windows PowerShell