/// <summary>
        /// Process input.
        /// </summary>
        protected override void ProcessRecord()
        {
            List <ScheduledJobDefinition> definitions = null;

            switch (ParameterSetName)
            {
            case DefinitionParameterSet:
                definitions = new List <ScheduledJobDefinition>(_definitions);
                break;

            case DefinitionNameParameterSet:
                definitions = GetJobDefinitionsByName(_names);
                break;

            case DefinitionIdParameterSet:
                definitions = GetJobDefinitionsById(_definitionIds);
                break;
            }

            if (definitions != null)
            {
                foreach (ScheduledJobDefinition definition in definitions)
                {
                    string targetString = StringUtil.Format(ScheduledJobErrorStrings.DefinitionWhatIf, definition.Name);
                    if (ShouldProcess(targetString, VerbsLifecycle.Unregister))
                    {
                        // Removes the ScheduledJobDefinition from the job store,
                        // Task Scheduler, and disposes the object.
                        try
                        {
                            definition.Remove(_force);
                        }
                        catch (ScheduledJobException e)
                        {
                            string      msg         = StringUtil.Format(ScheduledJobErrorStrings.CantUnregisterDefinition, definition.Name);
                            Exception   reason      = new RuntimeException(msg, e);
                            ErrorRecord errorRecord = new ErrorRecord(reason, "CantUnregisterScheduledJobDefinition", ErrorCategory.InvalidOperation, definition);
                            WriteError(errorRecord);
                        }
                    }
                }
            }

            // Check for unknown definition names.
            if ((_names != null && _names.Length > 0) &&
                (_definitions == null || _definitions.Length < _names.Length))
            {
                // Make sure there is no PowerShell task in Task Scheduler with removed names.
                // This covers the case where the scheduled job definition was manually removed from
                // the job store but remains as a PowerShell task in Task Scheduler.
                using (ScheduledJobWTS taskScheduler = new ScheduledJobWTS())
                {
                    foreach (string name in _names)
                    {
                        taskScheduler.RemoveTaskByName(name, true, true);
                    }
                }
            }
        }
        protected override void ProcessRecord()
        {
            List <ScheduledJobDefinition> scheduledJobDefinitions = null;
            string parameterSetName = base.ParameterSetName;
            string str = parameterSetName;

            if (parameterSetName != null)
            {
                if (str == "Definition")
                {
                    scheduledJobDefinitions = new List <ScheduledJobDefinition>(this._definitions);
                }
                else
                {
                    if (str == "DefinitionName")
                    {
                        scheduledJobDefinitions = base.GetJobDefinitionsByName(this._names, true);
                    }
                    else
                    {
                        if (str == "DefinitionId")
                        {
                            scheduledJobDefinitions = base.GetJobDefinitionsById(this._definitionIds, true);
                        }
                    }
                }
            }
            if (scheduledJobDefinitions != null)
            {
                foreach (ScheduledJobDefinition scheduledJobDefinition in scheduledJobDefinitions)
                {
                    string str1 = StringUtil.Format(ScheduledJobErrorStrings.DefinitionWhatIf, scheduledJobDefinition.Name);
                    if (!base.ShouldProcess(str1, "Unregister"))
                    {
                        continue;
                    }
                    try
                    {
                        scheduledJobDefinition.Remove(this._force);
                    }
                    catch (ScheduledJobException scheduledJobException1)
                    {
                        ScheduledJobException scheduledJobException = scheduledJobException1;
                        string      str2             = StringUtil.Format(ScheduledJobErrorStrings.CantUnregisterDefinition, scheduledJobDefinition.Name);
                        Exception   runtimeException = new RuntimeException(str2, scheduledJobException);
                        ErrorRecord errorRecord      = new ErrorRecord(runtimeException, "CantUnregisterScheduledJobDefinition", ErrorCategory.InvalidOperation, scheduledJobDefinition);
                        base.WriteError(errorRecord);
                    }
                }
            }
            if (this._names != null && (int)this._names.Length > 0 && (this._definitions == null || (int)this._definitions.Length < (int)this._names.Length))
            {
                using (ScheduledJobWTS scheduledJobWT = new ScheduledJobWTS())
                {
                    string[] strArrays = this._names;
                    for (int i = 0; i < (int)strArrays.Length; i++)
                    {
                        string str3 = strArrays[i];
                        scheduledJobWT.RemoveTaskByName(str3, true, true);
                    }
                }
            }
        }
        /// <summary>
        /// Process input.
        /// </summary>
        protected override void ProcessRecord()
        {
            List<ScheduledJobDefinition> definitions = null;
            switch (ParameterSetName)
            {
                case DefinitionParameterSet:
                    definitions = new List<ScheduledJobDefinition>(_definitions);
                    break;

                case DefinitionNameParameterSet:
                    definitions = GetJobDefinitionsByName(_names);
                    break;

                case DefinitionIdParameterSet:
                    definitions = GetJobDefinitionsById(_definitionIds);
                    break;
            }

            if (definitions != null)
            {
                foreach (ScheduledJobDefinition definition in definitions)
                {
                    string targetString = StringUtil.Format(ScheduledJobErrorStrings.DefinitionWhatIf, definition.Name);
                    if (ShouldProcess(targetString, VerbsLifecycle.Unregister))
                    {
                        // Removes the ScheduledJobDefinition from the job store,
                        // Task Scheduler, and disposes the object.
                        try
                        {
                            definition.Remove(_force);
                        }
                        catch (ScheduledJobException e)
                        {
                            string msg = StringUtil.Format(ScheduledJobErrorStrings.CantUnregisterDefinition, definition.Name);
                            Exception reason = new RuntimeException(msg, e);
                            ErrorRecord errorRecord = new ErrorRecord(reason, "CantUnregisterScheduledJobDefinition", ErrorCategory.InvalidOperation, definition);
                            WriteError(errorRecord);
                        }
                    }
                }
            }

            // Check for unknown definition names.
            if ((_names != null && _names.Length > 0) &&
                (_definitions == null || _definitions.Length < _names.Length))
            {
                // Make sure there is no PowerShell task in Task Scheduler with removed names.
                // This covers the case where the scheduled job definition was manually removed from
                // the job store but remains as a PowerShell task in Task Scheduler.
                using (ScheduledJobWTS taskScheduler = new ScheduledJobWTS())
                {
                    foreach (string name in _names)
                    {
                        taskScheduler.RemoveTaskByName(name, true, true);
                    }
                }
            }
        }
		internal static void RemoveDefinition(string definitionName)
		{
			try
			{
				ScheduledJobStore.RemoveJobDefinition(definitionName);
			}
			catch (DirectoryNotFoundException directoryNotFoundException)
			{
			}
			catch (FileNotFoundException fileNotFoundException)
			{
			}
			catch (UnauthorizedAccessException unauthorizedAccessException)
			{
			}
			catch (IOException oException)
			{
			}
			using (ScheduledJobWTS scheduledJobWT = new ScheduledJobWTS())
			{
				try
				{
					scheduledJobWT.RemoveTaskByName(definitionName, true, true);
				}
				catch (UnauthorizedAccessException unauthorizedAccessException1)
				{
				}
				catch (IOException oException1)
				{
				}
			}
		}
        /// <summary>
        /// Internal helper method to remove a scheduled job definition
        /// by name from job store and Task Scheduler.
        /// </summary>
        /// <param name="definitionName">Scheduled job definition name</param>
        internal static void RemoveDefinition(
            string definitionName)
        {
            // Remove from store.
            try
            {
                ScheduledJobStore.RemoveJobDefinition(definitionName);
            }
            catch (DirectoryNotFoundException)
            { }
            catch (FileNotFoundException)
            { }
            catch (UnauthorizedAccessException)
            { }
            catch (IOException)
            { }

            // Check and remove from Task Scheduler.
            using (ScheduledJobWTS taskScheduler = new ScheduledJobWTS())
            {
                try
                {
                    taskScheduler.RemoveTaskByName(definitionName, true, true);
                }
                catch (UnauthorizedAccessException)
                { }
                catch (IOException)
                { }
            }
        }
		protected override void ProcessRecord()
		{
			List<ScheduledJobDefinition> scheduledJobDefinitions = null;
			string parameterSetName = base.ParameterSetName;
			string str = parameterSetName;
			if (parameterSetName != null)
			{
				if (str == "Definition")
				{
					scheduledJobDefinitions = new List<ScheduledJobDefinition>(this._definitions);
				}
				else
				{
					if (str == "DefinitionName")
					{
						scheduledJobDefinitions = base.GetJobDefinitionsByName(this._names, true);
					}
					else
					{
						if (str == "DefinitionId")
						{
							scheduledJobDefinitions = base.GetJobDefinitionsById(this._definitionIds, true);
						}
					}
				}
			}
			if (scheduledJobDefinitions != null)
			{
				foreach (ScheduledJobDefinition scheduledJobDefinition in scheduledJobDefinitions)
				{
					string str1 = StringUtil.Format(ScheduledJobErrorStrings.DefinitionWhatIf, scheduledJobDefinition.Name);
					if (!base.ShouldProcess(str1, "Unregister"))
					{
						continue;
					}
					try
					{
						scheduledJobDefinition.Remove(this._force);
					}
					catch (ScheduledJobException scheduledJobException1)
					{
						ScheduledJobException scheduledJobException = scheduledJobException1;
						string str2 = StringUtil.Format(ScheduledJobErrorStrings.CantUnregisterDefinition, scheduledJobDefinition.Name);
						Exception runtimeException = new RuntimeException(str2, scheduledJobException);
						ErrorRecord errorRecord = new ErrorRecord(runtimeException, "CantUnregisterScheduledJobDefinition", ErrorCategory.InvalidOperation, scheduledJobDefinition);
						base.WriteError(errorRecord);
					}
				}
			}
			if (this._names != null && (int)this._names.Length > 0 && (this._definitions == null || (int)this._definitions.Length < (int)this._names.Length))
			{
				using (ScheduledJobWTS scheduledJobWT = new ScheduledJobWTS())
				{
					string[] strArrays = this._names;
					for (int i = 0; i < (int)strArrays.Length; i++)
					{
						string str3 = strArrays[i];
						scheduledJobWT.RemoveTaskByName(str3, true, true);
					}
				}
			}
		}