我知道这有点基本,但如果有人能让我明白这一点,我将永远感激不尽。
- 我有一堆运行 Hyper-V 的 Windows 2012 R2 服务器。
- XML-RPC Web 服务在这些服务器上运行。这背后有一些托管的 Powershell。它完美地工作。
- 托管的 Powershell 代码通过模拟运行。再次,效果很好。
- 即使这些机器一直在一个域中,XML-RPC 身份验证的工作方式如下:
我在域中使用了句点(“.”)。我使用了用户名“管理员”。我为每个“本地”管理员帐户使用了不同的密码。
我最近在我的应用程序中添加了集群功能,这只是 Microsoft 的 Powershell cmdlet 的一些包装器的形式,加上我自己的东西。如果我正确阅读了 dcos,则只能使用域凭据管理集群。我希望我的 Web 服务在一组凭据下运行(以简化调用应用程序需要存储的详细信息)。
我以为我会像这样调整身份验证模型:
- 每个 Hyper-V 主机都有一个域用户。
- 确保此用户是本地管理员和 hyper-v 管理员组的成员。
- 将这些用户添加到“集群 hyper-v 主机”组,通过集群管理工具为该组授予“集群权限”。
我的问题:
- 当运行经过调整的模型时,我的代码已经爆炸并且不再工作,出现很多身份验证错误,我可以坐下来查看注册表中的内容并被拒绝。
- 如果我随机选择一个主机,使用这个新域用户(需要明确的是本地管理员组的成员)登录它并在没有 xml-rpc 包装器的情况下运行我的代码,我看到很多身份验证错误. 就好像该用户没有使用管理凭据运行,即使它具有这些权限。
- 这些用户似乎也具有受限的集群权限,即使他们应该具有完全访问权限。
- 如果我运行“test-cluster”命令,它会告诉我我在运行它的主机上没有权限。
我愿意承认我有一个损坏的目录,或者这里有真正的访问问题,但也许我对它应该如何工作存在固有的误解。我是一名 Linux 工程师和程序员,我对 Windows 有点了解。当我没有以真正的管理员帐户登录时,我对 UAC 在此上下文中的工作方式感到有些困惑,在域环境中...如果我右键单击 Powershell 窗口并以管理员身份运行,我的代码全部似乎工作,即使是集群的东西(我被引导相信,通过文档,不应该作为本地管理员运行)。
我在这里遇到某种海拔问题吗?如果域用户具有“有效权限”(希望该术语不会混淆事物)来做一些事情,它是否仍然需要以某种方式提升?
非常感谢。