/// <summary> /// This method implements the ProcessRecord method for Write-Debug command /// </summary> protected override void ProcessRecord() { // // The write-debug command must use the script's InvocationInfo rather than its own, // so we create the DebugRecord here and fill it up with the appropriate InvocationInfo; // then, we call the command runtime directly and pass this record to WriteDebug(). // MshCommandRuntime mshCommandRuntime = this.CommandRuntime as MshCommandRuntime; if (mshCommandRuntime != null) { DebugRecord record = new DebugRecord(Message); InvocationInfo invocationInfo = GetVariableValue(SpecialVariables.MyInvocation) as InvocationInfo; if (invocationInfo != null) { record.SetInvocationInfo(invocationInfo); } mshCommandRuntime.WriteDebug(record); } else { WriteDebug(Message); } } //processrecord
protected override void ProcessRecord() { MshCommandRuntime commandRuntime = base.CommandRuntime as MshCommandRuntime; if (commandRuntime != null) { DebugRecord record = new DebugRecord(this.Message); InvocationInfo variableValue = base.GetVariableValue("MyInvocation") as InvocationInfo; if (variableValue != null) { record.SetInvocationInfo(variableValue); } commandRuntime.WriteDebug(record, false); } else { base.WriteDebug(this.Message); } }