HOWTO: 使用 Intune 发布管理员控制的 SSO 设置
![]()
HOWTO: 使用 Intune 发布管理员控制的 SSO 设置
在 2023 年 11月发布的更新(KB5032288)中,微软加入了确保欧洲经济区(EEA)遵守《数字市场法案》(DMA)的解决方案,旨在确保位于该区域的用户在使用 MSA 或 EntraID 登录 Windows 后启用第一个应用程序或服务时将提示用户是否愿意使用登录 Windows 的账号来登录这些应用或服务,从而限制了 Windows 单点登录(SSO),这一举措从 2024年1月开始推广至2024年3月全面推广。
EEA 区域包括了:奥地利、比利时、保加利亚、克罗地亚、塞浦路斯共和国、捷克共和国、丹麦、爱沙尼亚、芬兰、法国、德国、希腊、匈牙利、爱尔兰、意大利、拉脱维亚、立陶宛、卢森堡、马耳他、荷兰、波兰、葡萄牙、罗马尼亚、斯洛伐克、斯洛文尼亚、西班牙、瑞典、冰岛、列支敦士登和挪威。 EEA 区内共有 30 个国家。注意,由于英国退出欧盟,自 2021 年起不再是 EEA 成员国。
虽然该措施不影响中国用户,但对于正在出海的中国企业来说会有一些影响。好消息是!自 2026年7月发布的 KB5101650 更新允许管理员来配置受托管的终端是否自动接受 SSO 权限。但是会有一些前置条件:
- 范围:仅适用于拥有 EntraID 账户的 Windows 托管企业设备
- 不支持个人账户 - MSA
- 不支持非托管设备
- 支持的操作系统:Windows 11 24H2 和 25H2 含 KB5101650
要实现自动接受受管理设备的 SSO 权限,只需要修改注册表:
- HKLM\SOFTWARE\Policies\Microsoft\Windows\AAD
- AutoAcceptSsoPermission
- DWORD
- 1
该配置可以通过 GPO 等支持注册表策略部署的管理工具进行设置,对于在使用 Intune 的组织可以通过下发面向设备的 PowerShell 脚本,脚本内容参考如下:
$Path = "HKLM:\SOFTWARE\Policies\MicrosoftWindows\AAD"
if (-not (Test-Path $Path)) { New-Item -Path $Path -Force | Out-Null }
New-ItemProperty `
-Path $Path `
-Name "AutoAcceptSsoPermission" `
-PropertyType DWord `
-Value 1 `
-Force | Out-Null
对于网上流传的通过 OMA-URI 方式配置注册表的方法,经测试当前并不可行,所以放弃 ./Device/Vendor/MSFT/Registry 这个方式吧!
HOWTO: 通过 Intune 管理 WSL 和 WSLC
![]()
![]()
HOWTO: 通过 Intune 管理 WSL 和 WSLC
前端时间 gOxiA 与大家分享了 WSLC (WSL 容器)相关的内容 - 微软 WSL 容器发布预览版,从 WSL 2.9.3 Pre-Release 开始可以使用 WSLC 命令处理容器事务,如果你还没有开始体验,可通过 wsl --update --pre-release 获取预览版。相信你也会发自内心的感谢微软伟大的产品开发团队!
![]()
对于组织用户可能迫切需要统一管理 WSL/WSLC,并进行颗粒化的配置。WSL 的项目网站提供了 WSL ADMX,IT 管理员可以使用这个管理模板进行预管理和配置。如果当前组织正在使用 Intune,也不是问题!因为 Intune 已经支持导入 ADMX。
登录 Intune 管理中心,转到“设备 - Windows - 配置”,选择“导入 ADMX”。
在“导入 ADMX”页面点击“导入”,上传“ADMX 文件”和“默认语言的 ADML 文件”即可。
如果导入失败,如下图所示,则根据提示先导入 WSL ADMX 依赖的 Windows ADMX,然后重新尝试上传导入 WSL ADMX。
WSL ADMX 导入成功后,我们即可通过创建 CSP 来预先管理和配置 WSL/WSLC。以下 CSP 配置全部属于 WSL 命名空间,最终在 Intune 中会以:./Vendor/MSFT/Policy/Config/WSL/<PolicyName> 的形式出现。
EnableWSL(启用或禁用 WSL)
CSP 路径: ./Vendor/MSFT/Policy/Config/WSL/EnableWSL
值: 0 = 禁用 WSL 1 = 启用 WSL
DefaultVersion(默认 WSL 版本)
控制默认使用 WSL 1 或 WSL 2。
CSP 路径: ./Vendor/MSFT/Policy/Config/WSL/DefaultVersion
值: 1 = WSL 1 2 = WSL 2
EnableInterop(启用 Windows ↔ Linux 互操作)
控制是否允许 WSL 调用 Windows 程序、Windows 调用 Linux 程序。
CSP 路径: ./Vendor/MSFT/Policy/Config/WSL/EnableInterop
值: 0 = 禁用互操作 1 = 启用互操作
EnableDriveMounting(启用自动挂载 Windows 盘符)
控制 WSL 是否自动挂载 C:、D: 等。
CSP 路径: ./Vendor/MSFT/Policy/Config/WSL/EnableDriveMounting
值: 0 = 禁用自动挂载 1 = 启用自动挂载
EnableNetwork(启用 WSL 网络集成)
控制 WSL 是否使用 Windows 网络堆栈。
CSP 路径: ./Vendor/MSFT/Policy/Config/WSL/EnableNetwork
值: 0 = 禁用网络 1 = 启用网络
EnableFirewall(启用 WSL 防火墙例外)
控制是否允许 WSL 网络流量通过 Windows 防火墙。
CSP 路径: ./Vendor/MSFT/Policy/Config/WSL/EnableFirewall
值: 0 = 禁用例外 1 = 启用例外
EnableContainer(启用 WSL Container)
控制是否允许 WSL Container 功能。
CSP 路径: ./Vendor/MSFT/Policy/Config/WSL/EnableContainer
值: 0 = 禁用 1 = 启用
ContainerNetworkingMode(WSL 容器网络模式)
控制容器网络行为。
CSP 路径: ./Vendor/MSFT/Policy/Config/WSL/ContainerNetworkingMode
值: 0 = NAT 1 = Bridge 2 = None
ContainerCpuLimit(容器 CPU 限制)
限制容器 CPU 使用。
CSP 路径: ./Vendor/MSFT/Policy/Config/WSL/ContainerCpuLimit
值:数字(百分比或核心数)
ContainerMemoryLimit(容器内存限制)
限制容器内存使用。
CSP 路径: ./Vendor/MSFT/Policy/Config/WSL/ContainerMemoryLimit
值:数字(MB)
AllowedDistros(允许的发行版列表)
限制用户可安装的 Linux 发行版。
CSP 路径: ./Vendor/MSFT/Policy/Config/WSL/AllowedDistros
值:发行版名称列表(例如:Ubuntu;Debian;Alpine)
EnableLogging(启用 WSL 日志)
控制是否记录 WSL 日志。
CSP 路径: ./Vendor/MSFT/Policy/Config/WSL/EnableLogging
值: 0 = 禁用 1 = 启用
DebugMode(WSL 调试模式)
启用额外调试输出。
CSP 路径: ./Vendor/MSFT/Policy/Config/WSL/DebugMode
值: 0 = 禁用 1 = 启用
EnterpriseMode(企业模式)
启用企业级限制。
CSP 路径: ./Vendor/MSFT/Policy/Config/WSL/EnterpriseMode
值: 0 = 禁用 1 = 启用
GraphIntegration(Graph API 集成)
控制是否允许 WSL 与企业 Graph API 集成。
CSP 路径: ./Vendor/MSFT/Policy/Config/WSL/GraphIntegration
值: 0 = 禁用 1 = 启用
如果你觉得 CSP 配置麻烦,也可以通过创建基于模板类型的“导入的管理模板”配置文件来进行可视化配置。
HOWTO: 使用 EntraID 登录 Azure VM
HOWTO: 使用 EntraID 登录 Azure VM
一台基于 Windows 11 的 Azure VM,如果想通过 EntraID 登录系统,该如何实现呢?!
我们首先想到是通过“设置 - 账户 - 访问工作或学校账户”将设备连接到 EntraID,在连接过程务必选择“将此设备加入 Microsoft Entra ID”,这样设备将以非注册方式加入到 EntraID(AAD),就像传统的加入到 AD 一样的概念。之后我们理所当然的通过 RDP 使用 EntraID 进行连接和登录,此时我们会发现输入了正确的账号密码后仍然提示无法登录。即使我们在 mstsc(远程桌面连接)中启用了“使用 Web 账户登录远程计算机”,但会发现经过 Web 验证后仍会报错,并提示 0xcaa20002 错误。
那我们该如何解决这个问题,确保能够使用 EntraID 登录到远程 Azure VM 上呢?!
如果我们是新建 Azure VM,那么在创建过程中的“高级”选项页面下,可以看到“扩展”安装选项,此时需要点击“选择要安装的扩展”。
然后找到名为“Azure AD based Windows Login”的扩展程序,并安装它。
安装完毕后,即可看到这个扩展的安装状态。
对于已经创建好的 Azure VM,我们可以当前虚机的左侧导航栏找到“扩展 + 应用程序”选项,进入后可以在“扩展”页找到“添加”按钮。
确认“Azure AD based Windows Login”扩展安装完毕后,接下来我们需要找到这台已经加入到 EntraID 设备的 DeviceID,有两个渠道获取:
1. 访问 Microsoft Entra ID,在“设备”中找到该虚拟机,并从“属性”页中获取 DeviceID。
2. 先用本地账号 RDP 登录到 Azure VM,然后在 CMD 中运行 dsregcmd /status 查询 DeviceID。
当然如果你嫌麻烦,也可以直接使用 Azure VM 的计算机名。
有了 DeviceID 或计算名后,我们还需要为本地电脑安装 Windows App,可以从微软应用商店搜索并安装该应用。如果你对该应用还不了解,可参考 gOxIA 之前发布的日志“Windows App 正式发布 - 通往 Widnows 的统一网关”。打开 Windows App 添加 Remote PC,输入 Azure VM 的域名及 RDP 端口,并打开“使用 Web 账户”选项,输入我们获取到的 DeviceID 或 计算机名,保存后再进行登录即可使用 EntraID 或 M365 账号正常通过 RDP 远程登录到 Azure VM 的桌面。





