私は1人の特定のユーザーに管理アクセスを許可する必要があるサーバーをいくつか持っています。つまり、ローカル管理者に彼を追加します。 PowerShellなどでスクリプト化できると思います。誰かが私にそれを行う方法をアドバイスできますか?
このコンピューターがActive Directoryドメインにある場合、グループポリシーを使用してこれを制御します。 (GPOを介して制限付きグループを使用できます。これにより、ローカル管理者グループにメンバーが追加されると同時に、そこに存在してはならないメンバーが削除されます。)
このコンピューターがドメインの一部ではない場合は、実行します
C:\>net localgroup Administrators billybob /add
もちろん、上記の行をバッチファイルで実行することもできます。
おそらく、最も美しい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)
}
ライアン・リースが言ったことは、基本的に。以前は制限されたグループを使用して管理者を追加していました(これにより、そこにいるべきではない人々を追い出します、ボーナス!)。
ドメイン以外のコンピューターの場合、コンピューターのリストを使用した PsExec のようなものが機能します。このようなもの:
@ECHO ON
set controlfile=serverlist.txt
FOR /F %%L IN (%controlfile%%) DO (
SET "line=%%L"
psexec \\%%L net localgroup Administrators YourDomain\YourUser /add
)