Windows Server 2008:如何判断用户是“本地”用户还是“域”用户

Windows Server 2008:如何判断用户是“本地”用户还是“域”用户

我是一名开发人员,而不是服务器管理员,所以请耐心等待!

我的任务是检查云中 Windows Server 2008 R2 计算机上某些软件的安装情况,具体情况如下:

  1. 没有域,软件将使用本地用户和组进行身份验证
  2. 有域,软件会使用域用户和组进行身份验证

我已经完成了第一部分,但是对第二部分感到困惑。

我刚刚在服务器上安装了 Active Directory 域服务角色,因此现在我拥有一台计算机的域。当我查看 Active Directory 用户和计算机时,我会看到我所有的原始本地用户和组。他们现在是否已“升级”为域用户?或者我还没有域用户?现在有什么方法可以区分域用户和本地用户吗?

谢谢

答案1

Active Directory 用户和计算机控制台中显示的所有内容都在域中并复制到所有域控制器。

在域控制器(即安装了 Active Directory 域服务角色的服务器)上,没有本地用户和组(目录服务还原模式用户除外,这是一种特殊情况)。

域中的成员服务器和工作站都有自己的本地用户和组。当将计算机添加到域时,某些域组会自动嵌套到本地组中;域管理员组将成为本地管理员组的成员,域用户组将成为本地用户组的成员。

简而言之,如果用户帐户出现在 ADUC 控制台中,则它就是域帐户。

答案2

您无法在 DC 上测试您想要测试的内容。您必须在成员服务器上进行测试。当 DC 升级时,除 DSRM 帐户之外的所有帐户都将成为域帐户。

答案3

好的,在做任何其他事情之前,您应该先阅读有关 Active Directory 的信息。

AD 是一种目录服务:它包含用户、计算机和“安全域”(通常是公司或部门)内使用的各种引用。它是管理这些帐户的中心位置。

当您在服务器上安装 AD 角色时,所有“本地”用户都将成为域用户。这就是您通常不会在同一台计算机上安装任何 AD 的原因之一。

就您而言,在您的服务器上安装 AD 没有任何意义:只有当您想在多台机器之间集中管理帐户时,AD 才有意义。

现在,如果您想正确执行测试,则需要从服务器中删除 AD(或者最好完全重新安装),安装一个单独的 2008R2 服务器,在该服务器上安装 AD,然后将应用程序服务器加入该域。只有这样,您才能尝试将 AD 帐户用于您的应用程序。

但请注意,AD 不仅仅是一种网络服务:您需要安装随之而来的所有基础设施(主要是 DNS,但这也意味着您需要一个静态 IP 地址)。

再次,我强烈建议您开始阅读有关 AD 的资料:对于任何必须使用 Windows 网络的人来说,这都不会浪费时间。至少,请查看有关 Active Directory 的 Wikipedia 文章,并尝试阅读网络上提供的(大量)AD 初学者指南。

答案4

您可以使用以下几种方法检查服务器是否是域成员:

注册表: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Domain

此值将包含 FQDN,或在工作组计算机上为空。

还有一些电源外壳您也可以运行命令来检查。

%userdomain%如果不在域中,环境变量将是机器名称(但如果机器名称恰好与域相同,则此测试将失败。是的,这是边缘情况,但仍然有可能)。

可以安全地假设,如果检测到域,用户有可能希望使用 Active Directory 身份验证,但为什么不直接在安装程序中询问他们呢?如果您正在安装的是 Windows 服务,我绝对地想要被询问(并且可以选择哪个用户;如果不是必须的话,我永远不会以管理员身份运行服务;需要的最小特权,诸如此类)。

相关内容