none
Grupo administrador local, o que alterar RRS feed

  • Pergunta

  • Ba galera,

    Tenho este codigo abaixo que levanta quem esta no grupo administradores locais, porem quando existe mais de um grupo ou usuario ele da um echo para cada um ou se eu mandar ele escrever em texto ele cria varias linhas dependendo dos membros, o que devo alterar no mesmo para que ele escreva em uma unica linha em um echo todos os membros que ele venha a levantar no grupo obedecendo os valores do <>.

    Ba valeu tche.

     

    strComputer = "."

    Set colGroups = GetObject("WinNT://" & strComputer & "")
     colGroups.Filter = Array("group")
     
      For Each objGroup In colGroups
       If (objGroup.Name = "Administrators") or (objGroup.Name = "Administradores") Then
      For Each objUser in objGroup.Members
       If (objUser.name  <> "") and (ucase(objUser.name) <> "ADMINISTRATOR") and (ucase(objUser.name) <> "SUP_CENTRAL") and (ucase(objUser.name) <> "DOMAIN ADMINS") Then

     WScript.Echo objGroup.Name & ";" &  ucase(objUser.Name)

       End If
      Next
     End If
    Next

    segunda-feira, 3 de outubro de 2011 15:57

Respostas

  • Não entendi direito, mas teste este aqui pra ver o que falta

    No caso é uma linha para cada grupo.

     

    strComputer = "."
     
    Set colGroups = GetObject("WinNT://" & strComputer & "")
    
    colGroups.Filter = Array("group")
      
    For Each objGroup In colGroups
    	strSaida=""
    	If (objGroup.Name = "Administrators") or (objGroup.Name = "Administradores") Then
    		For Each objUser in objGroup.Members
    			If (objUser.name  <> "") and (ucase(objUser.name) <> "ADMINISTRATOR") and (ucase(objUser.name) <> "SUP_CENTRAL") and (ucase(objUser.name) <> "DOMAIN ADMINS") Then
    			
    				strSaida = strSaida & ucase(objUser.Name) & ";"
    
    			End If
    		next
    
                    wscript.echo objGroup.Name & ";" & strSaida
    
    	end if
    
    	
    Next
    

     


    Fábio de Paula Junior
    • Editado Fábio JrModerator segunda-feira, 3 de outubro de 2011 16:20
    • Marcado como Resposta Marcelo TI segunda-feira, 3 de outubro de 2011 17:07
    segunda-feira, 3 de outubro de 2011 16:18
    Moderador

Todas as Respostas

  • Não entendi direito, mas teste este aqui pra ver o que falta

    No caso é uma linha para cada grupo.

     

    strComputer = "."
     
    Set colGroups = GetObject("WinNT://" & strComputer & "")
    
    colGroups.Filter = Array("group")
      
    For Each objGroup In colGroups
    	strSaida=""
    	If (objGroup.Name = "Administrators") or (objGroup.Name = "Administradores") Then
    		For Each objUser in objGroup.Members
    			If (objUser.name  <> "") and (ucase(objUser.name) <> "ADMINISTRATOR") and (ucase(objUser.name) <> "SUP_CENTRAL") and (ucase(objUser.name) <> "DOMAIN ADMINS") Then
    			
    				strSaida = strSaida & ucase(objUser.Name) & ";"
    
    			End If
    		next
    
                    wscript.echo objGroup.Name & ";" & strSaida
    
    	end if
    
    	
    Next
    

     


    Fábio de Paula Junior
    • Editado Fábio JrModerator segunda-feira, 3 de outubro de 2011 16:20
    • Marcado como Resposta Marcelo TI segunda-feira, 3 de outubro de 2011 17:07
    segunda-feira, 3 de outubro de 2011 16:18
    Moderador
  • Ba tche

    show Fabio, agora tenho que ver como resolver a questão dentro do script master, rodando ele sozinho, ele me atente, rodando dentro do outro, ele esta criando uma linha com um grupo e uma linha com o grupo mais usuario.

    valeu Fabio.

    segunda-feira, 3 de outubro de 2011 17:07
  • Fabio ba tche

    Amarrei o codgo dentro do outro script master, e ta rolando legal, mais vc poderia me fazer um favor me explicar a alteração, vi que vc criou o strSaida="" e o strSaida = strSaida & ucase(objUser.Name) & ";", gostaria de compreender como esta alteração mudou a saida para uma unica linha.

    valeu obrigado tche.

    terça-feira, 4 de outubro de 2011 00:17
  • O strSaida="" está embaixo do For each objGroup que é onde começa a interação com cada grupo, se eu não limpasse o strSaida o segundo grupo iria imprimir seus usuários + usuários do primeiro grupo, o terceiro grupo iria imprimir os seus + primeiro grupo + segundo grupo.... e assim sucessivamente.

    Já o strSaida = strSaida & ucase(objUser.Name) está dentro da interação com cada membro do grupo, então a cada Loop eu adiciono o membro à variavel strSaida.


    Fábio de Paula Junior
    terça-feira, 4 de outubro de 2011 11:29
    Moderador