我应该如何在没有 Active Directory 的情况下从管理员组中删除用户?

我应该如何在没有 Active Directory 的情况下从管理员组中删除用户?

背景:我是一名新来的初级系统管理员,我继承了一个小型办公室工作组,该工作组由大约 12 台 Windows 计算机、生产和备份文件服务器以及一台 SQL 服务器组成。文件服务器上的所有用户帐户都是管理员组的成员。我意识到这会造成漏洞。此外,高层希望文件服务器上的某些目录不对普通用户开放。

如何将我的用户从管理员组中删除,并将他们纳入两层常规帐户,并避免不便、生产停机等?

如果可行的话,我全力支持自动化,所以我不害怕在 .bat 文件或 powershell 中编写脚本,尽管我的 powershell 已经生疏了,我的 .bat 脚本也很粗糙。

答案1

您应该设置一个域。

  • 说真的。如果没有域 (Active Directory),我可不想管理 3 台 Windows 计算机,更不用说 12 台了。
  • 如果高层想要限制某些目录的访问级别,那么以可管理的方式进行操作的唯一方法就是使用 Active Directory,即使对于“仅有 12 台”机器/用户也是如此。
  • 对你个人而言,这也是最佳选择。“管理一组工作组计算机”在简历中是相当糟糕的一行。相比之下,“为 [公司] 创建、配置和管理新的 Windows Active Directory 域”在简历中是相当不错的一项。

假设您无法设置域(和 Server 2003),我倾向于使用 psexec,它是 SysInternals Suite 的一部分建立远程连接,然后NET USER 和 NET GROUP 命令进行实际添加。这样您就可以进行更改,而不会影响其他人的计算机,如下所示。

  1. 下载 SysInternals 套件。
  2. 打开命令行(cmd.exe)
  3. 连接到要进行更改的计算机
    • psexec \\thecomputeryouwanttomakechangeson\ cmd
  4. 执行所需的 NET USER 或 NET GROUP 命令。

答案2

您可以使用以下命令获取当前属于管理员组的用户列表:

net localgroup administrators > userlist.txt

然后,您可以将该输出中的用户分成 tier1 和 tier2 列表,并循环遍历列表。

$tier1file="c:\path\to\tier1users.txt" 
$tier2file="c:\path\to\tier2users.txt"

foreach ($user in get-content $tier1file)
{
    net localgroup administrators $user /del
    net localgroup tier1 $user /add
}

foreach ($user in get-content $tier2file)
{
    net localgroup administrators $user /del
    net localgroup tier2 $user /add
}

或类似的东西。

如果所有机器的设置都相同,您可能会得到比这更花哨的东西,但没有 AD 的机器通常并不相同。

相关内容