Articles of DSC

DSC时不时发生错误

在“期望的状态configuration” – >“操作”下,我一直在事件日志中遇到这种奇怪的错误 Job DscTimerConsistencyOperationResult : DSC Engine Error : Error Message: NULL Error Code : 1 似乎无法find任何有关如何解决它的信息。

希望MsSQL和IIS(傀儡或厨师)

在我们的基础架构中,一些开发者/顾问改变了一些mssql或iisconfiguration,而没有任何通知导致我们的问题。 例如,如果有人将mssql恢复简单地改为完整,我们的备份代理就不能进行任何备份。 我想知道是否有任何方法来为这两个服务设置所需的状态,当有人改变这个服务的某些东西时,通知发送到系统pipe理员或触发一个工作stream来解决这个问题。 我检查了厨师和木偶的文档,除了安装这些服务之外没有看到任何东西。 此外,DSC女士也只是检查关于服务的非常基本的事情。 提前谢谢你的帮助。

在Server Core 2016上安装/注册Microsoft.Jet.OLEDB提供程序有一些窍门吗?

在Server Core 2016上安装/注册Microsoft.Jet提供程序有一些技巧吗? 我有一个全新的服务器2016(核心)干净的安装,并按照基本说明build立一个DSC拉服务器上。 拉服务器应用程序注册并在IIS中运行,我可以通过https访问它。 当我尝试运行DSC Pull Client机器时,无法注册(“未经授权”),并且Pull Serverlogging错误消息。 TimeCreated : 11/7/2017 11:07:32 AM ProviderName : Microsoft-Windows-Powershell-DesiredStateConfigurationPullServer Id : 4378 Message : Unable to retrieve Dsc Agent Information with AgentID = b46c87af-709f-11e7-ab80-484d7ef7765f. The underlying error is : Unable to retrieve Agent Id b46c87af-709f-11e7-ab80-484d7ef7765f from the database. The underlying error is "The 'Microsoft.Jet.OLEDB.4.0' provider is not […]

DSC拉服务器事件ID 4378:…'Microsoft.Jet.OLEDB.4.0'提供程序未注册

每次尝试将拉客户​​端注册到拉服务器时都会logging事件4378。 注册密钥匹配,但似乎服务器无法使用它想要的Microsoft.Jet API。 也许我可以切换到SQL Server,但是这是一个普通的全新安装的Server 2016 Core,我认为它应该可以直接使用。

如何将Azure存储中的自定义软件包复制到具有DSC的计算机上进行安装?

我目前正在使用Azure资源pipe理器创build带有DSC的虚拟机来configuration基本状态并安装IIS。 我已经有了将网站作为.zip文件转储到Azure存储的构build环境。 但是,我不知道如何使DSC访问Azure存储以下载.zip并将其放入wwwroot中。 最终,我想运行AzureRM,以便它创build一个新的虚拟机,运行DSC,以便完成后,我的应用程序在机器上运行。

服务器configurationpipe理

我们有托pipe我们的软件的Windows服务器。 有一家第三方公司正在进行渗透testing,并向我们提供有关服务器设置/configuration的报告和build议。 现在,我们将所有服务器添加到域/广告中,以便我们可以轻松地将服务器设置/操作系统更改传播到所有机器。 最近我们添加了一些Linux服务器到我们的设置。 我的问题是我们有什么其他的select,可以方便地将更改推送到所有的服务器,而无需手动将这个更改到每个服 可能的select: 所有新的服务器都是使用Terraform创build和configuration的。 因此,其中一个select就是销毁现有的机器,并用新的设置带来新的机器。 不可变的基础设施 我们可以使用DSC。 我不确定这里的Linux部分

触发在Azure虚拟机上重新运行DSC检查

