PowerShell 脚本在 Windows 操作系统中同时连接外网和内网
要使用 PowerShell 设置允许同时连接内外网的组策略,可以使用以下脚本:
powershell
设置允许同时连接内外网的组策略
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WcmSvc\GroupPolicy" -Name "fSoftDisconnectConnections" -Value 0
此脚本将会在注册表中设置 HKLM\SOFTWARE\Policies\Microsoft\Windows\WcmSvc\GroupPolicy 下的 fSoftDisconnectConnections 值为 0,表示允许同时连接内外网。
请注意以管理员权限运行 PowerShell 脚本。这将确保你具备足够的权限来修改注册表项。
要通过 PowerShell 脚本在 Windows 操作系统中同时连接外网和内网,可以使用以下脚本:
powershell
获取内网网卡的接口索引
$internalInterfaceIndex = Get-NetAdapter | Where-Object { $_.InterfaceAlias -eq "<内网网卡别名>" } | Select-Object -ExpandProperty ifIndex
获取外网网卡的默认网关
$externalGateway = (Get-NetIPConfiguration | Where-Object { $_.InterfaceAlias -eq "<外网网卡别名>" }).IPv4DefaultGateway
清除默认路由
Clear-NetRoute -DestinationPrefix 0.0.0.0/0 -InterfaceIndex $internalInterfaceIndex -Confirm:$false
添加外网网卡的默认路由
New-NetRoute -DestinationPrefix 0.0.0.0/0 -NextHop $externalGateway -InterfaceIndex $externalInterfaceIndex
设置内网网卡优先级为最高
Set-NetIPInterface -InterfaceIndex $internalInterfaceIndex -InterfaceMetric 1
请将 <内网网卡别名> 和 <外网网卡别名> 替换为实际的内网网卡和外网网卡的别名。可以使用 Get-NetAdapter 命令查看所有可用的网卡别名。
运行以上 PowerShell 脚本后,Windows 操作系统将会同时连接外网和内网。脚本会清除默认路由,并添加外网网卡的默认路由。另外,还会将内网网卡的优先级设置为最高,以确保流量优先通过内网网卡。
请注意,以管理员权限运行 PowerShell 脚本。同时,注意替换为实际的网卡别名,并根据需要进行适当的调整。
通过批处理脚本实现在 Windows 操作系统中同时连接外网和内网,你可以使用以下脚本:
Copy Code
@echo off
REM 启用同时连接内外网功能
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WcmSvc\GroupPolicy" /v fSoftDisconnectConnections /t REG_DWORD /d 0 /f
REM 清除默认网关
route delete 0.0.0.0
REM 添加外网网卡的默认网关
route add 0.0.0.0 mask 0.0.0.0 <外网网卡的默认网关IP>
REM 刷新组策略
gpupdate /force
请将 <外网网卡的默认网关IP> 替换为外网网卡的默认网关的实际 IP 地址。请以管理员权限运行此批处理脚本。
脚本将使用注册表设置启用同时连接内外网功能,并清除默认网关,然后添加外网网卡的默认网关作为新的默认路由。最后,使用 gpupdate /force 命令刷新组策略以使更改生效。
执行以上脚本后,Windows 操作系统将同时连接外网和内网,并根据添加的默认网关路由来实现流量的正确转发。