Limpeza Grupo Administrador

Publicado: outubro 25, 2013 em Windows
Este script foi desenvolvido com o intuito de gerenciar os usuários que estão no grupo administrado Local das estações de um domínio.
Caso  exista a necessidade no seu ambiente do usuário ter acesso ADM em uma estação e esse script prove essa facilidade de gerenciamento, esse script permite que você crie um grupo no domínio com o nome da maquina_admin e insira somente nesse grupo a pessoa que realmente precisa ter esses direitos, em caso de turnos os outros usuários não terão acesso ADM, livrando de instalar softwares indesejados.
On Error Resume Next 

Const ADS_SCOPE_SUBTREE = 2 
'OU Computers 
Dim network, group, user 
Set network = CreateObject("WScript.Network") 
Set group = GetObject("WinNT://" & network.Computername & "/Administradores,group") 
'é criado uma variavel com o nome da maquina _admin 
strexc = UCase(network.Computername) & "_ADMIN" 

Set objConnection = CreateObject("ADODB.Connection") 
Set objCommand = CreateObject("ADODB.Command") 
objConnection.Provider = "ADsDSOObject" 
objConnection.Open "Active Directory Provider" 
Set objCommand.ActiveConnection = objConnection 
objCommand.Properties("Page Size") = 1000 
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 
objCommand.CommandText = "SELECT name FROM 'LDAP://DC=br,DC=teste,DC=123,DC=com' WHERE objectCategory='group' AND Name='" & strexc & "'" ' aqui baseado com essa variavel criada é feito uma pesquisa no Dominio para verificar a variavel, caso exista ela inclui no grupo administrador local 

Set objRecordSet1 = objCommand.Execute 
objRecordSet1.MoveFirst 
Do Until objRecordSet1.EOF 
   strGRoup = 1 

   objRecordSet1.MoveNext 
Loop 

For Each user In group.Members 
If strGRoup = 1 Then 

Set objLocalGroup = GetObject("WinNT://./Administradores") 
Set objADGroup = GetObject("WinNT://br/" & strExc ) 

objLocalGroup.Add (objADGroup.ADsPath) 

Set objLocalGroup = Nothing 
Set objADGroup = Nothing 

End If 
'neste momento é validado se existe somente os usuarios que devem existir no grupo administrador local da estação 

If UCase(user.Name) <> "administrador" And UCase(user.Name) <> "DOMAIN ADMINS" And UCase(user.Name) <> "ADMIN WKS" And UCase(user.Name) <> strexc Then 
group.Remove user.ADsPath 
End If 
Next

Deixe um comentário