[英]How to upgrade windows service using PowerShell Desired State Configuration
[英]Is it possible to lazily evaluate features in Windows PowerShell Desired State Configuration?
在Windows PowerShell所需狀態配置中,可以定義功能:
Node $MachineName {
# define the IIS Role
WindowsFeature IIS {
Name = “Web-Server”
}
# define the SQL Role
WindowsFeature SQL {
Name = “SQL-Server”
}
# require ASP.NET 4.5
WindowsFeature ASP {
Ensure = “Present”
Name = “Web-Asp-Net45”
DependsOn = "[WindowsFeature]IIS"
}
}
使用此設置,不僅會安裝ASP
,還會安裝IIS
和SQL
功能。 我能理解的IIS
功能,因為ASP
依賴於此。 但是, SQL
功能未定義為“存在”,並且另一個“存在”功能也不需要該SQL
功能。
是否可以定義這些基本功能(作為一種存儲庫),但僅安裝必需的功能?
是的,沒有。
首先,我想指出DependsOn
告訴DSC做什么事情的順序 ,這是DSC所了解的。 它只是讓您決定某些資源需要在一個或多個其他資源之后執行。
如果可以Ensure = 'Present'
不使用Ensure = 'Present'
,則可能只是默認為'Present'
; 無法將沒有執行的資源放入其中(沒有其他代碼)。
我不確定您所說的“存儲庫”是什么意思,除非您只是想讓它出現在Configuration {}
塊中以備將來參考或使用。
我所說的“附加代碼”是指您可以控制從該腳本生成配置時使用哪些資源。
退一步,您所擁有的代碼塊中有一個配置腳本 ,必須執行該配置腳本才能生成MOF文件,然后該文件將成為應用於節點的實際內容。
該腳本實際上是強大的工具,因此您可以應用有關此時應用的邏輯(生成MOF時)。 但是,這是在生成MOF的機器的上下文中發生的,而不是在目標節點上,因此您不能使用任何要求在配置應用程序時在目標上運行代碼的邏輯。
DSC有一些內置的東西來推動這項工作,通過使用的-ConfigurationData
參數和自動變量類似$AllNodes
和$Node
。
我想在這里放一些代碼,而不僅僅是鏈接和說明,但是您確實需要全面了解這些部分在何時何地組合在一起。
我認為最重要的要點是:
-ConfigurationData
的方式。 看看這些:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.