web-dev-qa-db-ja.com

複数のWindows Server 2008マシンのローカル管理者グループにユーザーアカウントを追加する

私は1人の特定のユーザーに管理アクセスを許可する必要があるサーバーをいくつか持っています。つまり、ローカル管理者に彼を追加します。 PowerShellなどでスクリプト化できると思います。誰かが私にそれを行う方法をアドバイスできますか?

2
Mikhail

このコンピューターがActive Directoryドメインにある場合、グループポリシーを使用してこれを制御します。 (GPOを介して制限付きグループを使用できます。これにより、ローカル管理者グループにメンバーが追加されると同時に、そこに存在してはならないメンバーが削除されます。)

このコンピューターがドメインの一部ではない場合は、実行します

C:\>net localgroup Administrators billybob /add

もちろん、上記の行をバッチファイルで実行することもできます。

4
Ryan Ries

おそらく、最も美しい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)
}
2
Bruce

ライアン・リースが言ったことは、基本的に。以前は制限されたグループを使用して管理者を追加していました(これにより、そこにいるべきではない人々を追い出します、ボーナス!)。

ドメイン以外のコンピューターの場合、コンピューターのリストを使用した PsExec のようなものが機能します。このようなもの:

@ECHO ON

set controlfile=serverlist.txt


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