Patoshi パトシ Asked: 2019-10-04 08:19:31 +0800 CST2019-10-04 08:19:31 +0800 CST 2019-10-04 08:19:31 +0800 CST 以非管理员身份在 Windows 10 上运行 Wireguard 的问题 - “UI 只能从内置管理员的桌面访问” 772 以非管理员身份运行时出现以下错误: WireGuard 正在运行,但 UI 只能从内置管理员的桌面访问 如何启用 win10 的wireguard 以仅与普通用户一起使用? windows-10 networking 5 个回答 Voted uEv340yQ3gU1 2021-07-07T09:07:25+08:002021-07-07T09:07:25+08:00 正如之前的解决方案和评论所指出的那样,无法激活wireguard (WG) 隧道——该操作需要某种特权提升。 到目前为止提到的解决方案有一些缺点,至少在我的用例中是这样。为了完整起见,我将列出所有提到的解决方案并添加我的。 正常WG安装,切换到管理员用户激活Wireguard,然后切换回来。 Pro:管理员用户可以访问 WG GUI 的所有功能 缺点:切换用户需要时间和点击次数 正常 WG 安装,添加HKLM\Software\WireGuard\LimitedOperatorUI注册表项并将用户添加到Network Configuration Operators组 请参阅WG 注册表项文档 专业版:WG GUI 可访问 缺点:注册表混乱,GUI 功能严重受限,权限提升提示混乱 最后一点需要澄清:当作为普通的非特权用户工作时,Windows 出于多种原因要求提升权限,并且需要定期输入/管理员密码。这非常简单,因为默认选择了管理员帐户,并且可以快速输入密码。然而,作为 NCO 组的一部分,用户在操作系统眼中是一种管理员,因此每个提升提示将默认提供当前NCO 用户 - 现在为了输入真正管理员的密码,这是必要的首先选择另一个用户。在最初几次需要特权提升之后,这很快就会变得烦人。 企业 WG 安装无需启动管理 GUI,从快捷方式启动/停止 WG 隧道以管理员身份运行 优点:没有 GUI,没有 WG 后台服务,用户真的很正常 缺点:没有图形用户界面 请参阅企业使用文档。 简单来说: 下载WG MSI 安装程序(而不是 .exe) 在管理员命令提示符下,运行msiexec /i <installer filename>.msi DO_NOT_LAUNCH=1 为 WG 创建桌面快捷方式: 从命令开始wireguard /installtunnelservice <path to conf>.conf 使用命令 `wireguard /uninstalltunnelservice停止 勾选run as Administrator两个快捷方式 可以使用 wg.exe 检查隧道状态 Best Answer patrick fogarty 2020-02-25T11:26:22+08:002020-02-25T11:26:22+08:00 目前,在 Windows 上,您的要求是不可能的。 与其他 VPN 工具和技术不同,Wireguard 客户端会在您尝试连接时为您配置的每个连接创建一个隧道接口(显示为网络适配器),也就是“即时”。当您终止连接时,客户端会完全删除隧道接口。它在 Windows 的官方 VPN 管道之外执行此操作。这种设计有一个严重的限制,你需要成为机器的管理员,这样软件才能创建界面。 我在 Windows、Mac 和 Linux 上使用 Wireguard。Windows 是我遇到此问题的唯一平台。此外,我只使用 Wireguard 的官方客户端(撰写本文时版本为 0.38)。我不知道是否还有其他人。 Patoshi パトシ 2020-11-27T02:50:13+08:002020-11-27T02:50:13+08:00 Wireguard 3.1+ 现在支持非管理员运行 wireguard,但您需要做一些小的修改: https://lore.kernel.org/wireguard/[email protected]/T/#u 安装wireguard 3.1+ 将您的用户添加到“网络运营商组”。以管理员身份打开资源管理器右键单击“我的电脑”>“管理”>“用户/组”>“网络运营商组” 向注册表添加一个条目。Windows 键 + R > regedit > 创建密钥 HKLM\SOFTWARE\WireGuard,然后在 HKLM\SOFTWARE\WireGuard\LimitedOperatorUI 创建一个 DWORD 并将其设置为 1 注销并重新登录。 运行线卫 TurboGraphxBeige 2022-06-24T10:03:20+08:002022-06-24T10:03:20+08:00 您无法以普通用户身份打开 UI。但是,有一种方法可以让 Wireguard 与 Windows 10 中的普通用户一起工作,使用户能够自由启动和停止 Wireguard 隧道。 由于 Wireguard 在 Windows 中作为服务运行,因此您可以更改该服务的权限,而无需授予用户超出其所需权限的权限。 使用管理员帐户和 GUI 在机器上配置 Wireguard 隧道,然后启动隧道 打开命令提示符并更改服务的权限 sc.exe sdset WireGuardTunnel$NameOfTheTunnel "D:AR(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWRPWPDTLOCRRC;;;WD)(A;;CCLCSWLOCRRC;;;IU )S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)" 然后,您可以使用这些命令启动和停止隧道。此时不要使用 GUI 启动/停止 sc 停止 WireGuardTunnel$NameOfTheTunnel sc 开始 WireGuardTunnel$NameOfTheTunnel 为每个命令创建一个批处理文件,例如 WireguardON.bat 和 WiregaurdOFF.bat 并将它们放在客户端可以访问的位置(在其桌面或其他地方) 注销并使用用户帐户重新登录。即使在重新启动后,它也应该能够启动和停止服务。 Mariyam Khokar 2021-11-15T03:16:19+08:002021-11-15T03:16:19+08:00 如果您将其添加到网络运营商组,用户将能够更改 IP 地址、更改适配器和修改网络设置,这最终可能会危及网络。如果还有其他可能,请留言。
正如之前的解决方案和评论所指出的那样,无法激活wireguard (WG) 隧道——该操作需要某种特权提升。
到目前为止提到的解决方案有一些缺点,至少在我的用例中是这样。为了完整起见,我将列出所有提到的解决方案并添加我的。
正常WG安装,切换到管理员用户激活Wireguard,然后切换回来。
正常 WG 安装,添加
HKLM\Software\WireGuard\LimitedOperatorUI
注册表项并将用户添加到Network Configuration Operators
组请参阅WG 注册表项文档
最后一点需要澄清:当作为普通的非特权用户工作时,Windows 出于多种原因要求提升权限,并且需要定期输入/管理员密码。这非常简单,因为默认选择了管理员帐户,并且可以快速输入密码。然而,作为 NCO 组的一部分,用户在操作系统眼中是一种管理员,因此每个提升提示将默认提供当前NCO 用户 - 现在为了输入真正管理员的密码,这是必要的首先选择另一个用户。在最初几次需要特权提升之后,这很快就会变得烦人。
企业 WG 安装无需启动管理 GUI,从快捷方式启动/停止 WG 隧道以管理员身份运行
请参阅企业使用文档。
简单来说:
msiexec /i <installer filename>.msi DO_NOT_LAUNCH=1
wireguard /installtunnelservice <path to conf>.conf
run as Administrator
两个快捷方式可以使用 wg.exe 检查隧道状态
目前,在 Windows 上,您的要求是不可能的。
与其他 VPN 工具和技术不同,Wireguard 客户端会在您尝试连接时为您配置的每个连接创建一个隧道接口(显示为网络适配器),也就是“即时”。当您终止连接时,客户端会完全删除隧道接口。它在 Windows 的官方 VPN 管道之外执行此操作。这种设计有一个严重的限制,你需要成为机器的管理员,这样软件才能创建界面。
我在 Windows、Mac 和 Linux 上使用 Wireguard。Windows 是我遇到此问题的唯一平台。此外,我只使用 Wireguard 的官方客户端(撰写本文时版本为 0.38)。我不知道是否还有其他人。
Wireguard 3.1+ 现在支持非管理员运行 wireguard,但您需要做一些小的修改:
https://lore.kernel.org/wireguard/[email protected]/T/#u
您无法以普通用户身份打开 UI。但是,有一种方法可以让 Wireguard 与 Windows 10 中的普通用户一起工作,使用户能够自由启动和停止 Wireguard 隧道。
由于 Wireguard 在 Windows 中作为服务运行,因此您可以更改该服务的权限,而无需授予用户超出其所需权限的权限。
使用管理员帐户和 GUI 在机器上配置 Wireguard 隧道,然后启动隧道
打开命令提示符并更改服务的权限
sc.exe sdset WireGuardTunnel$NameOfTheTunnel "D:AR(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWRPWPDTLOCRRC;;;WD)(A;;CCLCSWLOCRRC;;;IU )S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
然后,您可以使用这些命令启动和停止隧道。此时不要使用 GUI 启动/停止
sc 停止 WireGuardTunnel$NameOfTheTunnel
sc 开始 WireGuardTunnel$NameOfTheTunnel
为每个命令创建一个批处理文件,例如 WireguardON.bat 和 WiregaurdOFF.bat 并将它们放在客户端可以访问的位置(在其桌面或其他地方)
注销并使用用户帐户重新登录。即使在重新启动后,它也应该能够启动和停止服务。
如果您将其添加到网络运营商组,用户将能够更改 IP 地址、更改适配器和修改网络设置,这最终可能会危及网络。如果还有其他可能,请留言。