¿Necesitas que personal de campo cambie de DHCP a IP estática (y viceversa) en Windows 10/11 sin ser administradores? Aquí tienes una guía práctica y segura basada en GPO/Intune, el grupo Network Configuration Operators y opciones con tareas programadas, lista para aplicar en dominios on‑prem con Windows Server 2012 o superior.
Resumen de la situación
Entorno típico: dominio on‑prem (controladores Windows Server 2012), portátiles/PCs con Windows 10/11 y usuarios de campo que necesitan alternar rápidamente la configuración IP entre DHCP y estática. Se probó agregar a los usuarios al grupo Network Configuration Operators (NCO) en el servidor, pero no funcionó.
Punto clave: la delegación de privilegios debe hacerse en cada equipo cliente, no en el servidor. Además, verifica que ninguna GPO restrinja la edición de propiedades de red y ofrece a los usuarios un método sencillo para ejecutar el cambio (panel clásico, netsh
, PowerShell o tareas programadas).
Arquitectura de permisos: ¿por qué no funcionó en el servidor?
El grupo NCO es local de cada Windows 10/11, no un grupo de Active Directory ni del controlador de dominio. Agregar usuarios al NCO del servidor no impacta a los clientes. Por eso, debes inyectar (vía GPO/Intune) el grupo de usuarios de dominio dentro del NCO local de cada PC objetivo.
Delegar correctamente en los equipos cliente
Agregar tu grupo de dominio al NCO local con GPO (recomendado)
- Abre GPMC (Group Policy Management Console).
- Crea o edita una GPO vinculada a la OU donde residen los equipos Windows 10/11.
- Ve a
Computer Configuration > Preferences > Control Panel Settings > Local Users and Groups
. - Menú New > Local Group.
- En Group name selecciona
Network Configuration Operators
. - Acción: Update (evita Replace para no sobrescribir miembros existentes).
- En Members, agrega el grupo de dominio que contiene a tus técnicos (ej.
DOMINIO\SoporteCampo
). - Aplica y vincula la GPO. Opcional: añade un WMI Filter para limitarla a Windows 10/11.
SELECT * FROM Win32_OperatingSystem WHERE (Version LIKE "10.%") OR (Version >= "10.0")
Tip: tras aplicar la GPO, los usuarios deben cerrar sesión y volver a iniciarla (o reiniciar) para que su token incluya el nuevo grupo.
Alternativas: Intune o scripts de inicio
- Intune (plantilla “Local users and groups”): crea una política que agregue
DOMINIO\SoporteCampo
al grupo localNetwork Configuration Operators
en cada dispositivo. - Script de inicio (GPO):
net localgroup "Network Configuration Operators" /add DOMINIO\SoporteCampo
PowerShell equivalente:Try { Add-LocalGroupMember -Group "Network Configuration Operators" -Member "DOMINIO\SoporteCampo" -ErrorAction Stop } Catch { Write-Output $_ }
Quita bloqueos de GPO que impiden editar la red
Revisa estas rutas y políticas en la GPO (o en cualquier GPO que aplique al usuario/equipo):
Ruta | Política | Estado recomendado |
---|---|---|
User Configuration > Administrative Templates > Network > Network Connections | Prohibit access to properties of a LAN connection | Disabled |
User Configuration > Administrative Templates > Network > Network Connections | Prohibit TCP/IP advanced configuration | Disabled |
User Configuration > Administrative Templates > Network > Network Connections | Ability to enable/disable a LAN connection | Not Configured o Enabled (permitir) |
Computer Configuration > Administrative Templates > Network > Network Connections | Prohibit installation and configuration of network bridges | Not Configured (según tu entorno) |
User/Computer Configuration > Administrative Templates > Control Panel | Prohibit access to Control Panel and PC settings | Disabled (o excepciones para red) |
Nota: En Windows 10/11, la app moderna Configuración puede mostrar límites o exigir elevación para ciertos cambios. El panel clásico y la consola suelen ofrecer mejor compatibilidad con NCO.
Confirma la pertenencia y la aplicación de políticas
- Comprueba los grupos del usuario:
whoami /groups
- Enumera miembros del NCO local:
net localgroup "Network Configuration Operators"
- Resumen de GPO aplicadas:
gpupdate /force gpresult /h C:\Temp\gp.html
Cómo cambiar la IP en Windows 10/11 sin ser administrador
Opción 1: Panel clásico (sin consola)
- Presiona Win + R y ejecuta
ncpa.cpl
. - Clic derecho sobre el adaptador (p. ej., Ethernet) > Propiedades.
- Selecciona Protocolo de Internet versión 4 (TCP/IPv4) > Propiedades.
- Elige Obtener una dirección IP automáticamente (DHCP) o define IP estática, máscara, gateway y DNS.
Opción 2: Consola con netsh
(permitida a NCO)
Antes, lista tus interfaces y toma nota del nombre exacto (puede no ser “Ethernet”):
netsh interface show interface
netsh interface ip show config
Volver a DHCP
netsh interface ip set address name="Ethernet" source=dhcp
netsh interface ip set dns name="Ethernet" source=dhcp
Configurar IP estática (ejemplo)
netsh interface ip set address name="Ethernet" static 192.168.10.50 255.255.255.0 192.168.10.1
netsh interface ip set dns name="Ethernet" static 192.168.10.10 primary
netsh interface ip add dns name="Ethernet" 192.168.10.11 index=2
Adapta name, IP/máscara/gateway y servidores DNS a tu sitio.
Opción 3: PowerShell (cmdlets modernos)
Consulta el alias exacto del adaptador:
Get-NetAdapter | Where-Object Status -eq Up | Select-Object Name, InterfaceDescription
DHCP
Set-NetIPInterface -InterfaceAlias "Ethernet" -Dhcp Enabled
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ResetServerAddresses
Estática (ejemplo)
# Elimina IPs previas IPv4 (opcional y con cuidado)
Get-NetIPAddress -InterfaceAlias "Ethernet" -AddressFamily IPv4 -ErrorAction SilentlyContinue `
| Remove-NetIPAddress -Confirm:$false -ErrorAction SilentlyContinue
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 192.168.10.50 -PrefixLength 24 -DefaultGateway 192.168.10.1
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses 192.168.10.10,192.168.10.11
Mapa rápido de comandos equivalentes
Acción | netsh | PowerShell |
---|---|---|
Listar interfaces | netsh interface show interface | Get-NetAdapter |
IP a DHCP | netsh interface ip set address name="X" source=dhcp | Set-NetIPInterface -InterfaceAlias "X" -Dhcp Enabled |
DNS a DHCP | netsh interface ip set dns name="X" source=dhcp | Set-DnsClientServerAddress -InterfaceAlias "X" -ResetServerAddresses |
IP estática | netsh interface ip set address name="X" static IP MASK GW | New-NetIPAddress -InterfaceAlias "X" -IPAddress IP -PrefixLength / -DefaultGateway GW |
DNS estático | netsh interface ip set/add dns name="X" ... | Set-DnsClientServerAddress -InterfaceAlias "X" -ServerAddresses ... |
Si NCO no basta en tu entorno: tareas programadas elevadas
En algunos escenarios (endpoints muy bloqueados, UI moderna, UAC agresivo), puede resultar más fiable exponer dos atajos que disparen tareas programadas con privilegios (como SYSTEM) que ejecuten los comandos de red. Así, el usuario no necesita ser admin ni aceptar UAC.
Crear las tareas programadas
- Abre Programador de tareas > crea una carpeta
\Red
. - Crea la tarea DHCP:
- Trigger: Sin desencadenador (on demand).
- Action:
cmd /c netsh interface ip set address name="Ethernet" source=dhcp && netsh interface ip set dns name="Ethernet" source=dhcp
- Run whether user is logged on or not: activado.
- Run with highest privileges: activado.
- User: SYSTEM.
- Duplica para la tarea Estática con tu bloque
netsh
correspondiente.
Permitir a un grupo ejecutar la tarea
Otorga al grupo (p. ej., DOMINIO\SoporteCampo
) permiso de lectura/ejecución sobre la carpeta y la(s) tarea(s) en C:\Windows\System32\Tasks\Red
:
icacls "C:\Windows\System32\Tasks\Red" /grant "DOMINIO\SoporteCampo":(OI)(CI)RX
icacls "C:\Windows\System32\Tasks\Red\DHCP" /grant "DOMINIO\SoporteCampo":RX
icacls "C:\Windows\System32\Tasks\Red\Estatica" /grant "DOMINIO\SoporteCampo":RX
Con eso, los usuarios pueden ejecutar:
schtasks /run /TN "\Red\DHCP"
schtasks /run /TN "\Red\Estatica"
O puedes entregarles accesos directos (.lnk) en el escritorio que llamen a esos comandos.
Consejo: define el nombre de interfaz como variable de entorno (o resuélvelo dinámicamente) si hay diferencias entre “Ethernet”, “Ethernet 2”, “LAN”, etc.
Alternativa para no tocar manualmente la IP: todo por DHCP
- Reservas DHCP: asigna la misma IP a un MAC concreto sin que el usuario cambie nada.
- Políticas DHCP por VLAN/ubicación: segmenta por relay agent info, VLAN o clases de proveedor para que el servidor entregue el rango adecuado en cada sitio.
- DNS dinámico: combinado con reservas, mantiene el nombre de equipo siempre resuelto.
Beneficio: menos llamadas al soporte y menos riesgo de errores humanos.
Solución de problemas (troubleshooting)
- El usuario sigue sin poder modificar IP: confirma que ahora su token incluye el NCO (cierre de sesión). Valida con
whoami /groups
y revisagpresult
. - La app “Configuración” pide admin: usa
ncpa.cpl
o los comandos. La UI clásica respeta mejor NCO. - Nombre de interfaz incorrecto: enumera con
netsh interface show interface
oGet-NetAdapter
. - Política bloquea propiedades: revisa las GPO de Network Connections listadas arriba.
- RDP se cae al cambiar IP: es normal al sustituir gateway o DNS. Ejecuta cambios de forma local o vía tarea programada para reaplicar ajustes sin perder control remoto.
- IPv6: si está habilitado y usas solo IPv4, asegúrate de no confundir interfaces o direcciones. Puedes consultar con
Get-NetIPAddress -AddressFamily IPv6
. - VPNs/adaptadores virtuales: identifica el adaptador físico correcto; evita tocar TAP o vEthernet.
- UAC/MFA: si aun así salta UAC, usa la vía de tareas programadas o revisa que no existan herramientas de hardening que desestimen NCO.
Buenas prácticas de seguridad
- Principio de privilegio mínimo: NCO otorga solo lo necesario para configurar red (no instala drivers ni modifica el sistema en general).
- Auditoría: activa Security Event Log y/o Task Scheduler Operational para registrar ejecuciones de scripts.
- Firmado de scripts: si distribuyes PowerShell, firma los archivos y limita su ejecución por políticas (AllSigned en equipos gestionados).
- Separación por grupos: crea un grupo de AD específico (p. ej.,
GGSoporteIP
) en lugar de añadir usuarios sueltos a NCO.
Checklist rápido
- [ ] Agregar el grupo del dominio al NCO local de cada PC (GPO/Intune).
- [ ] Revisar/ajustar GPOs que bloquean propiedades de red.
- [ ] Proveer un método de cambio (panel clásico,
netsh
/PowerShell, o tarea programada). - [ ] Probar con un usuario real y validar con
whoami /groups
ygpresult
.
Ejemplos listos para copiar
Batch: volver a DHCP
@echo off
set IFACE=Ethernet
netsh interface ip set address name="%IFACE%" source=dhcp
netsh interface ip set dns name="%IFACE%" source=dhcp
ipconfig /flushdns
echo Hecho. Prueba conectividad: ping 8.8.8.8
Batch: configurar estática (plantilla)
@echo off
set IFACE=Ethernet
set IP=192.168.10.50
set MASK=255.255.255.0
set GW=192.168.10.1
set DNS1=192.168.10.10
set DNS2=192.168.10.11
netsh interface ip set address name="%IFACE%" static %IP% %MASK% %GW%
netsh interface ip set dns name="%IFACE%" static %DNS1% primary
netsh interface ip add dns name="%IFACE%" %DNS2% index=2
ipconfig /flushdns
echo IP fija aplicada en %IFACE%.
PowerShell: función conmutador DHCP/Estática
function Set-NicProfile {
param(
[Parameter(Mandatory=$true)][ValidateSet("DHCP","Static")]$Mode,
[string]$InterfaceAlias = "Ethernet",
[string]$IPAddress, [int]$PrefixLength, [string]$Gateway,
[string[]]$Dns = @()
)
if ($Mode -eq "DHCP") {
Set-NetIPInterface -InterfaceAlias $InterfaceAlias -Dhcp Enabled
Set-DnsClientServerAddress -InterfaceAlias $InterfaceAlias -ResetServerAddresses
} else {
if (-not ($IPAddress -and $PrefixLength -and $Gateway -and $Dns.Count -ge 1)) {
throw "Faltan parámetros para estática."
}
# Opcional: retira entradas IPv4 previas
Get-NetIPAddress -InterfaceAlias $InterfaceAlias -AddressFamily IPv4 -ErrorAction SilentlyContinue `
| Remove-NetIPAddress -Confirm:$false -ErrorAction SilentlyContinue```
New-NetIPAddress -InterfaceAlias $InterfaceAlias -IPAddress $IPAddress -PrefixLength $PrefixLength -DefaultGateway $Gateway
Set-DnsClientServerAddress -InterfaceAlias $InterfaceAlias -ServerAddresses $Dns
}
```
}
Ejemplos:
Set-NicProfile -Mode DHCP -InterfaceAlias "Ethernet"
Set-NicProfile -Mode Static -InterfaceAlias "Ethernet" -IPAddress 192.168.10.50 -PrefixLength 24 -Gateway 192.168.10.1 -Dns 192.168.10.10,192.168.10.11
Preguntas frecuentes
¿NCO permite instalar controladores de red? No. NCO habilita tareas de configuración (IP/DNS/activar-desactivar interfaz), no la instalación de drivers ni cambios de alto impacto en el sistema.
¿Funcionará con la app “Configuración” de Windows? A veces esa UI solicita elevación. El panel clásico (ncpa.cpl
) y los comandos netsh
/PowerShell son los caminos más consistentes con NCO.
¿Necesito reiniciar para que se apliquen los permisos? No suele ser necesario reiniciar el equipo, pero sí cerrar sesión y volver a iniciarla para que el usuario obtenga el nuevo token con NCO.
¿Puedo limitar los cambios a una sola interfaz? Sí. En lugar de dar libertad total, entrega scripts/tareas que actúen solo sobre un alias concreto (por ejemplo “LAN‑Campo”).
¿Y si el usuario está remoto por VPN? Cambiar IP puede cortar la sesión. Recomienda realizarlo localmente o vía tareas programadas que se ejecuten como SYSTEM y muestren un mensaje de finalización.
¿Mejor DHCP con reservas? Sí. Es la opción más robusta: reduce errores y llamadas de soporte. Usa reservas y políticas de DHCP cuando sea posible.
Caso práctico de inicio a fin
- Creas un grupo de AD
GGSoporteIP
y añades a tus técnicos. - GPO de equipos: Local Users and Groups > NCO > Update > agregas
DOMINIO\GGSoporteIP
. - Desbloqueas las políticas que impiden propiedades de red.
- Distribuyes dos accesos directos en el escritorio:
- Volver a DHCP:
cmd /c schtasks /run /TN "\Red\DHCP"
(o un .cmd connetsh
). - Fijar estática:
cmd /c schtasks /run /TN "\Red\Estatica"
.
- Volver a DHCP:
- Validas con un usuario real:
whoami /groups
,net localgroup
, pruebas de conectividad ygpresult
.
Resumen ejecutivo
Para permitir que usuarios de campo alternen entre DHCP y estática en Windows 10/11 sin darles admin:
- Agrega su grupo de AD al Network Configuration Operators local de cada equipo (vía GPO/Intune).
- Elimina GPOs que bloqueen propiedades de red.
- Proporciona un flujo práctico: panel clásico, scripts
netsh
/PowerShell, o tareas programadas elevadas. - Si es viable, migra a DHCP con reservas y políticas para automatizar la asignación.
Con este enfoque, tus usuarios alternarán la IP de forma controlada, repetible y segura, y el equipo de TI mantendrá el gobierno del endpoint sin elevar privilegios innecesarios.
Apéndice: comandos de validación rápidos
:: ¿El usuario ya pertenece al NCO local?
whoami /groups | findstr /I "Network"
net localgroup "Network Configuration Operators"
\:: ¿Qué GPOs aplican al equipo/usuario?
gpresult /r
gpresult /h C:\Temp\gp.html
\:: ¿Cuál es el alias real del adaptador?
netsh interface show interface
Get-NetAdapter | Where Status -eq Up
Apéndice: ejemplo de creación por línea de comandos de tareas (opcional)
REM Carpeta y tarea DHCP
schtasks /Create /TN "\Red\DHCP" /SC ONCE /ST 00:00 /RL HIGHEST /RU "SYSTEM" ^
/TR "cmd /c netsh interface ip set address name=""Ethernet"" source=dhcp & netsh interface ip set dns name=""Ethernet"" source=dhcp" /F
REM Tarea Estática (ajusta IP/DNS)
schtasks /Create /TN "\Red\Estatica" /SC ONCE /ST 00:00 /RL HIGHEST /RU "SYSTEM" ^
/TR "cmd /c netsh interface ip set address name=""Ethernet"" static 192.168.10.50 255.255.255.0 192.168.10.1 & netsh interface ip set dns name=""Ethernet"" static 192.168.10.10 primary & netsh interface ip add dns name=""Ethernet"" 192.168.10.11 index=2" /F
REM Permisos para que un grupo pueda ejecutarlas
icacls "C:\Windows\System32\Tasks\Red" /grant "DOMINIO\SoporteCampo":(OI)(CI)RX
icacls "C:\Windows\System32\Tasks\Red\DHCP" /grant "DOMINIO\SoporteCampo"\:RX
icacls "C:\Windows\System32\Tasks\Red\Estatica" /grant "DOMINIO\SoporteCampo"\:RX
Con esto, tus usuarios podrán alternar entre DHCP y estática en Windows 10/11 sin privilegios de administrador y sin comprometer la seguridad del equipo.