This guide explains how to replace a proxy **DNS hostname** (e.g.,`proxy.company.com`) with a **raw IP address** on Windows, both **manually** and **using PowerShell**.

This is helpful in environments where:
- DNS resolution is unreliable or blocked
- Certificate trust or network latency issues occur
- Explicit egress IP-based access control is needed

---

## Manual method (Internet Options)

1. Launch **Control Panel** → **Internet Options**.
2. Navigate 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"

# List of domains to bypass proxy
$bypassList = "localhost;127.0.0.1;*.microsoftonline.com;*.core.windows.net"

# 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
```