This guide explains how to replace a proxy **DNS hostname** (e.g.,`proxy.company.com`) with its **IP address** on Windows, using either the **GUI** or **PowerShell**.

This approach is useful in scenarios where:
- DNS resolution is blocked or unreliable
- Network latency or certificate trust issues affect performance
- Access must be restricted to specific IP addresses (egress control)

---

## Manual method (Internet Options)

1. Open **Control Panel** → **Internet Options**
2. Go to the **Connections** tab
3. Click **LAN Settings**
4. Under **Proxy server**, enable the checkbox:
   - Replace`proxy.company.com`with your proxy IP (e.g.,`192.168.1.10`)
   - Set the port (commonly`8080`)
5. Click **OK**, then **Apply**

This will apply to most applications that use the **WinINET** proxy stack (e.g., Internet Explorer, Microsoft Edge Legacy, Office apps).

---

## Scripted method (PowerShell)

Use this PowerShell script to configure both **WinHTTP** and **WinINET** proxy settings using an IP address:

```powershell
# Define proxy IP and port
$proxyIP = "http://192.168.1.10:8080"


# Configure proxy for WinHTTP (used by system services like Intune, Windows Update)
netsh winhttp set proxy $proxyIP ";$bypassList"

# Configure proxy for WinINET (used by most user apps and browsers)
$regPath = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
Set-ItemProperty -Path $regPath -Name ProxyEnable -Value 1
Set-ItemProperty -Path $regPath -Name ProxyServer -Value $proxyIP
Set-ItemProperty -Path $regPath -Name ProxyOverride -Value $bypassList
```