![](/img/trans.png)
[英]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.