Script to List Local administrators in workstations

Olá, meu nome é Diego Luisi e no artigo de hoje demonstrarei como criar um Script em VBS para listar todos os usuários que tem privilégios de administrador nas estações de trabalho.

1) Primeiramente vamos criar um novo arquivo de texto chamado list_adm.txt

On Error Resume Next
option explicit
dim arrRealAdmins
dim objFSO,objFile
dim nomePC

'''''''''''''''''
' Configuration '
'''''''''''''''''
arrRealAdmins = Array("Administrador","Domain Admins")  ' List of users that *are* supposed to be administrators; we'll ignore these people later

'''''''''''''''''''''
' End configuration '
'''''''''''''''''''''

dim adminGroup, groupMember, ret

function isPermitedAdmin(MemberName)

    dim i
    for i = lbound(arrRealAdmins) to ubound(arrRealAdmins)
        if ucase(MemberName) = ucase(arrRealAdmins(i)) then
            isPermitedAdmin = true
            exit function
        end if
    next

    isPermitedAdmin = false
end function

set adminGroup = getObject("WinNT://./Administradores, group")
for each groupMember in adminGroup.members
    if not isPermitedAdmin(groupMember.name) then
            ret = ret & groupMember.name & ","
    end if
next

if ret = "" then
    Wscript.Quit
else
    ret = mid(ret, 1, len(ret)-1) ' To get rid of the last comma
    set nomePC = CreateObject("WScript.Network")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.CreateTextFile("\\servidor\netlogon\admlocal\" & nomePC.ComputerName & ".txt")
    objFile.WriteLine ("The following users are in the local admin group: " & vbcrlf & ret)
    objFile.Close
    Wscript.Quit 
end if

2) Agora altere essa linha para o caminho desejado.
Set objFile = objFSO.CreateTextFile(“\\servidor\netlogon\admlocal\” & nomePC.ComputerName & “.txt”)

3) Altera a permissão da na pasta usada acima para que os usuários tenham permissão de escrita.

4) Salve o script em um compartilhamento da rede e altere sua extensão para .vbs

5) Coloque o script dentro do seu script de login, para ser executado sempre que um usuário se logue na estação

'============================================================================
'Listas ADM local

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "\\diegoluisi.local\netlogon\scripts\list_adm.vbs"

6) Pronto, agora sempre que um usuário se logar em uma estação esse script vai verificar quem são os administradores locais dessa estação.