问题标签 [dsc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
107 浏览

arrays - 为什么调用此函数时 $args 数组为空?

我发现以下代码的工作方式存在错误,摘自存档 DSC 资源 MSFT_Archive.psm1。

"$key = [string]::Join($args).GetHashCode().ToString()" 行做错了,因为 $args 总是作为一个空数组出现。对该方法的典型调用是:

我添加了打印语句,并且 $Path 和 $Destination 有值;它们不是空的或零。因为 $args 数组是空的,所以 $key 的值总是相同的,因此所有的缓存文件都具有相同的名称,而不管解压缩的 Zip 存档。然后,不同的输入会导致查询同一个缓存文件,即使没有任何变化,也会导致同一个文件被重复解包。

该方法没有命名参数,因此 $args 应该始终具有未绑定参数的列表。怎么了?

我在带有 DSC Resource Kit Wave 10 的 Windows Server 2008R2 系统上使用 Powershell 4.0。

更新:存档和 xArchive 资源中都存在此问题。

0 投票
2 回答
631 浏览

powershell - Powershell DSC 在哪里找到模块代码?

我在存档 DSC 模块 (MSFT_ArchiveResource.psm1) 中发现了一个错误。在复制代码、在 ISE 中调试并找出需要修复的两行之后,我想对真实文件进行更改并使用 Puppet 和 msutter/dsc 模块进行测试,该模块利用存档资源.

我发现我认为文件在我的机器上的位置:

但是,当我运行 Puppet 时,很明显我更改的代码没有被执行。(如果我在文件顶部设置 $Debug = $true,我看不到额外的输出。)是否有一些 Windows 缓存保存了我必须清除的这个文件?它是从 ZIP 或其他存档加载的吗?

我怀疑 Puppet 是否与该问题有关,但请提及它以防它响起。(我只在代理上更改了代码。)

更新:

当我在 Powershell 中运行以下行时,我没有找到任何预期名称包含“dsccore”的进程:

结果:

0 投票
1 回答
425 浏览

release - 如何使用 Release Management DSC 将单个解决方案中的两个项目部署到两个不同的服务器中

我想在一个解决方案中使用 RM DSC 部署三个项目:

  • Windows 服务
  • 网页界面
  • 和一个数据库项目

对于部署,我有三个 Azure 服务器:

  • 一个 SQL 框
  • 和两个应用服务器

目前我能够在所有三台服务器上成功部署所有三个项目,但是对于老板的一些新方向,我必须按如下方式部署我的项目:

  1. Windows 服务项目到所有三台服务器
  2. WebUI 到其中一个应用服务器和
  3. 将 DB 项目放入 SQL 框中。

我的最终目标是仅复制每个目标服务器上需要的文件。例如,我只想将 DB 文件保留在 DB 服务器中,类似地将 WebUI 文件保留在 App 服务器中。

0 投票
0 回答
1046 浏览

powershell - 为什么 DSC 文件资源不适用于工作组共享

我目前正在使用具有通过 Get-Credential 获得的凭据的文件资源。我有许多机器不在域上,但都在同一个子网上。其中一台机器上创建了一个共享,文件资源将此共享作为其源,指定为\10.10.10.1\MyShare。我一直在搞乱共享/文件权限和本地策略设置,试图在没有凭据的情况下访问它,我发现不在域中的 SYSTEM 用户无法访问也不在域中的共享。所以我现在正在尝试使用凭证选项来访问共享,但我收到了这条消息:

指定的登录会话不存在。它可能已经被终止。使用指定凭据访问网络共享时出错。请确保凭据正确且网络共享可访问。请注意,不应使用本地路径指定 Credential。

示例配置:

我想知道为什么会这样,有没有人设法让它为文件资源工作?谢谢。

0 投票
1 回答
1188 浏览

azure - 带有 xActiveDirectory 的 DSC:验证域控制器升级的先决条件失败

我开始成为“期望状态配置”(DSC)的忠实粉丝。到目前为止,工作很棒,伙计们!

我正在使用几周前发布的“xActiveDirectory”脚本(https://gallery.technet.microsoft.com/scriptcenter/xActiveDirectory-f2d573f3)。在 Azure 中部署 VM 后,我会收到以下错误:

作业 {860932CF-ECE2-11E4-80BB-0003FF54BC14}:此事件表示当 DSCEngine 在 MSFT_xADDomain DSC 资源上执行 Set-TargetResource 时引发了非终止错误。fullyQualifiedErrorId 是 Test.VerifyDcPromoCore.DCPromo.General.77,Microsoft.DirectoryServices.Deployment.PowerShell.Commands.InstallADDSForestCommand。ErrorMessage 是验证域控制器升级的先决条件失败。无法识别指定的参数“DataBasePath”。

到目前为止,我可以看到,我的机器已经变成了 DC,所以我不明白这个错误。我真的很感激任何帮助。

谢谢你。

0 投票
1 回答
687 浏览

powershell - 能够使用 2 月的 powershell 5 为 LCM 设置 CertificateID

我正在尝试更新我的 DSC 部署以现在使用部分配置来分解配置。为此,我现在需要使用拉过程而不是推。

当我尝试应用 LCM 的配置时,它看起来像:

如果我尝试包含 CertificateID,则会收到如下错误:

自然,当尝试应用配置时,它无法解密传递的凭据,并且在事件视图中出现错误,例如:

任何想法如何做到这一点?当我在推送模型中使用单个配置时,我使用了 certificateID。

0 投票
1 回答
150 浏览

visual-c++ - 使用 DSC 脚本安装应用程序时系统重启

我有两个使用 DSC 脚本安装时表现不同的 MSI。两者都是 VC++ 应用程序。安装完成后,其中一个应用程序请求重新启动,而另一个则没有。我已经交叉验证了这些应用程序的两个 vdproj 文件。两个 vdproj 文件都没有可能导致重新启动的 REBOOT 属性。

我想知道重启的原因可能是什么?

0 投票
1 回答
210 浏览

powershell - 设置 DSC 拉取服务器时出错

我正在尝试设置 Powershell DSC 拉服务器。我将 xPSDesiredStateConfiguration DSC 模块复制到 C:\Windows\System32\WindowsPowerShell\v1.0\Modules

当我尝试运行下面的 dsc 脚本时:

我收到此错误消息:

如果我犯了任何错误,请告诉我。

0 投票
1 回答
401 浏览

powershell - 我在哪里可以找到二进制 DSC 资源的 dll?

我想扩展原始的FileDSC 资源以添加对确保源中不存在的文件在目标中被删除的支持。为此,我想至少通过在反汇编程序上检查它的代码来了解原始版本是如何实现的,或者尝试在ReferenceSource之类的地方找到它的实现,但我终生无法找到 dll 的位置实现资源的位于我的计算机上。

Get-DscResource File当我在 PowerShell 中发出命令时,该Module属性为空。然后我尝试检查对象本身以查看是否出现任何问题,但该Path属性也是空的,而该ParentPath属性指向C:\Windows\system32\Configuration\Schema\MSFT_FileDirectoryConfiguration,它只包含元数据文件而不包含二进制 dll。

我知道我可能可以使用我链接的另一个问题中描述的方法来解决这个问题,但是我们需要很多具有这种行为的文件夹,这样维护这些脚本将是一个问题。

理想情况下,可以扩展原始类并将此行为添加到其中,但我不指望这是可能的。我只是想将原始实现作为添加此功能的基线。

考虑到这一切,我在哪里可以找到实现给定二进制 DSC 资源功能的实际 dll?

0 投票
1 回答
508 浏览

powershell - Azure 9.1 上的 Get-AzureVMDscExtensionStatus 返回 404 blob 错误

我已经为我的 storageaccount 提供了一个简单的配置来启用 IIS,我已经处理了订阅,zip 存在于 blob 存储中,并且似乎设置得很好。一些输出:

我创建虚拟机没有问题:

并进入轮询循环以等待 DSC 完成:

大约需要 5 分钟,但我报告的三种状态变化如下:

...

...

...

这与以下博客文章中的示例代码非常相似:http: //blogs.msdn.com/b/powershell/archive/2015/02/27/introducing-get-azurevmdscextensionstatus-cmdlet-for-azure-powershell- dsc-extension.aspx

有什么问题吗,是否使用了新的命名约定?即使我再次设置配置并像这样更新虚拟机:

我仍然得到同样的错误:

任何想法,想法?我将尝试更明确地说明我的上下文,但根据我的时间戳,我几乎不在这个 VM 的小时窗口内。当我回到家时,我将使用超级显式的 Config 存储、调用和上下文设置进行更新。