博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Powershell DSC 5.0 - Pull 模式 (SMB)
阅读量:7008 次
发布时间:2019-06-28

本文共 1989 字,大约阅读时间需要 6 分钟。

相对于Push模式,Pull 服务器模式一般有三种方式,分别是SMB,Http和Https。

Pull模式的基本流程是配置Node的LCM,配置服务器,然后推送配置文件给节点,节点会定期检查状态,如果状态不对,会从Pull server哪里下载新的配置文件。Pull server会验证guid值,然后对比客户端和服务器配置文件的checksum,如果匹配就算了,如果不匹配,下载新的给客户端节点。

首先看看最简单的SMB方式。

首先创建一个文件 c:\DSCSMB 然后分配共享权限

确认一下

Okay,SMB 服务器就算搭建好了。

接下来,我们需要配置MOF文件。

这里有一个现成的模块可以帮助我们生成对应的MOF,首先从powershell Gallery下载这个模块

下载安装

确认已经安装

Okay,现成可以生成Node上的LCM的meta 文件了,注意下面是PS 5.0的表达方式,和4.0的有所区别

这个配置文件和函数的写法很类似,一样可以传递参数。注意我的类型改成pull了,同时还定义了sourcepath,告诉节点应该从哪里获取配置文件

[DSCLocalconfigurationManager()]Configuration LCM_SMBPULL {    param        (            [Parameter(Mandatory=$true)]            [string[]]$ComputerName,            [Parameter(Mandatory=$true)]            [string]$guid        )        Node $ComputerName{        Settings {            AllowModuleOverwrite = $True            ConfigurationMode = 'ApplyAndAutoCorrect'            RefreshMode = 'Pull'            ConfigurationID = $guid        }                                   ConfigurationRepositoryShare DSCSMB {                            Sourcepath = "\\sydit01\DSCSMB"            }   }}# Computer list $ComputerName='sydittest'# Create Guid for the computers$guid=[guid]::NewGuid()# Create the Computer.Meta.Mof in folderLCM_SMBPULL -ComputerName $ComputerName -Guid $guid -OutputPath c:\DSCSMB

执行之后,生成meta.mof 文件

确认一下

然后和Push模式一样,我们需要把这个LCM的配置推送给节点

确认一下节点的LCM模式已经变更

okay,LCM已经配好了,接下来是服务器配置的文件,这里我需要安装一个备份的功能

configuration Backup {    Node SMBComputers {        WindowsFeature Backup{            Name = 'Windows-Server-Backup'            Ensure = 'Present'        }    }}Backup -OutputPath C:\DSCSMB

执行该脚本,生成对应的mof文件

注意!!! 下面的步骤很重要。

在push模式下,我们之间就把这个和节点同名的mof文件推送给节点了。Pull模式下,我们不是通过名字来判断,而是通过guid来绑定节点和服务器,因此这里需要把该文件的名字替换成guid的名字

然后还需要把这个配置文件生成一个checksum,这是因为对比checksum的速度效率比对比整个配置文件要高效的多。如果对配置文件进行了任何修改,我们必须修改checksum。

这里使用guid和checksum的跟本原因在于DSC只是一个平台,并不是一个针对某些需求的产品。微软的合作伙伴会编写对应的产品,使得用户更容易的操作,但是直接使用只能手动生成guid和checksum。

查看一下

然后看看我们的节点计算机,现在还未安装 Backup

更新一下状态

5秒之后再次查看,已经自动安装了

实验成功。

接下来看看HTTP和HTTPS是如何配置的

转载地址:http://amvtl.baihongyu.com/

你可能感兴趣的文章
Spring-AOP实践 - 统计访问时间
查看>>
电子技术·笔记6(2013-05\06)
查看>>
Makefile简易模板
查看>>
Windows Azure Storage (23) 计算Azure VHD实际使用容量
查看>>
压力测试工具Siege介绍
查看>>
ASP.NET如何调用MySQL的存储过程
查看>>
Visual Studio 进行Excel相关开发,Microsoft.Office.Interop.Excel.dll库
查看>>
swfdump——从内存中提取swf的工具
查看>>
【Javascript Demo】JS获取当前对象大小以及屏幕分辨率等
查看>>
Android去掉顶部的阴影
查看>>
卡尔曼滤波的原理说明
查看>>
C#对二进制文件的特定位置进行读写小结
查看>>
唯一不变的就是一直在变”--“数据”的华丽“变身术”
查看>>
编译器定义的C/C++语言各种基本数据类型的取值范围
查看>>
matlab 程序发布
查看>>
《Effective C#》读书笔记——条目24:用委托实现回调<使用C#表达设计>
查看>>
.Net中DataAdapter批量插入和更新数据总结
查看>>
DNS通道检测 国外学术界研究情况——研究方法:基于流量,使用机器学习分类算法居多,也有使用聚类算法的;此外使用域名zif low也有...
查看>>
Visual Studio 11 Beta新特性(一):安装VS11
查看>>
SQL Server-触发器(Trigger)之 After 触发器
查看>>