2017-06-24 119 views
0

我试图禁用使用.NET SDK的Runbook计划 检索JobScheduled我想禁用并尝试将关联的Runbook和计划设置为null和“”。使用.net SDK禁用Azure自动化Runbook计划

    var schedulenm = new ScheduleAssociationProperty(); 
 
        schedulenm.Name = ""; 
 
        var runbooknm = new RunbookAssociationProperty(); 
 
        runbooknm.Name = ""; 
 
        jocsched.Properties.Schedule = schedulenm; 
 
        jobsched.Properties.Runbook = runbooknm;

也试过直接查询的主要日程和IsEnabled属性设置为false。 但是这也没有任何影响。

禁用与Runbook关联的计划的正确方法是什么? (只是想禁用不删除)

回答

1

根据你的描述,如果你想禁用与操作手册相关的时间表。您可以使用AutomationManagementClient.JobSchedules.Delete方法。

JobSchedules表示操作手册和日程安排之间的关系。

调用此方法后,Runbook将不会与计划关联,但它不会删除计划。

更多细节,你可以参考下面的代码示例:

 var r2 = automationManagementClient.JobSchedules.List("groupname", "accountname").JobSchedules.First(); 


     automationManagementClient.JobSchedules.Delete("groupname", "accountname", r2.Properties.Id); 

结果:

你可以看到进度依然存在。

此搜索:

enter image description here

镜像2:

enter image description here

那是要在用户界面中的 '已启用' 属性设置为不完全等效?

不,如果您想禁用计划,则应使用AutomationManagementClient.Schedules.Patch方法。

更多细节,你可以参考这个代码:

 AutomationManagementClient automationManagementClient = new AutomationManagementClient(aadTokenCredentials, resourceManagerUri); 


     SchedulePatchParameters p1 = new SchedulePatchParameters("yourSchedulename"); 


     SchedulePatchProperties p2 = new SchedulePatchProperties(); 


     p2.IsEnabled = false; 

     p1.Properties = p2; 

     var result = automationManagementClient.Schedules.Patch("rgname", "am accountname", p1).StatusCode; 

结果: enter image description here

+0

谢谢你,那是要在用户界面中的“已启用”属性设置为不完全等效?我的意图是暂时禁用预定的运行,并在稍后以简单的方式启用它。 – Sumesh

+0

不,如果您想禁用计划,则应使用AutomationManagementClient.Schedules.Patch方法。你可以看到我的更新答案。 –

+0

非常感谢你!这回答我的查询。 – Sumesh