Beispiel #1
0
 protected override void ProcessRecord()
 {
     if (this.MyInvocation.BoundParameters.ContainsKey("InputObject"))
     {
         _input = this.InputObject;
     }
 }
Beispiel #2
0
        private void SetSmoJob(Dictionary <string, object> parameters, SmoJob job)
        {
            var sd = new SwappableDictionary(parameters);

            if (sd.ContainsKey("NewName"))
            {
                sd.Swap(sd.NewSwappable(NAME, "NewName"));
            }

            if (sd.ContainsKey("Enabled"))
            {
                sd.Swap(sd.NewSwappable("IsEnabled", "Enabled"));
            }

            for (int i = sd.Count - 1; i >= 0; i--)
            {
                KeyValuePair <string, object> kvp = sd.ElementAt(i);
                if (SkipThese.Contains(kvp.Key))
                {
                    sd.Remove(kvp.Key);
                }
            }

            var propList = job.GetType().GetProperties(FLAGS).Where(x => x.CanWrite && sd.ContainsKey(x.Name)).ToList();

            base.ChangeValues(job, sd, propList);

            job.Alter();
        }
Beispiel #3
0
        protected override void BeginProcessing()
        {
            base.BeginProcessing();


            if (this.MyInvocation.BoundParameters.ContainsKey(JOBNAME))
            {
                if (this.SqlServer == null && SmoContext.GetNullOrEmpty(SmoContext.Jobs))
                {
                    SmoContext.SetJobs(SmoContext.Connection.JobServer.Jobs);
                }

                else if (this.SqlServer != null)
                {
                    SmoContext.SetJobs(this.SqlServer.JobServer.Jobs);
                }

                _input = this.GetJobFromName(this.JobName);
            }


            else if (this.MyInvocation.BoundParameters.ContainsKey(JOBID))
            {
                _input = this.GetJobFromId(this.JobId, _server);
            }
        }
Beispiel #4
0
        protected private SmoJob GetJobFromName(string name)
        {
            SmoJob retJob = null;

            for (int i = 0; i < SmoContext.Jobs.Count; i++)
            {
                var job = SmoContext.Jobs[i];
                if (job.Name.Equals(name, StringComparison.CurrentCultureIgnoreCase))
                {
                    retJob = job;
                    break;
                }
            }
            return(retJob);
        }
Beispiel #5
0
 protected override void ProcessRecord()
 {
     if (jobs != null && jobs.Count > 0)
     {
         base.WriteObject(jobs, true);
     }
     else if (this.SqlServer != null)
     {
         var jobCol = this.SqlServer.JobServer.Jobs;
         if (_dynLib != null && _dynLib.ParameterHasValue("JobName"))
         {
             string[] names = _dynLib.GetParameterValues <string>("JobName");
             for (int i = 0; i < jobCol.Count; i++)
             {
                 Microsoft.SqlServer.Management.Smo.Agent.Job job = jobCol[i];
                 if (names.Contains(job.Name, new SmoContext.CaseInsensitiveComparer()))
                 {
                     SmoJob smoj = job;
                     base.WriteObject(smoj);
                 }
             }
         }
         else
         {
             for (int i = 0; i < jobCol.Count; i++)
             {
                 SmoJob smoj = jobCol[i];
                 base.WriteObject(smoj);
             }
         }
     }
     else
     {
         throw new ArgumentException("SqlServer can't be null if you don't connect to an instance.");
     }
 }