Internet Connection Sharing (ICS) Service ใน Windows อนุญาตให้ Share Internet Connection บนคอมพิวเตอร์ของคุณกับอุปกรณ์อื่นใน Local Network (ผ่าน Wi-Fi หรือ Ethernet) สิ่งนี้ทำให้คอมพิวเตอร์ทุกเครื่องบน Local Network เข้าถึงอินเทอร์เน็ตผ่าน Internet Connection บนคอมพิวเตอร์เครื่องเดียว (คอมพิวเตอร์อาจเชื่อมต่ออินเทอร์เน็ตผ่าน 5G/4G/LTE Modem, Direct Cable Connection ผ่าน Adapter ตัวที่สอง, Satellite Connection, PPPoE, VPN เป็นต้น) ในกรณีนี้ Windows Computer นี้ที่มี Network Interfaces 2 ตัวเชื่อมต่อกับ Networks ที่ต่างกัน จะเป็น Network Gateway ให้อุปกรณ์อื่นๆ ICS เป็น Built-in Windows Service ที่ให้ Network Connection Sharing, Address Translation (NAT), และ DHCP Server Functionality
คุณยังสามารถใช้ ICS เพื่อเปลี่ยน Windows 10 Device ของคุณเป็น Mobile Hotspot ได้
คุณสามารถ Enable Shared Access ไปยัง Network Connection ใน Windows ได้ใน Properties ของ Network Adapter (Sharing Tab -> Internet Connection Sharing -> Allow other network users to connect through this computer's Internet connection)

มีข้อเสียหนึ่งใน Windows 10 Builds สุดใหม่: หากคอมพิวเตอร์ที่มี Shared Network Connection ถูก Restart คอมพิวเตอร์อื่นใน Local LAN/Wi-Fi Network จะสูญเสีย Internet Access
เหตุผลคือใน Windows 10 Builds สุดใหม่ Internet Connection Sharing Service ถูก Disable ใน 4 นาที และไม่ Restart อัตโนมัติหากไม่มี Traffic ผ่าน Shared Connection เพื่อกู้คืน Shared Internet Access คุณต้อง Uncheck และ Check ตัวเลือก Shared Access ใน Properties ของ Network Adapter ที่ Windows ใช้เชื่อมต่ออินเทอร์เน็ต
เพื่อให้ Internet Connection Sharing เริ่มต้นอัตโนมัติหลัง Restart Windows 10 ให้ Enable DWORD Registry Parameter EnableRebootPersistConnection ค่า 1 ใน Reg Key HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedAccess
ง่ายกว่าคือสร้าง Registry Parameter ด้วย PowerShell Command นี้:
New-ItemProperty -Path HKLM:\Software\Microsoft\Windows\CurrentVersion\SharedAccess -Name EnableRebootPersistConnection -Value 1 -PropertyType dword

จากนั้นตั้งค่า Automatic Startup สำหรับ Internet Connection Sharing Service (SharedAccess) คุณสามารถเปลี่ยน Startup Type จาก Manual เป็น Automatic ใน services.msc หรือใช้ PowerShell:
Set-Service SharedAccess –startuptype automatic –passthru
Start Service:
Start-Service SharedAccess

คุณยังสามารถใช้ PowerShell Script ต่อไปนี้เพื่อหา Network Connections ทั้งหมดที่มี Shared Internet Access บน Computer Disable Shared Access และ Enable ใหม่อีกครั้ง
$NetShareObject = New-Object -ComObject HNetCfg.HNetShare
$list = New-Object System.Collections.Generic.List[System.Object]
foreach( $connection in $NetShareObject.EnumEveryConnection ){
$config = $NetShareObject.INetSharingConfigurationForINetConnection( $connection )
if( $config.SharingEnabled -eq 1 ){
$type = $config.SharingConnectionType
$list.Add( @($type,$config) )
$config.DisableSharing( )
}
}
Start-Sleep 1
foreach( $array in $list ){
$array[1].EnableSharing($array[0])
}
คุณสามารถรัน PowerShell Script อัตโนมัติโดยใช้ Windows Task Scheduler ตอน Computer Startup