2016-05-02 63 views
2

如果發生錯誤,是否有辦法使DSC停止其配置嘗試,而不是繼續進行配置中的下一個資源?DSC Abort on Error

基本上,我想關閉「在接下來的錯誤恢復」,並做廚師做 - 中止運行的錯誤。

回答

2

如果您將DependsOn添加到任何您不想繼續的資源,那麼如果依賴關係鏈中的任何內容有錯誤,它將會中止。

參見Using DependsOnthis StackOverflow answer describing dependencies

對於實施例,在下面的結構中,如果組出現故障時,沒有任何其他資源將被創建,因爲UserExample取決於GroupExample,和UserExample2取決於UserExample。

Configuration DependsOnExample { 
    Node Test-PC1 { 
     Group GroupExample { 
      Ensure = "Present" 
      GroupName = "TestGroup" 
     } 

     User UserExample { 
      Ensure = "Present" 
      UserName = "TestUser" 
      FullName = "TestUser" 
      DependsOn = "[Group]GroupExample" 
     } 
     User UserExample2 { 
      Ensure = "Present" 
      UserName = "TestUser2" 
      FullName = "TestUser2" 
      DependsOn = "[User]UserExample" 
     } 
    } 
} 

目前沒有一種方法可以在沒有顯式依賴的情況下獲得相同的行爲。

如果你想從產品團隊要求的功能,我建議您提交的問題在PowerShell User Voice

特拉維斯

+0

這是如此冗長而脆... – Jeff

+0

我編輯的鏈接的帖子提交用戶語音項目以向我們的產品團隊建議更好的行爲,但在這個時候,我相信這是最好的答案。 – TravisEz13

+0

好的,謝謝。那真不幸。 DSC在概念上確實是一個好主意。不幸的是,它似乎非常脆弱,讓它起作用是一件令人頭疼的事情。現在使用廚師引擎似乎是一個更穩定的解決方案 – Jeff