/// <summary> /// Execute BeginProcessing part of command. /// </summary> internal override void DoBegin() { if (!RanBeginAlready && CmdletParameterBinderController.ObsoleteParameterWarningList != null) { using (CommandRuntime.AllowThisCommandToWrite(false)) { // Write out warning messages for the bound obsolete parameters. // The warning message are generated during parameter binding, but we delay writing // them out until now so that the -WarningAction will be respected as expected. foreach (WarningRecord warningRecord in CmdletParameterBinderController.ObsoleteParameterWarningList) { CommandRuntime.WriteWarning(warningRecord); } } // Clear up the warning message list CmdletParameterBinderController.ObsoleteParameterWarningList.Clear(); } base.DoBegin(); }