答案1
这是我现在使用的脚本并且它可以工作:
param(
$sPublicAdapterName,
$sPrivateAdapterName
)
if (!$sPrivateAdapterName) {
Write-Host "EnableSharing.ps1 sPublicAdapterName sPrivateAdapterName"
return
}#if
# Constants
$public = 0
$private = 1
Write-Host "Creating netshare object..."
$netshare = New-Object -ComObject HNetCfg.HNetShare
Write-Host "Getting public adapter..."
$publicadapter = $netshare.EnumEveryConnection | Where-Object {
$netshare.NetConnectionProps($_).Name -eq $sPublicAdapterName
}#foreach
Write-Host "Getting private adapter..."
$privateadapter = $netshare.EnumEveryConnection | Where-Object {
$netshare.NetConnectionProps($_).Name -eq $sPrivateAdapterName
}#foreach
Write-Host "Disabling and enabling public sharing for public adapter...."
$netshare.INetSharingConfigurationForINetConnection($publicadapter).DisableSharing()
$netshare.INetSharingConfigurationForINetConnection($publicadapter).EnableSharing($public)
$netshare.INetSharingConfigurationForINetConnection($publicadapter)
Write-Host "Disabling and enabling private sharing for private adapter...."
$netshare.INetSharingConfigurationForINetConnection($privateadapter).DisableSharing()
$netshare.INetSharingConfigurationForINetConnection($privateadapter).EnableSharing($private)
$netshare.INetSharingConfigurationForINetConnection($privateadapter)
# Clean up
Remove-Variable netshare
答案2
我也有同样的问题。
重启后,“Internet 连接共享”未启动,其启动状态设置为“手动(触发)”。但即使我手动启动它或将启动状态设置为“自动”,该服务也会启动并继续工作,但我的家庭网络无法访问 Internet,除非我在 WAN 接口上禁用并重新启用 ICS。
我通过全新安装 W10 build 1607 对此行为进行了三次检查,结果始终相同。我尝试了不同版本的网络适配器驱动程序 - Windows 更新的默认版本、英特尔网站的最新版本以及笔记本电脑制造商提供的最新驱动程序 - 问题仍然存在。
我还全新安装了 W10 build 1511,Internet 连接共享运行正常,直到我安装了周年更新。升级后,ICS 服务启动状态设置为“自动”,并在系统启动时启动,但我的家庭网络中的 Internet 访问直到禁用/重新启用 WAN 接口上的 ICS 才正常工作。
有趣的是 - Internet 连接共享在我的旧笔记本电脑上运行良好,该笔记本电脑装有 Windows 10 build 1607,但现在我卖掉了它,我无法找到配置差异来解决问题。我在一周前购买了当前的笔记本电脑(Dell Precison M4800)后才遇到此问题。但由于我尝试了干净的 Windows 安装和不同的驱动程序,因此我认为这不仅与我的电脑有关,尤其是因为还有其他人在周年更新后遇到了这个问题:
因此恢复到 Win10 build 1511 似乎是目前唯一的解决方案。
更新型多巴胺:这里有一个解决方法 - 您可以安排每次计算机启动时运行一个脚本,这将在所需的接口上禁用并重新启用 ICS。
您可以从这个线程中获取脚本:如何使用命令行启用 Internet 连接共享?
答案3
最新的官方的修复方法是在 Windows 注册表中创建以下条目:
Path: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedAccess
Type: DWORD
Setting: EnableRebootPersistConnection
Value: 1
官方描述中有一个稍微具有误导性的陈述:
此解决方案当前仅适用于安装了更新 KB 4054517 的 Windows 10 版本 1709。
但此修复程序在 Windows 10 版本 1903 内部版本 18362.657 上对我有效。
答案4
问题出在防火墙的高级设置中。单击“Windows 防火墙属性”,然后对于公共配置文件,入站连接设置为“阻止所有连接”而不是“阻止(默认)。将其设置为“阻止(默认)”。通过运行 ping 192.168.137.1 或您手动设置的任何 IP 来验证您的修复是否已在来宾计算机上完成。