public static void AddWizardStep(WizardStepCmdletBase cmdlet) { if (null != cmdlet.InputObject && null != cmdlet.InputObject) { WizardStep probeTheSameStep = cmdlet.InputObject.GetStep(cmdlet.Name); if (null != probeTheSameStep) { cmdlet.WriteError( cmdlet, "A step with the name provided already exists", "StepAlreadyExists", ErrorCategory.InvalidArgument, true); } // WizardStep step = new WizardStep(cmdlet.Name, cmdlet.Order) var step = new WizardStep(cmdlet.Name, cmdlet.Order) { SearchCriteria = cmdlet.SearchCriteria, StepForwardAction = cmdlet.StepForwardAction, StepBackwardAction = cmdlet.StepBackwardAction, StepCancelAction = cmdlet.StepCancelAction, Description = cmdlet.Description, Parent = cmdlet.InputObject }; // 20130319 //step.StepGetWindowAction = cmdlet.StepGetWindowAction; cmdlet.WriteVerbose(cmdlet, "adding the step"); cmdlet.InputObject.Steps.Add(step); // 20130508 cmdlet.WriteInfo(cmdlet, step.Name + " has been added"); if (cmdlet.PassThru) { cmdlet.WriteObject(cmdlet, cmdlet.InputObject); } else { cmdlet.WriteObject(cmdlet, true); } } else { cmdlet.WriteError(cmdlet, "The wizard object you provided is not valid", "WrongWizardObject", ErrorCategory.InvalidArgument, true); } }