miércoles, 26 de junio de 2013

Introducir a un usuario en grupo de administradores locales

Hola.

Puestos a publicar scripts, os publico uno rápido que tengo hecho y aunque es mejorable :). Es válido perfectamente en una empresa donde se pasa por un filtro el que un usuario sea administrador de su equipo o no:

$strDomain = "dominio"
$strComputer = Read-Host "Ordenador"
$strUser = Read-host "Usuario"

$computer = [ADSI]("WinNT://" + $strComputer + ",computer")
$group = $computer.psbase.children.find("Administradores")
$group.Name

function ListAdministrators

{$members = $group.psbase.invoke("Members") | %{$_.GetType().InvokeMember("Name",'GetProperty',$null,$_,$null)}
$members}

$group.Add("WinNT://" + $strDomain + "/" + $strUser)
ListAdministrators

 

La penúltima línea, la podéis modificar y crear un script con :

$group.Remove("WinNT://" + $strDomain + "/" + $strUser)

Para que el script pase a borrar el usuario del grupo.

Advierto que es muy mejorable, por ejemplo el hecho de que busque la cadena “Administradores”, ya que si el s.o. está en inglés ya la cadena es “Administrators”, pero bueno, siempre se puede hacer un if y esa clase de cosas.