在多台 Windows Server 2008 计算机上将用户帐户添加到本地管理员组

在多台 Windows Server 2008 计算机上将用户帐户添加到本地管理员组

我有许多服务器,需要向 1 个特定用户授予管理权限,即,将他添加到本地管理员。我猜可以用 PowerShell 或其他方式编写脚本。有人能告诉我怎么做吗?

答案1

如果这台计算机位于 Active Directory 域中,我将通过组策略对其进行控制。(您可以通过 GPO 使用受限组,这会将成员添加到本地管理员组,同时删除不应该在该组的成员。)

如果这台计算机不属于域,只需运行

C:\>net localgroup Administrators billybob /add

您当然也可以在批处理文件中运行上述行。

答案2

也许不是最漂亮的 Powershell,也绝对不是最短的,但这是我使用的修改版本。

# Get the servers from a file named listOfServers.txt, skip lines 
# either commented with a # or blank.
$serverList = Get-Content -Path C:\temp\listOfServers.txt | where {($_ -notlike "*#*") -and ($_ -notmatch "^\s*$")}  
# Cycle throught the servers adding the user to the Administrators group.
foreach ($server in $serverList) {
   $computer = [ADSI]("WinNT://" + $server + ",computer")  
   $group = $computer.psbase.children.find("Administrators") 
   $group.Add("WinNT://yourDomainName/" + $user)
}

答案3

基本上就是 Ryan Ries 所说的。我过去常常使用受限组来添加管理员(这也会踢出不应该在那里的人,额外好处!)。

对于非域计算机,类似执行程序带有计算机列表即可。如下所示:

@ECHO ON

set controlfile=serverlist.txt


FOR /F %%L IN (%controlfile%%) DO (
  SET "line=%%L"
  psexec \\%%L net localgroup Administrators YourDomain\YourUser /add
)

相关内容