1.1 PowerShell DSC
文章平均质量分 61
PowerShell DSC是微软用来管理Window相关机器和设备的自动化配置管理系统,同时,PowerShell DSC也支持Docker,AZure等云端服务的管理,同时借助于MOF标准,其也支持Linux,可以与Chef,Puppet无缝集成。
大象无形,大音希声
专业,专心,专注
展开
-
[33]Windows PowerShell DSC 客户端的MOF文件在地方?
我们知道DSC的客户端在Pull模式下,会把MOF文件下载到本地,然后执行,并产生执行的log,那么客户端的MOF文件存储的地方就是下面的位置: C:\Windows\System32\Configuration\ConfigurationStatusMOF DSC的MOF文件JSON DSC的MOF执行完成后,生成的Log日志原创 2018-01-11 10:38:40 · 589 阅读 · 0 评论 -
[32] Window PowerShell DSC 学习系列----使用DSC Package安装时,如何获取Product ID?
DSC的自身提供Package的DSC资源去安装msi格式的文件。 刚好笔者需要自动安装Chef的客户端,其就是一个msi格式的文件。但是有点复杂和烦人的是其需要使用这提供一个Product ID,其具体格式参考如下: Package [string] #ResourceName { Name = [string] Path = [string] ProductId原创 2017-08-28 12:35:30 · 1387 阅读 · 0 评论 -
[31] Window PowerShell DSC 学习系列----PowerShell DSC 专栏竟然在CSDN推荐的优秀专栏里面
PowerShell DSC 专栏竟然在CSDN推荐的优秀专栏里面原创 2017-06-15 10:02:12 · 963 阅读 · 0 评论 -
[30] Window PowerShell DSC 学习系列----如何解决跨节点(across computers)依赖?
在用Window PowerShell DSC管理服务器的时候,会遇到下面的类似的场景,比如,先在一台域控制服务器上安装域控(Active Directory),等域控制服务器A安装好后,在把另外一台机器B加入到域控服务器A中;还有一种常见的场景是,比如,先安装数据库服务器,然后在安装应用服务器;不管是何种情况都牵涉到了跨机器间的依赖;刚好,在DSC5.x中提供了一个DSC的资源专门做这个事情,这个资源就是WaitForAll,WaitForAny以及WaitForSome原创 2017-06-15 21:28:05 · 2816 阅读 · 0 评论 -
[29] Window PowerShell DSC 学习系列----如何备份数据库和解决一个MS Server 2008上的大坑?
有的时候我们需要定期的备份数据库,而DSC刚好就能非常好的做这个事情。DSC中有一个xSQLServer Module,里面提供了许多操作数据库的方法。但是里面没有任何一个DSC Resource能够备份数据库;所有只能通过另外一种比较委婉的方式:xSQLServerScript的DSC Resource来执行SQL语句而备份数据库。但是里面有一个大坑。原创 2017-05-24 20:34:29 · 2939 阅读 · 1 评论 -
[28] Window PowerShell DSC 学习系列----如何用Java调用PowerShell DSC 5.x的oData服务
因为PowerShell DSC 5.x的Report是基于OData V3的标准,所以理论上只有odata4j和ODataJClient的框架支持V3版本;但是实际上odata4j宣传支持,其实代码并没有实现。经过研究论证,只有ODataJClient能够支持PowerShell DSC 5.x的Report是基于OData V3的标准的调用。其核心Jar主要包括两个。原创 2017-05-21 21:38:06 · 2832 阅读 · 0 评论 -
[27] Window PowerShell DSC 学习系列----DSC 5.x 查询节点注册和执行报告(Report)查询
我们知道,一旦我们把DSCD额Pull服务器安装成功,且目标节点也注册成功后,我们就可以调用DSC服务的oData的查询。去查询一些信息。请注意,浏览器可能不支持oData的Http的get操作。因此笔者借助了第三方的HTTP的发送工具,比如,Advanced REST Client,注意请在HTTP的头里面加入:原创 2017-04-18 14:22:57 · 2370 阅读 · 0 评论 -
[26]Window PowerShell DSC学习系列----如何更换Pull服务器数据库为SQL Server数据库
上节我们提到了如何把PowerShell DSC的数据库换成Access;DSC Pull服务器当前的版本对MS SQL Server是不支持的,该怎么办?另外如果我们需要对Pull服务器建立负载均衡,这些负载均衡的Pull的服务器能够共享一个数据库,这个时候应该怎么办?最后不得不提的是,随着Pull服务器运行的时间越来越长的时候,其存储的Access的性能满足不了大负荷量数据的时候怎么办? 这个时候就需要把数据库服务器切换成SQL Server。那么应该如何做呢?当前的解决方案就是通过ODBC把Acces原创 2017-04-12 17:59:00 · 2891 阅读 · 0 评论 -
[25]Window PowerShell DSC学习系列----如何更换DSC Pull服务器数据库为Access数据库?
我们知道,PowerShell DSC的默认数据库为ESENT文件数据库;或者oleDB形式的Access数据库(数据库文件后缀名为:mdb).默认安装方式下,如果用xDscWebService DSC资源安装Pull服务器的话,其默认方式是ESENT文件数据库的方式;那么如何把Pull服务器的存储数据库改成Access数据库呢?答案其实很简单,只需要修改MSFT_xDSCWebService.psm1文件。原创 2017-04-10 22:24:55 · 2562 阅读 · 0 评论 -
[24]Window PowerShell DSC学习系列---- 如何保护MOF文件里面存储的密码?
在上节笔者分享了[23]Window PowerShell DSC学习系列---- MOF文件能存储用户的密码吗?MOF文件里面能直接存储明文密码,这样是非常不安全的。那么有什么方式能够把MOF里面存储的明文密码通过某种方式进行加密,从而存储成密文的形式。答案是“Yes”。PowerShell DSC提供了一种通过SSL证书加密MOF文件里面的密码的功能。原创 2017-02-24 15:13:51 · 2451 阅读 · 0 评论 -
[23]Window PowerShell DSC学习系列---- MOF文件能存储用户的密码吗?
我们知道,DSC的资源中,有很多的资源是需要访问文件共享目录,进入本地的用户的目录,或者为一个特定的用户安装一个MSI的安装包,修改注册表;这个时候,如果直接执行调用DSC的资源,则可能会弹出“Access is Denied” 错误或者异常。这个时候就需要在生成的MOF文件里面制定其访问的权限;因为默认的情况下,DSC是通过系统的账号(System account)运行资源的。解决方案就是在PowerShell DSC 5.x中,每一个资源都会默认支持PsDscRunAsCredential的属性....原创 2017-02-21 11:26:32 · 2294 阅读 · 0 评论 -
[22]Window PowerShell DSC学习系列---- 如何用PowerShell脚本查看DSC服务器的执行报表(Report)
本文只适合DSC 5.x的版本。我们知道在DSC 5.x的版本中,Pull服务器和Report是安装在一起的。那么当目标节点注册成功到Pull和Report服务器之后,且Pull服务器上的MOF和Resource文件都部署好之后,目标节点就会间隔固定的时间到Pull服务器上去取MOF配置文件。第一次取到相对于的MOF文件后,就会立马执行,并把相应的执行结果返回给Report服务器(成功的话,就是成功的输出信息,失败的话,就会包括失败的错误信息),那么这个时候,我应该如何查看执行特定客户节点返回的结果呢?有很原创 2017-02-14 13:45:37 · 2701 阅读 · 0 评论 -
[21]Window PowerShell DSC学习系列---- 在Window 2012 R2 安装DSC 5.0 Pull服务器报错的解决方案
在Window 2012 R2 安装DSC 5.0 Pull服务器的时候,将会报出Powershell DSC Pull Server throws internal error - Microsoft.Isam.Esent.Interop not found 的错误,解决方法见具体的文章细节。原创 2017-02-13 22:49:35 · 2155 阅读 · 0 评论 -
[20]Window PowerShell DSC学习系列---- start-dscconfiguration 中遇到 Access Denied的解决方案
当我们执行start-DscConfiguration -computername psdsc-window201 -Path c:\DSC\TestFile -Wait -Verbose -force这条命令的时候,会遇到下面的问题:VERBOSE: Perform operation 'Invoke CimMethod' with following parameters, ''methodName' =SendConfigurationApply,'className' = MSFT_DSCLo原创 2016-11-10 20:15:15 · 3456 阅读 · 0 评论 -
[19]Window管理框架WMF(Window Management Framework) 5.0 VS Window管理框架WMF(Window Management Framework) 5.1
截止2017年1月9日,当前的最新正式发布版本是 WMF5.0。 而最新的WMF5.1 还在处于Preview(Beta版本),还不是正式的发布版本。那什么是Window管理框架呢?因为其牵涉到版本很多,笔者就以最新的WMF 5.0 正式版和WMF 5.1 公测版为例子,说明其到底包含了什么.Window管理框架WMF(Window Management Framework) 5.0 和 Window管理框架WMF(Window Management Framework) 5.1的区别是什么呢?原创 2017-01-09 00:58:29 · 4959 阅读 · 0 评论 -
[18] Window PowerShell DSC学习系列---- 如何区分WMF4.0和WMF 5.0?
我们知道PowerShell DSC是WMF中一部分。那么如何区分机器上装的是WMF4.0还是WMF 5.0?执行下面的命令: Get-Command -Module PSDesiredStateConfiguration 如果默认的数目为下面这些,则为WMF4.0, 比如Window8.1, Window Server 2012 R2原创 2016-11-10 20:31:42 · 2454 阅读 · 0 评论 -
[17]Windows PowerShell DSC学习系列---使用WMI Tester调用msft-dsclocalconfigurationmanager类的方法
在这边文章中,其列出了DSC中的本地配置管理引擎中的msft-dsclocalconfigurationmanager类,其列出了这个类中的很多方法。比如GetConfigurationStatus,GetMetaConfiguration,ApplyConfiguration等方法,这系列博客只是罗列除了其输入和输出参数,但是没有说明里面的方法如何调用。那么,我们应该如何调用其方法去查看其一些状态呢?方法有很多种,笔者下面就以wbemtest.exe这个Window自带的工具为例子,说明如何调用其方法.原创 2017-02-13 18:46:25 · 2195 阅读 · 0 评论 -
[16]Windows PowerShell DSC学习系列---基于Class风格定制DSC资源?
前面的章节介绍了,[15]Windows PowerShell DSC学习系列---基于.NET DLL(C#) 定制DSC资源?和[11] Windows PowerShell DSC学习系列---如何定制一个基于PowerShell脚本实现的DSC Resource,这一节来的更奇妙的;我们知道根据我们以往的经验,一个开发平台或者一个开发语言,随着版本的更新和发展,其提供的功能会变得越来越强大,越来越方便简单;DSC框架也不例外,在PowerShell DSC 5.0的版本开始,其提供了更多简单的DS原创 2017-02-13 13:57:41 · 2281 阅读 · 0 评论 -
[15]Windows PowerShell DSC学习系列---基于.NET DLL(C#) 定制DSC资源?
我们知道我们在定制实现DSC的时候,其实现方式,既可以通过写PowerShell脚本实现,也可以通过写C#实现(DLL库),还可以通过类似于写Class风格的PowerShell脚本实现。本文笔者主要给大家介绍一下,如果通过C#代码来写实现。原创 2017-02-10 17:46:20 · 1996 阅读 · 0 评论 -
[14]Windows PowerShell DSC学习系列---如何Debug PowerShell DSC?
在我们开发定制的DSC的资源时候,能Debug DSC的资源非常的重要。Debug DSC的资源的功能直到DSC 5.x 版本以后才支持。言归正传,开门见山,下面笔者描述一下如何进行PowerShell DSC资源的Debug。@第1步: 开启Debug模式执行这个命令,Enable-DscDebug -BreakAll 开启LCM的debug模式。执行完后,调用Get-DscLocalConfi...原创 2017-02-09 22:06:12 · 2499 阅读 · 0 评论 -
[13]Windows PowerShell DSC学习系列---直接调用DSC的资源方法
在PowerShell DSC 5.x中,我们能够使用Invoke-DscResource 这个DSC的命令去直接调用DSC 资源文件中定义的方法或者函数(如果是基于MOF的资源的话,其里面包含Get-TargetResource, Set-TargetResource, 和Test-TargetResource,如果是基于类描述的DSC资源文件,其里面包含的方法是Get, Set, 和Test方法)。 当我们需要使用第三方应用程序直接调用DSC资源的方法的时候,或者在开发DSC的资源的时候,Invoke-翻译 2017-02-09 17:26:25 · 3134 阅读 · 0 评论 -
[12]Windows PowerShell DSC学习系列---PowerShell DSC的几个例子
在这节中,笔者给大家分享几个使用PowerShell DSC的例子,并且会持续更新中。。。。。原创 2017-02-09 14:12:21 · 2634 阅读 · 0 评论 -
[11] Windows PowerShell DSC学习系列---如何定制一个基于PowerShell脚本实现的DSC Resource
在这片文章中,笔者给大家分享一个更高级的话题,如何定制一个基于PowerShell脚本实现的DSC Resource,为了简单起见,例子的名称为,Hello World的DSC Resource。因为在Github上提供的定制的DSC的resource有的时候,可能满足不了我们的使用,这个时候,我们就需要做一个定制。下面笔者就分享一个简单的输出Hello World的DSC的resource的步骤。以后,如果时间允许,笔者在和大家一起分享和学习其内部的原理。注意,笔者本机的开发环境是PowerShell D原创 2017-02-07 23:36:31 · 2329 阅读 · 0 评论 -
[10] Window PowerShell DSC 学习系列----目标节点和Pull 服务器底层通信原理剖析
在本节中,笔者将会用wireshark抓包,并分析目标节点如何和Pull 服务器通信的?注意笔者本机装的Window Management Framework 5.1,如果是其他的版本,可能请求的URI会不一样,请大家注意。首先需要安装Wireshark,然后让wireshark监听Pull服务器的8080端口。原创 2017-01-25 13:45:20 · 2814 阅读 · 0 评论 -
[9] Window PowerShell DSC 学习系列----错误诊断和分析
PowerShell DSC就像一个汽车,内部复杂,司机作为一个普通的用户在使用它,因为知道一些汽车的基本常识,所以当汽车发生一些简单的故障时,可以通过汽车自身带的仪表仪器诊断问题出在哪方面,也可以借助于专业的汽车工具去进行故障定位;其实PowerShell DSC有何尝不是这样。 PowerShell DSC 5.x 提供了一系列的工具用来帮助用户进行故障分析和诊断。下面请让笔者为大家一一娓娓道来。原创 2017-01-31 00:59:09 · 3295 阅读 · 0 评论 -
[8] Window PowerShell DSC 学习系列----MOF文件和DSC Module的部署
在前面的第7节,笔者分享了如何安装Pull服务器,如何生成MOF文件。那么生成了MOF文件之后,如何在Pull服务器上部署?另外如果MOF文件中又引用了其他的DSC Module或者DSC Resource,那么应该如何把这些额外的DSC module或者Resouce部署呢?因为DSC 4.x和5.x 部署方式不一样,因此,笔者就以DSC 5.x的部署方式为例子。原创 2017-01-29 00:50:26 · 2061 阅读 · 0 评论 -
[7] Window PowerShell DSC 学习系列----如何被管理的设置节点注册到Pull Server?
在上一节,[6] Window PowerShell DSC 学习系列----如何安装最新的PowerShell DSC 5.1 Pull Server?笔者聊到了如何安装Pull Server。那么在本节,我们重点看如何被管理的设置节点注册到Pull Server?假设本机的IP地址是192.168.0.9,计算机名是dscc01-51w2k12;原创 2017-01-24 16:01:04 · 2089 阅读 · 0 评论 -
[6] Window PowerShell DSC 学习系列----如何安装最新的PowerShell DSC 5.1 Pull Server?
前面的5个章节做了很多的铺垫,包括Powershell DSC是什么? 能干什么? 其包含了推模式(push)和拉模式(Pull)。 而且笔者也描述了PowerShell DSC的配置文件(Configuration)如何编写,其遵循什么样的格式规范,紧接着,有普及了一下如何安装最新的扩展的DSC的resource,并以xChrome为例子,紧接着,有分享了如何使用Powershell DSC提供的一些常规的命令,并在第5节分享了如何把一个后缀为ps1的Powershell的配置文件,生成一个和平台无关中立原创 2017-01-24 00:47:59 · 4794 阅读 · 0 评论 -
[5] Window PowerShell DSC 学习系列----如何生成一个DSC MOF文件?
在前面的四个章节,笔者介绍了一些PowerShell基础的知识,包括PowerShell DSC的基本架构,DSC的资源以及配置格式,已经在PowerShell DSC 如何安装扩展的DSC Module和resource;还有一些基本的DSC辅助命令的使用。那么本节,咱们就安装一个Chrome插件的DSC配置文件为例子,看其如何生成一个mof文件。打开Powershell ISE或者一个文本编辑器,新建一个文件名为:InstallGoogleChrome.ps1的配置文件,放在c:\dsc 目录下。原创 2017-01-23 16:07:00 · 2664 阅读 · 0 评论 -
[4] Window PowerShell DSC 学习系列----PowerShell DSC 5.x 提供了哪些有用好用的工具命令?
在使用PowerShell DSC的时候,我们经常需要使用 PSDesiredStateConfiguration的一些常用的命令去配置或者获取一些DSC的配置信息已经设置DSC的LCM的状态等信息;那么PowerShell DSC 5.x 提供了哪些功能和cmdlet?我们通常可以用下面的命令列出所有的PSDesiredStateConfiguration的常规命令.原创 2017-01-23 14:08:11 · 2298 阅读 · 0 评论 -
[3] Window PowerShell DSC 学习系列----如何在PowerShell DSC 5.x 安装最新的DSC Module?
在PowerShell DSC 4.0的版本的时候,所有的resource Kit必须从一个网站上下载,然后拷贝到相应的目录(比如C:\Users\Admin\Documents\WindowsPowerShell\Modules;C:\Program Files\WindowsPowerShell\Modules;C:\windows\system32\WindowsPowerShell\v1.0\Modules),但是在PowerShell DSC 5.x 中有很大的变化,可以直接支持,Find-M原创 2017-01-23 11:34:18 · 3601 阅读 · 0 评论 -
[2] Window PowerShell DSC 学习系列----DSC的资源(Resource)以及配置和格式(Configuration && Sytax )
这个章节主要来讲述DSC的资源(Resource)以及配置和格式(Configuration && Sytax )。原创 2017-01-09 23:19:21 · 3893 阅读 · 0 评论 -
[1] Window PowerShell DSC 学习系列----DSC的定义和2种架构模式
PowerShell DSC是PowerShell的一部分,是一个新的管理平台,英文全称为,PowerShell Desired Status Configuration,翻译成中文就是理想管理配置状态。PowerShell DSC 能够为系统和软件服务部署和管理配置数据,并且允许定义当前机器的状态从而确保机器的状态和你预定义的没有偏差。原创 2017-01-09 23:09:46 · 4320 阅读 · 0 评论