我正在通过简单的练习来学习Azure和Powershell DSC。 此博客条目为DSC提供了完美的“Hello World”示例: Configuration HelloWorldConfig { Node localhost { File TestFile { Ensure = "Present" DestinationPath = "c:\temp\HelloWorld.txt" Contents = "Hello World!" } } } 我使用powershell创build了该软件包,并通过azure门户上的扩展刀片上传到我的Azure虚拟机。 有效! 当我login到机器上时,我可以看到文件c:\temp\HelloWorld.txt 。 但是DSC应该保护你免于“configuration漂移”。 为了testing这个,我通过手动删除文件来漂移我的configuration。 我如何使文件再次出现? 即如何重新运行这个所需的状态configuration检查。 我假设我上传的DSC脚本驻留在虚拟机的某处。 (我可以在扩展刀片上看到一个条目)。 或者我必须重新加载包? 如果是这样的话,为什么刀片上的条目甚至可以看到? 我问,这个包甚至在哪里? 我使用powershellfind了答案: $extension = Get-AzureRmVMDscExtension -ResourceGroupName $vm.ResourceGroupName -VMName $vm.Name $extension.ModulesUrl 这显示我的包现在驻留在https://iaasv2tempstoreseasia.blob.core.windows.net/vmextensionstemporary-000116674c9bb772-20160908062048340/sample-dsc-package.zip?sv=2015-04-05&sr=c&sig=YnGCCH%2Bvfv% 2FMPWexQWhGOw7H8d8EkGcN5Ufudyz1MIE%3D&SE = 2016-09-09T06%3A20%3A48Z& SP = RW […]

使用DSC安装桌面体验function

使用DSCconfiguration机器时遇到问题。 我试图启用Windowsfunction“桌面体验”,然后一些其他人。 我的configuration如下所示: Configuration Workstation { Node WSTest { WindowsFeature DesktopExperience { Ensure = "Present" Name = "Desktop-Experience" } WindowsFeature RemoteAccess { Ensure = "Present" Name = "RemoteAccess" } } } 现在这只是部分工作。 我的LCM被设置为RebootNodeIfNeeded = true,并在桌面体验function要求时自动重启。 它甚至会说“重启计划进一步进行。 重新启动后将继续configuration。 但在接下来的两个之后,它将不会继续RemoteAccessfunction。 这似乎只发生在涉及双重启动的情况下。 一次重启就可以正常工作。 几乎看起来好像LCM计划的任务被中断,因此没有完成configuration。 有没有其他人经历过这种行为? 任何解决scheme

没有使用复合资源生成的mof – powershell dsc

我遇到了一个问题,那就是在使用复合资源时​​没有生成.mof文件。该目录被创build正常,并且没有显示任何错误。 这可能是一个简单的问题,一些新鲜的眼睛,但我没有看到它:) 复合资源得到很好的认可,正如我所说,没有错误显示。 我会很感激任何帮助! 这是我的configuration文件: 复合资源 Configuration OfficeServer { PARAM ( [string]$IPAddress ) Import-DscResource -Modulename XNetworking, PSDesiredStateConfiguration { xIPAddress IPAddress { IPAddress = $IPAddress InterfaceAlias = "Ethernet" DefaultGateway = "192.168.10.1" SubnetMask = 24 AddressFamily = "IPV4" } xDNSServerAddress DNSServer { Address = "192.168.10.44" InterfaceAlias = "Ethernet" AddressFamily = "IPV4" } } } 生成.mof的configuration Configuration test […]

Powershell DSC使用不正确的证书文件进行encryption,其中节点名称部分匹配?

我认为DSCselect用于凭证encryption的证书文件(例如服务资源和PSCredential)的方式存在一个错误。 如果节点名称包含在后续节点名称中(节点顺序重要),则DSCconfiguration使用AllNodes集合中错误的CertificateFile。 这意味着发送给节点的encryption值可能是错误的。 这里有一个repro包括两个testing。 两个testing都会失败,但是第一个testing成功(带有错误的证书): $password = ConvertTo-SecureString "password" -AsPlainText -Force $serviceCredential = New-Object System.Management.Automation.PSCredential ("username", $password) $currentPath = Split-Path -Parent $MyInvocation.MyCommand.Definition $thisShouldNotWork = @{ AllNodes = @( @{ NodeName = "web1" CertificateFile = "nonexistentfile" }, @{ NodeName = "customerweb1" CertificateFile = "$currentPath\mycert.cer" } ); } $thisDoesNotWork = @{ AllNodes = @( @{ NodeName = […]