- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到过几种情况,在使用 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/
我遇到过几种情况,在使用 powershell_scipt 的 Chef 配方中,一条命令似乎失败了,而如果我在 Chef 之外的 powershell 中运行相同的命令,则相同的命令有效。 这两个特
我找到了一个很好的脚本来使用 powershell 导入 xml http://slash4.de/tutorials/Automatic_mediawiki_page_import_powershe
我是一名优秀的程序员,十分优秀!