Respuestas:
Si esta computadora está en un dominio de Active Directory, controlaría esto a través de la Política de grupo. (Puede usar Grupos restringidos a través de GPO, que agrega miembros al grupo de administradores locales y al mismo tiempo elimina a los miembros que no deberían estar allí).
Si esta computadora no es parte de un dominio, simplemente ejecute
C:\>net localgroup Administrators billybob /add
Por supuesto, también puede ejecutar la línea anterior en un archivo por lotes.
Tal vez no sea el Powershell más bonito y definitivamente no el más corto, pero aquí hay una versión modificada de algo que uso.
# 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)
}
Lo que dijo Ryan Ries, básicamente. Solía usar grupos restringidos para agregar administradores (que también expulsa a las personas que no deberían estar allí, ¡bonificación!).
Para las computadoras que no son de dominio, algo como PsExec con una lista de computadoras funcionaría. Algo como esto:
@ECHO ON
set controlfile=serverlist.txt
FOR /F %%L IN (%controlfile%%) DO (
SET "line=%%L"
psexec \\%%L net localgroup Administrators YourDomain\YourUser /add
)