微软承认 Universal Print 故障源于 Graph API 代码变更,提供13步临时方案

对于依赖 Microsoft 365 进行办公的企业来说,最近的日子可能有点不太平。

继上周 Teams 客户端启动失败、Windows Server 安全更新导致域控制器重启循环之后,微软的云端打印服务 Universal Print 也出了问题。部分用户在尝试共享打印机时,会间歇性地看到“Sharing Print Failed”的错误提示。

微软承认 Universal Print 故障源于 Graph API 代码变更,提供13步临时方案插图

周二,微软终于给出了官方解释:锅在 Microsoft Graph API

发生了什么?

Universal Print 是微软推出的云打印解决方案,旨在取代传统的本地打印服务器,让管理员能集中管理全公司的打印机。

微软解释说,问题的根源是一次对 Microsoft Graph API 的代码更改。这次更新引入了一个 Bug,增加了 Entra ID(原 Azure AD)目录的复制延迟。这进而暴露了 Universal Print 共享创建流程中一个原本就存在的“竞态条件”(Race Condition)。

简单来说,就是当系统试图快速验证用户权限并创建共享时,因为数据同步慢了半拍,导致重试逻辑失效,最终操作失败。

受影响的具体场景包括:

  • 创建共享时勾选了“允许我组织中的所有用户”。
  • 或在创建屏幕上直接选择了特定用户或组。

怎么解决?(13步变通方案)

虽然微软正在部署修复代码,但在补丁完全生效前,他们提供了一个略显繁琐但有效的临时解决方案。核心思路是:先创建一个“空”的共享,然后再手动添加权限。

具体步骤如下:

  1. 登录 Azure 门户,进入 Universal Print > 打印机
  2. 选择你要共享的那台打印机。
  3. 点击 “Printer Share”(或 “Share Printer”)。
  4. 输入共享名称。
  5. 关键步骤不要勾选“Allow all users in my organization”。保持未勾选状态。
  6. 关键步骤:在此步骤中,不要选择任何特定用户或组。留空。
  7. 点击 “Share Printer” 完成创建。
  8. 等待 30 秒,让共享配置在后台完全传播。
  9. 返回 Universal Print 主界面,选择 “Printer Shares”
  10. 找到并点击你刚才创建的那个共享。
  11. 进入 “Members” 选项卡(或 “Access Control”)。
  12. 在这里,手动添加你需要授权的用户或安全组。
  13. 如果需要让全员访问,可以从 Entra ID 目录中添加一个涵盖全组织的安全组(例如 “All Company”)。

微软建议,如果执行完上述步骤后共享创建依然失败,请等待 1-2 分钟后再重试。

频繁故障背后的隐忧

这已经不是微软近期第一次遭遇大规模服务中断了。

  • 上个月:发布带外更新修复 Microsoft 账户登录失败问题。
  • 上周五:Teams 桌面客户端无法启动,迫使微软回滚服务更新。
  • 周末:紧急修复 Windows Server 安全更新导致的域控制器重启循环。

接连不断的故障表明,随着微软云服务体系的日益庞大和复杂,任何微小的代码变更都可能引发连锁反应。对于依赖这些服务的企业而言,这不仅意味着工作效率的损失,更考验着 IT 部门的应急响应能力。

评论