Compartilhar via


Como invocar scripts dentro de um cmdlet

Este exemplo mostra como invocar um script que é fornecido a um cmdlet. O script é executado pelo cmdlet e seus resultados são retornados para o cmdlet como uma coleção de objetos System. Management. Automation. PSObject .

Para invocar um bloco de script

  1. O comando verifica se um bloco de script foi fornecido ao cmdlet. Se um bloco de script foi fornecido, o comando invoca o bloco de script com seus parâmetros necessários.

    if (script != null)
    {
      WriteDebug("Executing script block.");
    
      // Invoke the script block with the required arguments.
      Collection<PSObject> PSObjects =
                     script.Invoke(
                                   line,
                                   simpleMatch,
                                   caseSensitive
                                  );
    
  2. Em seguida, o script faz a iteração pela coleção retornada de objetos System. Management. Automation. PSObject e executa as operações necessárias.

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

Consulte Também

Escrevendo um Cmdlet do Windows PowerShell