[25]Window PowerShell DSC学习系列----如何更换DSC Pull服务器数据库为Access数据库?

原创 2017年04月10日 22:24:55

我们知道,PowerShell DSC的默认数据库为ESENT文件数据库;或者oleDB形式的Access数据库(数据库文件后缀名为:mdb).

默认安装方式下,如果用xDscWebService DSC资源安装Pull服务器的话,其默认方式是ESENT文件数据库的方式;那么如何把Pull服务器的存储数据库改成Access数据库呢?答案其实很简单,只需要修改MSFT_xDSCWebService.psm1文件。




具体步骤方法如下:

@首先,在Pull服务器的安装目录下找到,MSFT_xDSCWebService.psm1这个文件,比如,笔者当前的环境是PowerShell DSC 5.1; 其xPSDesiredStateConfiguration DSC模块的的文件目录在C:\Program Files\WindowsPowerShell\Modules\xPSDesiredStateConfiguration\5.1.0.0\DSCResources\MSFT_xDSCWebService

找到MSFT_xDSCWebService.psm1文件,然后用PowerShell ISE打开。


@ 然后,在function Set-TargetResource方法中,找到为变量$isDownlevelOfBlue,$IsBlue赋值的地方,然后插入下面的代码。

 

@ 安装Pull服务的脚本还是不变,具体如下:

#New-SelfSignedCertificate -certstorelocation cert:\localmachine\my -dnsname sql-pull-server.example.com
configuration InstallxDsc5PullServer
{ 
    param  
    ( 
            [string[]]$NodeName = 'localhost', 


            [ValidateNotNullOrEmpty()] 
            [string] $certificateThumbPrint,


            [Parameter(Mandatory)]
            [ValidateNotNullOrEmpty()]
            [string] $RegistrationKey 
     ) 


     Import-DSCResource -ModuleName xPSDesiredStateConfiguration
     Import-DSCResource –ModuleName PSDesiredStateConfiguration


     Node $NodeName 
     { 
         WindowsFeature DSCServiceFeature 
         { 
             Ensure = 'Present'
             Name   = 'DSC-Service'             
         } 


         xDscWebService PSDSCPullServer 
         { 
             Ensure                   = 'Present' 
             EndpointName             = 'PSDSCPullServer' 
             Port                     = 8080 
             PhysicalPath             = "$env:SystemDrive\inetpub\PSDSCPullServer" 
             CertificateThumbPrint    = $certificateThumbPrint          
             ModulePath               = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Modules" 
             ConfigurationPath        = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Configuration" 
             State                    = 'Started'
             DependsOn                = '[WindowsFeature]DSCServiceFeature'     
             UseSecurityBestPractices = $false
         } 


        File RegistrationKeyFile
        {
            Ensure          = 'Present'
            Type            = 'File'
            DestinationPath = "$env:ProgramFiles\WindowsPowerShell\DscService\RegistrationKeys.txt"
            Contents        = $RegistrationKey
        }
    }
}


InstallxDsc5PullServer  -certificateThumbprint 'DEBD244CA738E89177E00685B53BD1C02BB9EB72' -RegistrationKey '589303f2-482e-478e-97cb-b1a278f07458' -OutputPath c:\DSC\PullServer
Start-DscConfiguration -Force -Path c:\DSC\PullServer -Wait -Verbose 

上面的脚本执行完成之后,我们到Access数据库的安装目录下C:\Program Files\WindowsPowerShell\DscService 发现,其Pull服务器的数据已经换成了Access数据库。



打开数据,我们可以看到总共有三张表:Devices,Registration和StatusReport表,看来Pull服务器的实现还是蛮简单的啊。




在这个章节我之所以分享如何替换Pull服务器的数据库为Access是为后一章节服务器的;因为不管是ESEIN文件数据库也好;还是Acces数据也好;其性能,可管理性已经其数据库的容量都是非常有限的。但是DSC的官方对MS SQL Server默认是不支持的,那么有没有什么的好的办法让其也支持MS SQL Server?敬请期待下篇文章。




版权声明:本文为博主原创文章,未经博主允许不得转载。

