2017-06-24 71 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