如何在管理工具箱中添加DSC资源

日期: 2014-06-25 作者:Jason Helmick翻译:张冀川 来源:TechTarget中国 英文

如果你正在探索使用DSC的声明式配置以及浮动管理所带来的巨大效益,那么很可能会对在环境中使用感兴趣,而且可能已经用完了Windows Management Framework 4所包含的内置资源。不要担心资源不足:微软正在快速推出新版本,我也会介绍如何在配置脚本中使用。如果你从未使用过DSC,那么需要开始迈出第一步了。 一旦拥有了一台DSC HTTP(S) Pull服务器,就可以使用可用的DSC资源构建配置了。

WMF 4并没有提供太多的可用资源。实际上要使用DSC,这些资源还不够,但一切都在发生变化。微软正在加大对DSC的投入,每隔几个月就会提供新资源。 微软和PowerShell团队在DSC……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

如果你正在探索使用DSC的声明式配置以及浮动管理所带来的巨大效益,那么很可能会对在环境中使用感兴趣,而且可能已经用完了Windows Management Framework 4所包含的内置资源。不要担心资源不足:微软正在快速推出新版本,我也会介绍如何在配置脚本中使用。如果你从未使用过DSC,那么需要开始迈出第一步了。

一旦拥有了一台DSC HTTP(S) Pull服务器,就可以使用可用的DSC资源构建配置了。WMF 4并没有提供太多的可用资源。实际上要使用DSC,这些资源还不够,但一切都在发生变化。微软正在加大对DSC的投入,每隔几个月就会提供新资源。

微软和PowerShell团队在DSC上投入了很多精力,目前可用的DSC资源超过了50个—如果你知道如何找到这些资源的话。

让我们先从查看运行WMF 4的其中一台服务器开始,Get-DSCResource cmdlet将会列出当前系统所有的资源。原有的内置资源存放路径为%SystemDrive%WindowsSystem32WindowsPowerShellv1.0ModulesPSDesiredStateConfigurationDSCResources,正是这些资源提供了你所需要的配置功能。

请记住,如果你正在使用配置文件中资源,那么该资源必须能够在使用新配置的所有服务器上可用。HTTP(S) Pull服务器的优势在于如果需要其会自动将这些资源下载到本地服务器。可以使用DSCResource cmdlet检查Pull服务器以查看目前安装了哪些DSC资源。

如何在管理工具箱中添加DSC资源


上述列表是VMF 4内置的资源集合,这是一个很不错的起点。编写配置时面临的一个挑战就是在使用资源时确定需要哪些选项以及如何编写脚本。

探究DSC资源

有关如何在配置文件中使用DSC资源并编写脚本的文档并不多。尽管在PowerShell.org站点提供了不少示例,但如何使用资源完全要靠你自己决定。

PowerShell能够提供你所需要的部分。使用Get-DSCResource cmdlet可以获取你想要的特定资源、属性以及每个属性可以使用哪些值。

PS> Get-DscRersource -Name WindowsFeature | Select-Object -ExpandProperty Properties

如何在管理工具箱中添加DSC资源


在这个例子中,我正在检查允许安装或移除Windows特性的WindowsFeature资源。请注意ISMandatory列和Value列。在这个例子中唯一的强制属性就是Windows特性的名字,Ensure属性允许设置为Absent或Present,这意味着移除或安装该特性。

如果我想使用该资源,那么需要指定Windows特性名,比如web-server,并确定是否打算安装。如果PowerShell能够显示使用该资源的语法示例就更好了,这样我就能够正确并快速地将其放到配置脚本中了。Get-DSCResource cmdlet有一个特定的参数能够达到该效果:

PS> Get-DSCResource -Name WindowsFeature -Syntax

如何在管理工具箱中添加DSC资源


只需要将脚本拷贝到你编写的配置脚本中的Node部分。移除你不想要的属性,保留你想要的属性,使用资源时不用再猜来猜去了。

如果在使用脚本编辑器比如PowerShell ISE,那么也能够达到同样的效果,使用脚本编辑器能够简化复制粘贴过程。
 

如何在管理工具箱中添加DSC资源


我的朋友、PowerShell MVP Jeff Hicks最近分享了一篇文章,提到创建了一个新的cmdlet New-DSCConfigurationTemplate,能够获取所有的资源以及语法,他将其放入了一个脚本中可供检查与使用。

他还提供了一个很酷的方式,可以将其保存在脚本编辑器中,这样只要需要直接调用就可以了。

发现额外的DSC资源

正如我之前提到的那样,微软正在努力提供更多的资源。PowerShell社区通过创建定制资源同样在尝试帮助微软,但在哪儿能够找到这些资源呢?

首先要谨慎一些。我帮助你获取的资源是测试性的。换句话说还不完善而且不受支持。微软正在推出正式版,这样你就可以使用并提供反馈了。微软在快速更新这些资源,但是你应该检查PowerShell团队的博客以获得最新的信息。

目前,微软正在研发DSC Resource Kit Wave 3,可以在TechNet Script Center看到相关信息。

遵循简单的安装说明,就可以使用一些新的资源。我在本文中所做的演示同样适用于新资源。

获取新资源的另一种方式就是使用PowerShellGet cmdlet。应该在一篇单独的文章中介绍该技术,简而言之,它是微软管理的NuGet repository,其中包括了最新的DSC资源。可以使用cmdlets下载并安装这些资源,但是你得使用VMF 5预览版。我想再次重申:你可以下载VMF 5的预览版,但不要在生产环境中使用。

如果你想试用WMF 5,那么通过使用如下命令可以获得PowerShell Get的 cmdlet列表:

PS> Get-Command -Module PowerShellGet

如何在管理工具箱中添加DSC资

资源库包含了一些你可以安装并试用的模块,但如果你只对DSC资源感兴趣,那么可以只查找以X开头的模块。

PS> Find-Module -Name X*

如何在管理工具箱中添加DSC资源


使用如下命令安装所有的新资源:
PS> Install-Module -Name X*

安装完成后,如果输入如下命令就可以开始研究并使用新资源了:

PS> Get-DSCResource -Name xVMHyperV –Syntax

如何在管理工具箱中添加DSC资源


时常检查新的资源版本而且不要忘了检查PowerShell 站点的PowerShell社区资源。微软在快速发展DSC,社区中的很多人也正在使用并构建新资源。

翻译

张冀川
张冀川

TechTarget中国特约专家,任职于某国企信息中心,负责数据中心硬件基础设施及信息系统运维管理工作,对虚拟化及云计算技术有浓厚兴趣,并在工作中积极应用

相关推荐