[26]Window PowerShell DSC学习系列----如何更换Pull服务器数据库为SQL Server数据库

上节我们提到了如何把PowerShell DSC的数据库换成Access;DSC Pull服务器当前的版本对MS SQL Server是不支持的,该怎么办?另外如果我们需要对Pull服务器建立负载均衡...
  • chancein007
  • chancein007
  • 2017年04月12日 17:59
  • 2186

[22]Window PowerShell DSC学习系列---- 如何用PowerShell脚本查看DSC服务器的执行报表(Report)

本文只适合DSC 5.x的版本。我们知道在DSC 5.x的版本中,Pull服务器和Report是安装在一起的。那么当目标节点注册成功到Pull和Report服务器之后,且Pull服务器上的MOF和Re...
  • chancein007
  • chancein007
  • 2017年02月14日 13:45
  • 1705

[10] Window PowerShell DSC 学习系列----目标节点和Pull 服务器底层通信原理剖析

在本节中,笔者将会用wireshark抓包,并分析目标节点如何和Pull 服务器通信的?注意笔者本机装的Window Management Framework 5.1,如果是其他的版本,可能请求的UR...
  • chancein007
  • chancein007
  • 2017年01月25日 13:45
  • 2021

[7] Window PowerShell DSC 学习系列----如何被管理的设置节点注册到Pull Server?

在上一节,[6] Window PowerShell DSC 学习系列----如何安装最新的PowerShell DSC 5.1 Pull Server?笔者聊到了如何安装Pull Server。那么...
  • chancein007
  • chancein007
  • 2017年01月24日 16:01
  • 1349

[20]Window PowerShell DSC学习系列---- start-dscconfiguration 中遇到 Access Denied的解决方案

当我们执行start-DscConfiguration -computername psdsc-window201 -Path c:\DSC\TestFile -Wait -Verbose -forc...
  • chancein007
  • chancein007
  • 2016年11月10日 20:15
  • 2162

[24]Window PowerShell DSC学习系列---- 如何保护MOF文件里面存储的密码?

在上节笔者分享了[23]Window PowerShell DSC学习系列---- MOF文件能存储用户的密码吗?MOF文件里面能直接存储明文密码,这样是非常不安全的。那么有什么方式能够把MOF里面存...
  • chancein007
  • chancein007
  • 2017年02月24日 15:13
  • 1650

[23]Window PowerShell DSC学习系列---- MOF文件能存储用户的密码吗?

我们知道,DSC的资源中,有很多的资源是需要访问文件共享目录,进入本地的用户的目录,或者为一个特定的用户安装一个MSI的安装包,修改注册表;这个时候,如果直接执行调用DSC的资源,则可能会弹出“Acc...
  • chancein007
  • chancein007
  • 2017年02月21日 11:26
  • 1733

[9] Window PowerShell DSC 学习系列----错误诊断和分析

PowerShell DSC就像一个汽车,内部复杂,司机作为一个普通的用户在使用它,因为知道一些汽车的基本常识,所以当汽车发生一些简单的故障时,可以通过汽车自身带的仪表仪器诊断问题出在哪方面,也可以借...
  • chancein007
  • chancein007
  • 2017年01月31日 00:59
  • 1711

[6] Window PowerShell DSC 学习系列----如何安装最新的PowerShell DSC 5.1 Pull Server?

前面的5个章节做了很多的铺垫,包括Powershell DSC是什么? 能干什么? 其包含了推模式(push)和拉模式(Pull)。 而且笔者也描述了PowerShell DSC的配置文件(Confi...
  • chancein007
  • chancein007
  • 2017年01月24日 00:47
  • 1752

[17]Windows PowerShell DSC学习系列---使用WMI Tester调用msft-dsclocalconfigurationmanager类的方法

在这边文章中,其列出了DSC中的本地配置管理引擎中的msft-dsclocalconfigurationmanager类,其列出了这个类中的很多方法。比如GetConfigurationStatus,...
  • chancein007
  • chancein007
  • 2017年02月13日 18:46
  • 1691
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[25]Window PowerShell DSC学习系列----如何更换DSC Pull服务器数据库为Access数据库?
举报原因:
原因补充:

(最多只允许输入30个字)