none
Ativar DHCP - Script com poder de elevação. RRS feed

  • Pergunta

  • Pessoal boa noite,

    Preciso rodar esse script abaixo em Windows XP, Vista e 7, como rodá-lo via script com grau de elevação para não deixar de rodar por poderes administrativos?

    c:\>netsh interface ip set address "Conexão Local" dhcp
    c:\>netsh interface ip set dns "Conexão Local" dhcp

    Obrigado.


    sexta-feira, 23 de dezembro de 2011 23:17

Respostas

  • Rogerio,

    Tente utilizar este .VBS

    strOctetos = split(getIP,".")
    
    if strOctetos(2)="81" or strOctetos(2)="84" then
    	wscript.echo "entrou"
    	set objshell = wscript.createobject("wscript.shell")
    	com1="netsh interface ip set address ""Conexão Local"" dhcp"
    	com2="netsh interface ip set dns ""Conexão Local"" dhcp"
    wscript.echo com1
    	objshell.run ("%comspec% /c " & com1) ,0,true
    	objshell.run ("%comspec% /c " & com2) ,0,true
    
    
    end if
    
    
    
    function getIP()
    	strComputer = "."
    	Set objWMIService = GetObject(_
    		"winmgmts:\\" & strComputer & "\root\cimv2")
    	Set colNetAdapters = objWMIService.ExecQuery("Select * From Win32_NetworkAdapter " _
    			& "Where NetConnectionID = " & _
    			"'Conexão Local'")
    
    	For Each objNetAdapter in colNetAdapters
    		strMACAddress = objNetAdapter.MACAddress
    	Next
    
    	Set colItems = objWMIService.ExecQuery("Select * From Win32_NetworkAdapterConfiguration where IPEnabled='True' and MacAddress='" & strMACAddress & "'")
    
    	For Each objItem in colItems
    		getIP = objItem.IPAddress(0)
    
    	Next
    end function
    



    Fábio de Paula Junior
    quarta-feira, 28 de dezembro de 2011 15:52
    Moderador

Todas as Respostas

  • Rogério,

    Tente colocar isto em um .BAT e crie uma GPO com diretiva de Startup Logon, link esta GPO acima de onde estão seus computadores.

    Startup logon é executado quando o computador é iniciado, antes do logon do usuário então o script é executado com a conta de sistema.


    Fábio de Paula Junior
    segunda-feira, 26 de dezembro de 2011 10:41
    Moderador
  • OK Fábio,

    Obrigado por enquanto, me ajuda a melhorar essa bat, preciso colocar para ser "startada" em um range específico, não geral.

    Abraço.

    segunda-feira, 26 de dezembro de 2011 21:35
  • Qual é o range?
    Fábio de Paula Junior
    terça-feira, 27 de dezembro de 2011 10:20
    Moderador
  • Boa noite Fábio,

    É 10.16.81.x/24 e 10.16.84.x/24
    Preciso remover todos IPs fixos desse range sem atuação manual, deixando o DHCP.

    Aguardo,

     

    Muito Obrigado.

    quarta-feira, 28 de dezembro de 2011 01:44
  • Rogerio,

    Tente utilizar este .VBS

    strOctetos = split(getIP,".")
    
    if strOctetos(2)="81" or strOctetos(2)="84" then
    	wscript.echo "entrou"
    	set objshell = wscript.createobject("wscript.shell")
    	com1="netsh interface ip set address ""Conexão Local"" dhcp"
    	com2="netsh interface ip set dns ""Conexão Local"" dhcp"
    wscript.echo com1
    	objshell.run ("%comspec% /c " & com1) ,0,true
    	objshell.run ("%comspec% /c " & com2) ,0,true
    
    
    end if
    
    
    
    function getIP()
    	strComputer = "."
    	Set objWMIService = GetObject(_
    		"winmgmts:\\" & strComputer & "\root\cimv2")
    	Set colNetAdapters = objWMIService.ExecQuery("Select * From Win32_NetworkAdapter " _
    			& "Where NetConnectionID = " & _
    			"'Conexão Local'")
    
    	For Each objNetAdapter in colNetAdapters
    		strMACAddress = objNetAdapter.MACAddress
    	Next
    
    	Set colItems = objWMIService.ExecQuery("Select * From Win32_NetworkAdapterConfiguration where IPEnabled='True' and MacAddress='" & strMACAddress & "'")
    
    	For Each objItem in colItems
    		getIP = objItem.IPAddress(0)
    
    	Next
    end function
    



    Fábio de Paula Junior
    quarta-feira, 28 de dezembro de 2011 15:52
    Moderador
  • Boa noite Fábio,

    Testarei sim, aviso.

    Muito obrigado.

    quarta-feira, 28 de dezembro de 2011 22:58
  • Caro Fabio jr,

     

    Testei o script em um micro local com Windows 7, porem sem sucesso, sugestão?

    Muito Obrigado.

    domingo, 1 de janeiro de 2012 14:23
  • Como você fez o teste? Rodou com prompt elevado? (isto serve para validar se o script faz o que ele propôs -  alterar o tipo de endereçamento)

    O teste definitivo é voce colocar o script na diretiva de script de Start up em uma GPO. (Aqui resolve o seu problema - permissões)


    Fábio de Paula Junior

    terça-feira, 3 de janeiro de 2012 01:10
    Moderador
  • Caro Fábio,

     

    Rodei ele local no Windows 7, vou efetuar mais teste, comunico.

     

    Abraço.

    sexta-feira, 6 de janeiro de 2012 01:30