Resource哪里找
WMF4.0搭载了基本的DSC Resource。随着时间的推移,微软的一些服务器产品可能会包含自己的DSC Resource用于配制他们的产品。同时,微软也一直在网络上发布”编制外”的附加Resource套件。
- 套件1: http://blogs.msdn.com/b/PowerShell/archive/2013/12/26/holiday-gift-desired-state-configuration-dsc-Resource-kit-wave-1.aspx
- 套件2: http://blogs.msdn.com/b/PowerShell/archive/2014/02/07/need-more-dsc-Resources-announcing-dsc-Resource-kit-wave-2.aspx?utm_source=tuicool
你可以在 http://github.com/PowerShellorg/dsc 上找到一些开源社区的Resource,也可以使用谷歌必应搜索出一些人的DSC工程。
关于命名:微软提供的Resource套件里的Resource名字都是以字母“x”开头,它表示“实验性的,不提供支持,使用时需要你自己承担风险”。记住,这些只是PowerShell脚本模块,同时也意味着它们是开源的。微软已经要求任何社区的衍生(Resource)或者个人开发的Resource使用字母“c”作为Resource名字的前缀。无前缀的名字(例如,WindowsFeature)被微软所保留。不使用无前缀的名字,你将可以避免与之后微软可能发布的Resource的名字相冲突。在你自己的组织哎内,可以采用一个特定的Resource名前缀,比如,“BusinessApp”Resource可以叫做“contosoBusinessApp”,它就是为Contoso所拥有。
注意,不仅在你正在写配置的电脑上要有Resource,在任何即将实施这些配置的节点上也要有Resource。
微软提供的Resource
微软在WMF4中提供了如下Resource:
- Registry
- Script (运行用户脚本;当没有一个Resource可以做你想做的事情时,你可以用它来涵盖一切)
- Archive (zip压缩或者unzip解压文件)
- File
- WindowsFeature
- Package (安装MSI或者启动.exe)
- Environment
- Group (本地的组)
- User (本地的用户)
- Log (DSC故障日志机制)
- Service
- WindowsProcess
DSC的Resource套件1包括如下:
- xComputer (重命名以及加入域)
- xVHD (被套件2取代)
- xVMHyperV (创建虚拟机)
- xVMSwitch
- xDNSServerAddress (把DNS地址捆绑到网卡上,并非管理DNS)
- xIPAddress
- xDSCWebService (部署一个pull server)
- xWebsite (被套件2取代)
DSC的Resource套件2包括如下:
- xADDomain
- xADDomainController
- xADUser
- xWaitForADDomain (暂停配置直到域可获)
- xSqlServerInstall
- xSqlHAService (SQL高可用性)
- xSqlHAEndpoint
- xSqlHAGroup
- xWaitForSqlHAGroup
- xCluster
- xWaitForCluster
- xSmbShare
- xFirewall
- xVhdFile (拷贝文件到一个VHD镜像)
- xWebsite
- xVhd
这并不是真的单个的DSC Resource集的下载;正如这里写的,每个Resource都是从TechNet脚本库的一次独立下载。
请不要把这份指导倚赖为一份持续的,可靠的微软发布DSC Resource的目录。你将都需要检查确定是否有更新的套件,bug修正,或者这些Resource的社区版本。我们不会持续更新这部分。
哪里放置Resource
在这份指导的后面我们将会讨论更多这方面,但是一般情况下,你应该把新的Resource保存在\Program Files\WindowsPowerShell\Modules。每个Resource由一个根模块组成,之后再有一个DSCResource子文件夹用于实际的工作代码。一个根模块很可能实际提供了超过一个已命名的Resource。
例如,假设你有一个DSC Resource名字交租CorpApp。你应该创建下面这样的文件夹:
\Program Files\WindowsPowerShell\Modules\CorpApp
整个模块都会在这个文件夹内。根模块的文件将会被命名为诸如CorpApp.psd1,并且还会有一个DSCResources子文件夹,它包含针对实际Resource的额外脚本文件。这份指导上有一整段关于部署Resource的。因此在那里你将会发现更多细节。
注意,你不仅需要在你打算使用PowerShell编写配置脚本的任何电脑上安装Resource,还要在所有将要在配置脚本中使用这些Resource的节点上安装。