none
Script para verificar grupo administradores local RRS feed

  • Pergunta

  • Aqui na minha empresa alguns usuarios tinham permissão de Administrador Local. Hoje eu tirei todos eles, mais queria ter certeza que tirei de tudo mundo mesmo. Com isso, queria sabe se tem como criar uma bat ou um vbs para ele criar um arquivo txt caso no grupo administradores esteja alem do usuario administrador local e o meu usuario.

     

    Muito obrigado.


    Thiago.

    quinta-feira, 7 de agosto de 2008 15:35

Todas as Respostas

  •  

    Blz  Thiago Fukuda? Já tinha postado esse scripts e outros relacionado a este assunto abaixo segue um e links para os posts que coloquei outros scripts relacionado ao que vc precisa, se o post foi util marque-o como resposta:

    Code Snippet

    on error resume next

    Set WshNetwork = WScript.CreateObject("WScript.Network")

    StrComputer = WshNetwork.ComputerName


    Set objWMIService = GetObject("winmgmts:\\" & StrComputer & "\root\cimv2") 'VC DEVE SER ADMINISTRADOR DA MAQUINA E N PODE HAVER FIREWALL NO CAMINHO
      if Err.number <> 0 then
          'WriteLog StrComputer & vbTab & Err.Description & vbTab & "Tentando conecta-se via WMI ao PC remoto"
        Err.Clear
       wscript.quit
      End if  

    Set colAccounts = objWMIService.ExecQuery _
        ("Select * From Win32_Group Where Domain = '" & StrComputer & "'")

    For Each objAccount in colAccounts
     'wsh.echo objAccount.name
      If objAccount.SID ="S-1-5-32-544" Then 'Achou  o grupo administradores
         Set ObjAdministrador = GetObject("WinNT://" & strComputer & "/" & objAccount.Name & "")
         StrGroup = objAccount.Name
     End if
    Next

    Local = "" 'Local para salvar o arquivo .CVS com os membros do grupo especificado
    FileLog = Local & WshNetwork.ComputerName & "_" & StrGroup  & ".txt"
    ActionList = "no"

    Set ObjFSO = CreateObject("Scripting.FileSystemObject")
    Const ForReading = 1, ForWriting = 2, ForAppending = 8
    Set ObjFileRead = ObjFSO.opentextfile(FileLog, ForReading, True)
    Set ObjFileAppending = ObjFSO.opentextfile(FileLog, ForAppending, True)
     
    Set objNetwork = CreateObject("WScript.Network")
    Set objGroup = GetObject("WinNT://" & StrComputer & "/" & StrGroup & ",group")
    StrMemberAdsPath = "WinNT://" & StrComputer & "/" & StrMember ' AdsPath do Membro
    AdsPathGroup = objGroup.AdsPath


    For Each objUser In objGroup.Members
     WriteLog WshNetwork.ComputerName &","& Ucase(objUser.name) &","& objUser.class
     ActionList = "yes"
    Next

    Function WriteLog (Text)
     ObjFileAppending.WriteLine Text
    End Function

     

     

    Code Snippet

    'Log verificação de membros em um grupo local 
    'Por Leonardo Couto Conrado
    '08/07/2008
    Dim objDom,objNetwork
    Set WshNetwork = WScript.CreateObject("WScript.Network")

    StrComputer = "localhost" 'Computador a ser verificado
    StrGroup = "Administradores" ' Verificar membros do Grupo Local Administradores
    Local = "c:\" 'Local para salvar o TXT com os membros do grupo especificado
    FileLog = Local & WshNetwork.ComputerName & "_" & StrGroup  & ".txt"
    ActionList = "no"
    Set ObjFSO = CreateObject("Scripting.FileSystemObject")
    Const ForReading = 1, ForWriting = 2, ForAppending = 8
    Set ObjFileRead = ObjFSO.opentextfile(FileLog, ForReading, True)
    Set ObjFileAppending = ObjFSO.opentextfile(FileLog, ForAppending, True)
    Set objNetwork = CreateObject("WScript.Network")
    Set objGroup = GetObject("WinNT://" & StrComputer & "/" & StrGroup & ",group")

    StrMemberAdsPath = "WinNT://" & StrComputer & "/" & StrMember ' AdsPath do Membro
    AdsPathGroup = objGroup.AdsPath
    'ColItens.filter = Array("group")
    WriteLog now() & " Membros do grupo " & Ucase(StrGroup) & " possuindo o nome único de " & AdsPathGroup
    i = 0
    For Each objUser In objGroup.Members
     i = i + 1
     WriteLog i & "- " & Ucase(objUser.name) & " é um " & objUser.class & " e seu nome único é " & objUser.AdsPath
     ActionList = "yes"
     
    Next
    if ActionList = "yes" then
     WriteLog "-------------------------------------FIM---------------------------------------TOTAL DE "& i &" MEMBROS

    ENCONTRADOS------------"
    end if

    Function WriteLog (Text)
     ObjFileAppending.WriteLine Text
    End Function

     

     

     

    http://forums.microsoft.com/TechNet-BR/ShowPost.aspx?PostID=3601846&SiteID=29
    quinta-feira, 7 de agosto de 2008 16:49
  • Olá thiago, blza ?

     

    Bom existe outra solução bem mais simples para sua necessidade. Você pode criar uma GPO e aplicar para as estações garantindo assim que seu usuario e o usuário administrador local farão parte do grupo administradores das estações.

     

    1º - Crie uma OU e mova as estações que você quer verificar pra essa OU.

     

    Ex: OU-Desktops      

     

    2º - Crie um grupo no AD por exemplo com o nome de Admins-Desktop e adicione o seu usuário neste grupo.

     

    3º - Depois clique com o botao direito em cima da OU que você criou para os desktops vá em propriedades e depois na guia Group Policy.

     

    3.1 - Nesta guia crie uma GPO por exemplo com o nome de Grupo_Restrito e mande editar.

    3.2 - Agora vai na opção: Computer Configuration - Windows Settings - Security Settings - Restricted Groups

    3.3 - Clique com o botão direito e mande adicionar o grupo Administrators e clique em Ok.

    3.4 - Irá aparecer uma outra tela e nela você irá incluir como membros de deste grupo (administrators) o grupo que você criou no item2 (Admins-Desktop) ou seja você irá adicionar o grupo Admins-Desktop dentro do grupo Administrators, assim desta forma você garante que somente quem estiver dentro do grupo Admins-Desktop serão os administradores das estações.

     

    4 - Apos adicionar o grupo feche a janela da GPO e faça os testes nas estações.

     

    5 - Reinicie uma das estações e verifique se a GPO foi aplicada.

     

     

     

     

    quinta-feira, 7 de agosto de 2008 23:44
  • bl e vc?

     

    Eu falei pra gente fazer via GPO, mas aki o AD ta td bagunçado..

    terça-feira, 12 de agosto de 2008 13:03
  • O segundo script eu entendi.. agora o primeiro nao... o primeiro faz o q? como eu faço nele pra fala q se nao tiver o usuario administrador, o meu usuario e o grupo helpdesk no gurpo administrador local da maquina.. o script deve gerar um arquivo txt

     

    terça-feira, 12 de agosto de 2008 13:05