gpt4 book ai didi

powershell - Chef powershell_script 的权限是否有限?

转载 作者:行者123 更新时间:2023-12-03 23:31:07 24 4
gpt4 key购买 nike

我遇到过几种情况,在使用 powershell_scipt 的 Chef 配方中,一条命令似乎失败了,而如果我在 Chef 之外的 powershell 中运行相同的命令,则相同的命令有效。

这两个特别是“regedit”,我试图用它来设置应用程序兼容性的 key ,另一个是“net use z:....”来创建映射驱动器。如果我在 powershell 中运行它们,它们似乎都能正常工作,但如果我在 powershell_script 中的配方中使用它们,它们似乎什么也做不了。

所以我想知道这是不是因为 Chef 以较低的权限级别运行 powershell_script 中的命令?

另外,如果是这样,我该如何更改它以便 regedit 和 net use 正常工作?

谢谢,吉姆

编辑 1:这似乎适用于添加我需要的注册表项:

registry_key "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags" do
values [{
:name => "{2b9034f3-b661-4d36-a5ef-60ab5a711ace}",
:type => :dword,
:data => 00000004
}]
action :create
end

这可以防止我在运行 Sharepoint 安装程序时遇到的兼容性弹出窗口。

编辑 2:我希望这没问题,但为了记录和更多可见性并希望我记住这一点,我找到了这个。在 Windows 和 Chef 中映射驱动器:

Mount windows shares on a windows node with Chef

和:

https://tickets.opscode.com/browse/CHEF-1267

我还没有尝试过,但这似乎是我的驱动器映射需求的答案......希望......

最佳答案

Chef 客户端服务默认作为本地系统 (SYSTEM) 运行。

在 Windows 中,该用户对本地系统具有完全权限,基本上像 root,但在网络上,它作为计算机对象进行身份验证。

因此,您正在尝试使用 regedit 来更改某些内容,例如 HKEY_CURRENT_USER 那么您需要记住,该代码将不会看到与以下代码相同的“当前用户”当你以交互方式运行它时,你会的。另外,regedit 是一个 .exe;您应该通过 PowerShell 提供程序或 .Net 对象真正地做您需要的事情。

对于 net use,您正在尝试映射一个驱动器。计算机帐户可能没有权限访问您的用户所拥有的共享。同样,net.exe 是一个单独的可执行文件。 net use 将驱动器映射到驱动器号(通常),我认为您不应该在配置脚本中这样做。您应该直接访问 UNC 路径,但无论哪种方式,我仍然认为您可能在这里遇到了权限问题。

您可以更改服务的凭据以使用拥有您想要的所有权限的用户帐户,但在执行此类操作之前,您应该考虑更改您的工作流程以不需要它。

关于powershell - Chef powershell_script 的权限是否有限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31061765/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com