// 20120816 public void runScriptBlocks( System.Collections.Generic.List<ScriptBlock> scriptblocks, PSCmdletBase cmdlet, // 20130318 //bool eventHandlers) bool eventHandlers, object[] parameters) { try { if (scriptblocks != null && scriptblocks.Count > 0) { cmdlet.WriteVerbose(cmdlet, "there are " + scriptblocks.Count.ToString() + " scriptblock(s) to run"); foreach (ScriptBlock sb in scriptblocks) { if (sb != null) { try { if (eventHandlers) { cmdlet.WriteVerbose(cmdlet, "run event handler"); runScriptBlock runner = new runScriptBlock(runSBEvent); runner(sb, cmdlet.EventSource, cmdlet.EventArgs); } else { cmdlet.WriteVerbose(cmdlet, "run action with parameters"); // 20130318 //runScriptBlock runner = new runScriptBlock(runSBAction); //runner(sb, cmdlet.EventSource, cmdlet.EventArgs); runScriptBlockWithParameters runnerWithParams = new runScriptBlockWithParameters(runSBActionWithParams); cmdlet.WriteVerbose(cmdlet, "the scriptblock runner has been created"); // 20130606 try { cmdlet.WriteVerbose(cmdlet, "listing parameters"); if (null == parameters || 0 == parameters.Length) { cmdlet.WriteVerbose(cmdlet, "there are no parameters"); } else { foreach (var singleParam in parameters) { cmdlet.WriteVerbose(cmdlet, singleParam); } } } catch (Exception eListParameters) { cmdlet.WriteVerbose(cmdlet, eListParameters.Message); } runnerWithParams(sb, parameters); cmdlet.WriteVerbose(cmdlet, "the scriptblock runner has finished"); } } catch (Exception eInner) { // 20130318 // ErrorRecord err = // new ErrorRecord( // eInner, // "InvokeException", // ErrorCategory.OperationStopped, // sb); // err.ErrorDetails = // new ErrorDetails("Error in " + // sb.ToString()); // WriteError(this, err, false); // this.WriteError( // this, // "Error in " + // sb.ToString() + // ". " + // eInner.Message, // "InvokeException", // ErrorCategory.OperationStopped, // // 20130318 // //false); // true); // 20130606 cmdlet.WriteVerbose(cmdlet, eInner.Message); //throw; throw new Exception("Failed to run scriptblock"); } } } } } catch (Exception eOuter) { // 20130318 // WriteError(this, // new ErrorRecord(eOuter, "runScriptBlocks", ErrorCategory.InvalidArgument, null), // true); // this.WriteError( // this, // eOuter.Message, // "runScriptBlocks", // ErrorCategory.InvalidArgument, // true); // 20130606 cmdlet.WriteVerbose(cmdlet, eOuter.Message); //throw; throw new Exception("Failed to run scriptblocks"); } }
// 20120816 public void runScriptBlocks(System.Collections.Generic.List<ScriptBlock > blocks, PSCmdletBase cmdlet, bool eventHandlers) { try { if (blocks != null && blocks.Count > 0) { // WriteVerbose(this, "runScriptBlocks 1 fired"); foreach (ScriptBlock sb in blocks) { // WriteVerbose(this, "runScriptBlocks 2 fired"); if (sb != null) { // WriteVerbose(this, "runScriptBlocks 3 fired"); try { if (eventHandlers) { // WriteVerbose(this, "runScriptBlocks 4 fired"); // runScriptBlock runner = new runScriptBlock(runSBEvent); // runScriptBlock runner = new runScriptBlock(runSBEvent); // test runScriptBlock runner = new runScriptBlock(runSBEvent); // WriteVerbose(this, "runScriptBlocks 5 fired"); runner(sb, cmdlet.EventSource, cmdlet.EventArgs); // WriteVerbose(this, "runScriptBlocks 6 fired"); } else { // runScriptBlock runner = new runScriptBlock(runSB); runScriptBlock runner = new runScriptBlock(runSBAction); runner(sb, cmdlet.EventSource, cmdlet.EventArgs); } } catch (Exception eInner) { ErrorRecord err = new ErrorRecord( eInner, "InvokeException", ErrorCategory.OperationStopped, sb); err.ErrorDetails = new ErrorDetails("Error in " + sb.ToString()); WriteError(this, err, false); } } } } } catch (Exception eOuter) { WriteError(this, new ErrorRecord(eOuter, "runScriptBlocks", ErrorCategory.InvalidArgument, null), true); } }
// 20120816 public void runScriptBlocks( System.Collections.Generic.List<ScriptBlock> scriptblocks, PSCmdletBase cmdlet, // 20130318 //bool eventHandlers) bool eventHandlers, object[] parameters) { try { if (scriptblocks != null && scriptblocks.Count > 0) { foreach (ScriptBlock sb in scriptblocks) { if (sb != null) { try { if (eventHandlers) { cmdlet.WriteVerbose(cmdlet, "run event handler"); runScriptBlock runner = new runScriptBlock(runSBEvent); runner(sb, cmdlet.EventSource, cmdlet.EventArgs); } else { cmdlet.WriteVerbose(cmdlet, "run action with parameters"); // 20130318 //runScriptBlock runner = new runScriptBlock(runSBAction); //runner(sb, cmdlet.EventSource, cmdlet.EventArgs); runScriptBlockWithParameters runnerWithParams = new runScriptBlockWithParameters(runSBActionWithParams); runnerWithParams(sb, parameters); } } catch (Exception eInner) { // 20130318 // ErrorRecord err = // new ErrorRecord( // eInner, // "InvokeException", // ErrorCategory.OperationStopped, // sb); // err.ErrorDetails = // new ErrorDetails("Error in " + // sb.ToString()); // WriteError(this, err, false); // this.WriteError( // this, // "Error in " + // sb.ToString() + // ". " + // eInner.Message, // "InvokeException", // ErrorCategory.OperationStopped, // // 20130318 // //false); // true); throw; } } } } } catch (Exception eOuter) { // 20130318 // WriteError(this, // new ErrorRecord(eOuter, "runScriptBlocks", ErrorCategory.InvalidArgument, null), // true); // this.WriteError( // this, // eOuter.Message, // "runScriptBlocks", // ErrorCategory.InvalidArgument, // true); throw; } }
public void runScriptBlocks( List <ScriptBlock> scriptblocks, PSCmdletBase cmdlet, bool eventHandlers, object[] parameters) { try { if (scriptblocks != null && scriptblocks.Count > 0) { // cmdlet.WriteVerbose(cmdlet, "there are " + scriptblocks.Count + " scriptblock(s) to run"); foreach (var sb in scriptblocks) { if (sb != null) { try { if (eventHandlers) { // cmdlet.WriteVerbose(cmdlet, "run event handler"); var runner = new runScriptBlock(runSBEvent); runner(sb, cmdlet.EventSource, cmdlet.EventArgs); } else { // cmdlet.WriteVerbose(cmdlet, "run action with parameters"); //runScriptBlock runner = new runScriptBlock(runSBAction); //runner(sb, cmdlet.EventSource, cmdlet.EventArgs); var runnerWithParams = new runScriptBlockWithParameters(runSBActionWithParams); // cmdlet.WriteVerbose(cmdlet, "the scriptblock runner has been created"); // 20130606 try { cmdlet.WriteVerbose(cmdlet, "listing parameters"); if (null == parameters || 0 == parameters.Length) { cmdlet.WriteVerbose(cmdlet, "there are no parameters"); } else { foreach (var singleParam in parameters) { cmdlet.WriteVerbose(cmdlet, singleParam); } } } catch (Exception eListParameters) { cmdlet.WriteVerbose(cmdlet, eListParameters.Message); } runnerWithParams(sb, parameters); // cmdlet.WriteVerbose(cmdlet, "the scriptblock runner has finished"); } } catch (Exception) { // 20130318 // ErrorRecord err = // new ErrorRecord( // eInner, // "InvokeException", // ErrorCategory.OperationStopped, // sb); // err.ErrorDetails = // new ErrorDetails("Error in " + // sb.ToString()); // WriteError(this, err, false); // this.WriteError( // this, // "Error in " + // sb.ToString() + // ". " + // eInner.Message, // "InvokeException", // ErrorCategory.OperationStopped, // // 20130318 // //false); // true); // cmdlet.WriteVerbose(cmdlet, eInner.Message); throw new Exception("Failed to run scriptblock"); } } } } } catch (Exception) { // WriteError(this, // new ErrorRecord(eOuter, "runScriptBlocks", ErrorCategory.InvalidArgument, null), // true); // this.WriteError( // this, // eOuter.Message, // "runScriptBlocks", // ErrorCategory.InvalidArgument, // true); // cmdlet.WriteVerbose(cmdlet, eOuter.Message); throw new Exception("Failed to run scriptblocks"); } }