Как включить общий доступ к интернету через скрипт

У меня есть два порта NIC (port1 & port2) в моей машине Windows. Я хочу включить опцию общего доступа к интернет-соединению на port1 через любой скрипт (предпочтительнее C# или batch). Я гуглил и смог узнать только как запустить службу ICS, но не включить эту опцию. Я дал изображение для справки.

1 ответ

На более ранних ОС у нас был пакетный метод netsh routing но это больше не работает в W7. Посмотрите на этот фрагмент PowerShell и посмотрите, может ли он помочь. В противном случае, я держу пари, что где-то в stackoverflow это пример C#.

# Register the HNetCfg library (once)
regsvr32 hnetcfg.dll

# Create a NetSharingManager object
$m = New-Object -ComObject HNetCfg.HNetShare

# List connections
$m.EnumEveryConnection |% { $m.NetConnectionProps.Invoke($_) }

# Find connection
$c = $m.EnumEveryConnection |? { $m.NetConnectionProps.Invoke($_).Name -eq "Ethernet" }

# Get sharing configuration
$config = $m.INetSharingConfigurationForINetConnection.Invoke($c)

# See if sharing is enabled
Write-Output $config.SharingEnabled

# See the role of connection in sharing
# 0 - public, 1 - private
# Only meaningful if SharingEnabled is True
Write-Output $config.SharingType

# Enable sharing (0 - public, 1 - private)
$config.EnableSharing(0)

# Disable sharing
$config.DisableSharing()

http://earthwithsun.com/questions/470319/how-to-enable-internet-connection-sharing-using-command-line

Как включить общий доступ к подключению к Интернету с помощью командной строки?

Другие вопросы по тегам