[VBS] [POWERSHELL] Intentando crear Script para cambiar IPs y DNS

Iniciado por Davigotchi, 27 Junio 2020, 20:33 PM

0 Miembros y 1 Visitante están viendo este tema.

Davigotchi

Buenas tardes a todos.
Estoy intentando crear un SCRIPT mediante VBS o POWERSHELL.

Lo he conseguido mediante un archivo BAT, pero tengo problemas con la elevación de privilegios (cosas del cmd.exe).

Por lo tanto lo que estoy intentado crear es un SCRIPT que se ejecute en un USUARIO SIN privilegios de ADMINISTRADOR para cambiar varios valores en IE11 (esto no es problema) y tras esto que modifique la IP, Puerta de enlace y las DNS.
Y otro SCRIPT para que lo deje todo en DHCP.

Todo ello sin que pida la contraseña del admin... en el archivo bat estaba realizándolo con "runas.exe"

Alguna idea¿?

Muchísimas gracias por adelantado.... estoy dándome por vencido... jajajaja


Davigotchi

#1
Estoy probando alguna cosa:

Código (vb) [Seleccionar]
Dim strIPAddress
Dim strSubnetMask
Dim strGateway
Dim intGatewayMetric
Dim strDns1
Dim strDns2
Dim strRed

strIPAddress = "1.2.3.4"
strSubnetMask = "255.255.255.0"
strGateway = "1.1.1.1"
intGatewayMetric = 1
strDns1 = "10.10.10.10"
strDns2 = "20.20.20.20"
strRed = "Ethernet"

Set objShell = WScript.CreateObject("Wscript.Shell")
objShell.Run "netsh interface ip set address name=""strRed"" static " & strIPAddress & " " & strSubnetMask & " " & strGateway & " " & intGatewayMetric, 0, True
objShell.Run "netsh interface ip set dns name=""strRed"" static "& strDns1, 0, True
objShell.Run "netsh interface ip add dns name=""strRed"" addr="& strDns2, 0, True
Set objShell = Nothing
WScript.Quit


En ello estoy ...  :-\

Davigotchi

Buenas tardes:
He modificado alguna cosa pero no me funciona.
Alguien me puede dar alguna idea¿?
Muuuchas gracias.

warcry.

no tengo mucha idea de VBS, el que pilotaba de eso era @Elecktro pero ya no esta en el foro.

name=""strRed"" static " & strIPAddress & "

yo en esa linea no me cuadran las comillas ¿por que strRed lleva doble comillas y strIPAddres solo unas


si te vale yo hice hace mucho tiempo un script en bat para eso.

@echo off
cls
echo =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
echo                      Warcry Static Ip Configuration
echo =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
echo.
SET /P red=Introduce el nombre del adaptador que quieres modificar:
echo.
SET /P ip=Introduce la ip estatica:
echo.
SET /P mask=Introduce la mascara de red:
echo.
SET /P getway=Introduce la puerta de enlace predeterminada:
echo.
echo Si quieres introducir servidores DNS pulsa 1
echo.
echo Si no quieres introducir servidores DNS pulsa 2
echo.

choice /C 12

if ERRORLEVEL 2 goto setup2
if ERRORLEVEL 1 goto setup1

:setup1
netsh interface ip set address "%red%" static %ip% %mask% %getway% 1
goto setup3

:setup2
netsh interface ip set address "%red%" static %ip% %mask% %getway% 1
goto setupDone

:setup3
echo.
SET /P dns1=Introduce la ip del primer dns:
echo.
SET /P dns2=Introduce la ip del segundo dns:
goto setup4

:setup4
echo.
echo Si en estos momentos no tiene conexion a internet, saldra un mensaje de error
echo pero el interface se quedara configurado con los dns introducidos.
echo.
echo.
echo.
echo Espere...
netsh interface ip set dns "%red%" static %dns1%
echo.
echo Espere...
netsh interface ip add dns "%red%" %dns2%
goto setupDone

:setupDone
echo.
echo.
echo Accion finalizada.
goto pauseit

:pauseit
echo.
echo.
echo              Saludos desde seguridadwireless.net
echo.
echo.
echo presiona cualquier tecla para salir

pause > nul

:end



Creo que lo pase a .exe porque había que ejecutar el bat como administrador, igual también puede ir por ahí los tiros si tu vbs no lo ejecutas como administrador.

HE SIDO BANEADO --- UN PLACER ---- SALUDOS

Davigotchi

Muuuchas gracias. Si señor, está muy bien el batch que has puesto.
Al final modifiqué algunos detalles del script que puse y me funciona sin problemas, aunque efectivamente hay que tener cuidado si no se tienen privilegios.
Gracias de nuevo :)