2

我最近有一些机会创建自定义 DSC 资源,但我无法验证配置是否已应用。两个例子是:

  • 使用用户名/密码设置应用程序服务帐户。我无法读取密码以验证其设置是否正确。
  • 将帐户的访问权限添加到 RSA 密钥容器(通过aspnet_regiis -pa)。

虽然我可能会遗漏一些有助于这些特定场景的东西......我仍然有一个普遍的问题:每次应用 DSC 配置时都​​可以重新应用设置吗?换句话说,Test-TargetResource总是返回$false...

MSDN 文档说:

在具有相同参数值的序列中多次调用 Set-TargetResource 函数始终等同于调用一次。

...所以重新申请似乎没问题。它可能只是浪费一点性能。

4

1 回答 1

1

关于手头的问题

我认为一般来说,正如您所推测的那样,始终应用是可以的,但当然要始终注意任何副作用。

例如,是否有有效的密码策略强制帐户密码每 N 天重置一次?如果是这样,您实际上可能无意中取消了该策略(这只是一个示例;实际上,当您仔细查看我的示例时,它可能没有意义)。

显然,如果您的更改需要重新启动才能生效,您不希望始终进行设置,因为您要么不会强制重新启动,因此不会设置状态,或者您将一直在重新启动!

记录/监控

请注意,如果您正在对系统状态和漂移进行任何类型的监控,那么您可能会遇到这种方法的问题。我个人还没有到达那里,但我可以看到让一台机器每 30 到 60 分钟显示为“未配置”是一个问题。

你的场景

说到测试用户的密码,我相信你可以做到这一点。如果您正在设置密码,您必须已经嵌入了密码,因此不要尝试读取它,而是尝试使用您知道的密码作为用户进行身份验证。

至于 RSA 的事情。我不熟悉这种情况,所以我不知道。

于 2014-09-05T19:24:23.267 回答