Share via


Cómo invocar scripts dentro de un cmdlet

En este ejemplo se muestra cómo invocar un script que se proporciona a un cmdlet. El cmdlet ejecuta el script y sus resultados se devuelven al cmdlet como una colección de objetos System.Management.Automation.PSObject.

Para invocar un bloque de script

  1. El comando comprueba que se ha proporcionado un bloque de script al cmdlet . Si se proporcionó un bloque de script, el comando invoca el bloque de script con sus parámetros necesarios.

    if (script != null)
    {
      WriteDebug("Executing script block.");
    
      // Invoke the script block with the required arguments.
      Collection<PSObject> PSObjects =
                     script.Invoke(
                                   line,
                                   simpleMatch,
                                   caseSensitive
                                  );
    
  2. A continuación, el script recorre en iteración la colección devuelta de objetos System.Management.Automation.PSObject y realiza las operaciones necesarias.

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

Vea también

Escribir un cmdlet de Windows PowerShell