Exemple #1
0
 /// <summary>
 ///		Carga un script en texto
 /// </summary>
 public void LoadScript(string script)
 {
     // Inicializa el script
     Script = script;
     // Limpia los datos del manager
     InputParameters.Clear();
     OutputItems.Clear();
     Errors.Clear();
 }
Exemple #2
0
        /// <summary>
        ///		Ejecuta el script
        /// </summary>
        public void Execute(Action endCallback = null)
        {
            Task task;
            PowerShellInstance processor = new PowerShellInstance(Script, InputParameters);

            // Limpia los datos de salida
            OutputItems.Clear();
            Errors.Clear();
            // Asigna el manejador de eventos
            processor.EndExecute += (sender, args) => TreatEndScript(processor, endCallback);
            // Crea la tarea para la ejecución en otro hilo
            task = new Task(() => processor.Process());
            // Arranca la tarea
            try
            {
                task.Start();
            }
            catch (Exception exception)
            {
                Errors.Add($"Error when execute script {exception.Message}");
                endCallback?.Invoke();
                EndExecute?.Invoke(this, EventArgs.Empty);
            }
        }