问题标签 [powershell-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 投票
1 回答
439 浏览

powershell - 如何获取 Azure DSC 配置以读取名称为参数的自动化帐户变量?

我正在尝试使用模板和 DSC 在 Azure 中自动构建 Windows VM。我的同事熟悉模板但不熟悉 PowerShell,我希望尽可能少地与 DSC 交互或运行 cmdlet。如果我不能用模板做所有事情,我想使用 Azure 门户。

我正在努力寻找一种非 PowerShell 方式将用户和组添加到本地管理员组。我认为最简单的过程是:

  1. 该模板有一个名为 的参数membersOfLocalAdmins。它的值将是单个字符串,例如mydomain\username,mydomain\groupname....

  2. 该模板在自动化帐户中创建一个变量,名为membersOfLocalAdmins-*New VM Name*. 它的值是管理员字符串。

  3. DSC 配置需要读取此变量。它当前有一个用于 VM 名称的参数。在 Azure 门户中,我们将转到自动化帐户,选择配置并单击编译。我们看到 VM 名称的提示并键入它,单击 OK。

DSC 配置必须读取名为 的自动化帐户变量membersOfLocalAdmins-*New VM Name*。然后将变量的值拆分为一个数组,并将其获取到其 Group 资源中。我已经尝试过类似下面的代码,但它不会编译,我认为配置中我可以使用 PowerShell 的唯一位置是脚本资源。有什么办法可以做到这一点,或者有更好的方法吗?

我还遇到了 Azure 门户中的编译 DSC 配置表单无法接受数组的问题。它读取mydomain\username,mydomain\groupname... 为单个字符串。如果我可以在它到达 Group 资源之前使用 PowerShell 将其拆分,那没关系。但是我应该把这个 PowerShell 放在哪里?

我想我将不得不使用脚本资源,将字符串拆分为一个数组并将其添加到管理员自己。凌乱。

0 投票
1 回答
580 浏览

powershell - Powershell DSC - 将文件解压缩到远程目标

我的目标是创建一个Powershell DSC配置,以将文件从我的本地计算机解压缩到 Hyper-V Win10 VM上的远程目录(我已经共享了该目标文件夹)。但是,现在,在 .ps1 中插入 VM 凭据仍然存在一些问题。这是我的代码:

谁能建议我在 Powershell 脚本中插入Windows 凭据(远程机器的)?

感谢您的宝贵时间...希望您能提供帮助!

0 投票
1 回答
269 浏览

powershell - AWS 目录服务 - 拒绝访问

我正在尝试将此模块用作 AWS 中自动化 AD 的一部分。

脚本

日志

```

笔记

  • 我以与 AD 连接的域管理员身份登录服务器。
  • 我可以手动添加用户。
  • 我可以通过添加用户New-ADUser

我实际上想通过 CloudFormation 或 Run Command 远程执行此操作,这意味着我可能需要以PSCredential某种方式合并。我看不出DomainAdministratorCredentialonxADUser有什么帮助,因为该属性不在xADGroup...

在我开始推出自己的解决方案之前,任何帮助表示赞赏!

谢谢

0 投票
1 回答
304 浏览

azure - 如何从专用网络中在 Azure 自动化中注册 AzureVM

我有一个 azure 虚拟机,刚刚启动,它通过 VPN 连接到我的办公室。NSG 进行管理,使计算机只能通过需要身份验证的本地代理访问 Internet。

设置代理后,以我的用户身份浏览互联网就可以了。

我正在尝试将机器注册到 Azure 自动化中——只是一个安装 IIS 以测试功能的简单脚本——但我无法让它工作。我唯一能想到的是互联网访问限制。

我已将运行 Azure VM 代理的用户更改为我的用户,该用户应该可以访问 Internet,并且是 VM 上的管理员。

这是我要回来的错误:

0 投票
1 回答
443 浏览

azure-virtual-machine - 具有模板部署的 Azure VM 扩展 Powershell DSC - 配置重新启动时进程失败

我正在努力通过 Powershell DSC 配置重新启动。这是我的场景:

将 Azure RM 模板部署与 Visual Studio 2017 资源组项目一起使用:

  1. VM 已成功部署为嵌套(链接)模板
  2. 接下来,再次作为依赖于 VM 部署的嵌套(链接)模板,创建 Powershell DSC 扩展模板
  3. 在 Powershell DSC 配置中,应在某个阶段强制重启
  4. 尝试了两种方案:a)使用带有 Windows Server 2016 Datacenter 的 VM 和b) Windows Server 2012
  5. 两种情况都报告失败。a)第一个在重新启动时失败。b)然而,第二个似乎重新启动并完成配置,但资源组部署和 VS 输出仍然报告失败。
  6. 在这两种情况下,错误都是:“DSC 配置‘主’完成但出现错误。以下是前几个:发生 CA 常规错误,未包含在更具体的错误代码中。C”

这是 DSC 配置:

任何帮助将不胜感激,谢谢!

一些更新:

实际上,我的“重新启动”要求是一种解决方法,因为当两个部署一个接一个地作为嵌套模板执行时 - Powershell DSC 失败(如果我单独部署它们,一切正常)。脚本资源使用 NSSM安装Windows 服务后,配置似乎失败。然后我注意到如果在机器上启动重新启动,则配置成功应用。因此,重新启动的解决方法....

0 投票
1 回答
62 浏览

powershell - Powershell DSC:如果我们希望进程始终运行,建议是什么

我希望一个进程(exe)始终在机器上运行,即使它重新启动后也是如此。我已经设置了 powershell DSC,目前我将它作为 WindowsProcess 并且在重新启动后没有启动。有人能告诉我在这种情况下推荐的资源是什么吗?

0 投票
1 回答
367 浏览

powershell - 如何获取当前 PowerShell DSC 正在执行的所有操作的详细信息?

在系统上,应用了 PowerShell DSC,但我没有应用的原始脚本。如何获取此配置应该执行/当前执行的所有操作的列表?

例如,如果我有原始脚本,我可以看到正在安装哪些程序以及配置正在应用哪些设置,但是如果没有原始脚本,我该怎么做。

我想卸载当前由 DSC 安装的程序,但我无法更新 DSC 以允许删除程序而保留其他部分,因此删除它似乎是唯一的选择。在删除它之前,我想确保它不会做其他重要的事情。我怎样才能做到这一点?

另外,如果我删除了当前的 DSC,是否应用了以前的或未决的 DSC?

0 投票
1 回答
469 浏览

powershell - 无法使用 DSC 添加 Windows 登录

构建 Azure VM 并加入域后,我需要将 windows 用户添加到 SQL Server 登录。我为此使用 DSC,代码是

但是,部署失败并出现以下错误。

PowerShell DSC 资源 MSFT_SqlServerLogin 无法执行 Test-TargetResource 功能并出现错误消息:System.InvalidOperationException:无法连接到 SQL 实例“localhost”。+ CategoryInfo : InvalidOperation: (root/Microsoft/...gurationManager:String) [], CimException + FullyQualifiedErrorId : ProviderOperationExecutionFailure + PSComputerName : localhost

看起来 DSC 正在尝试以我要添加的用户身份连接到 SQL 服务器。我的意思是,如果我尝试添加 MyDomain\xxx.zzz,那么我会在 SQL 日志中得到错误

“用户 'MyDomain\xxx.zzz' 登录失败。原因:找不到与提供的名称匹配的登录名。[客户:]”

我究竟做错了什么?

谢谢

0 投票
0 回答
3062 浏览

powershell - 使用 Powershell DSC 将视觉效果设置为“调整以获得最佳性能”

我正在尝试将视觉效果设置为“调整到最佳性能”以优化操作系统性能。我正在使用引用注册表资源并应用此配置的 Powershell DSC 配置。

在创建配置文件之前,我正在运行 powershell 命令以进行测试。我正在运行以下命令

我收到以下错误:

当我查看注册表编辑器时,在 VisualEffects 下没有名为 visualfxsetting 的键,也没有设置值。

在此处输入图像描述

这是否意味着首先我必须创建一个注册表项和值,然后使用它来应用配置?如果是这样,我必须创建什么类型的注册表项以及我必须设置什么值?

0 投票
1 回答
437 浏览

powershell - 注册表值设置更改后不生效

我正在使用以下 Powershell DSC 配置来禁用视觉效果。

在我运行 Start-DSCConfiguration 命令后,我可以看到 visualfxsetting 值已更新为 2。但在 GUI(在高级系统属性 -> 视觉效果下)它仍然显示为“让计算机选择最适合你的”而不是“调整以获得最佳性能”。对此有任何想法吗?