记录

前面使用 GitHub actions 实现续订(详情看实现E5自动订阅),这次搞本地实现续订,根据情况来使用,这里就记录一下。

由来

早期脱胎于 Microsoft 365 E5 Renew ,是他的升级版,其功能性,易用性,美观程度上都要强于旧版本。

主要功能

  • 支持开机自启动后台调用:使用简单方便,无需购买服务器部署,本地应用程序即开即用
  • 两种可选的调用权限:用户未登录作为守护程序调用 (需要客户端密码)、程序以登录用户身份直接调用 (需要账户密码)
  • 自动配置 API 权限:登录调用的 API 权限支持由程序自动配置
  • API 种类齐全:43 个可选的 Microsoft Graph REST API Beta 中的 API (未来可能会继续添加)
  • 完全随机的 API 选用模式:从已选定的 API 序列中随机抽取一个或几个进行调用(个数和 API 随机)
  • 完全随机的 API 调用顺序:每轮 API 的调用先后顺序随机
  • 完全随机的 API 内容 (仅部分 API 支持):POST 写类型的 API 的上传内容随机
  • 完全随机的 API 调用时间间隔:随机区段 500s-86400s 自定义
  • 每日工作时间自定义:在日常工作时间进行调用,适用于从不关机重启的服务器设备
  • 每周工作日自定义:在每周的工作日进行调用,适用于从不关机重启的服务器设备
  • 运行智能暂停:防止因持续在错误配置下运行而导致的账户封禁
  • 运行配置自动保存:可保存运行配置,无需反复设置
  • 无限制账号个数:理论上允许无限制个数账号后台自动调用
  • 支持自定义客户端密钥:允许非登录调用使用自定义密钥
  • 自定义美化界面:支持自定义背景图片,半透明度以及毛玻璃效果

预览

使用本系列产品只是增加 E5 续订概率,并不能保证 100% 续订成功
续订操作有些许技术门槛,且需要具备一定的自学能力

软件下载

官网:https://e5renew.com/

版本文件说明LanZouOneDrive
包含框架(推荐)无需额外安装运行环境,可直接运行下载下载
普通版本需要安装 .NET 6 Desktop Runtime x64下载下载
历史版本(弃用)更兼容Windows 7,已停止更新下载下载

使用

  1. 注册 Azure 应用程序。
  1. 点击“新注册”按键,创建一个新的应用程序。

  2. 配置应用重定向URL(身份验证)。

    这里也把应用程序(客户端)ID也复制下来,后面要用到。

    点击 “添加平台”,再点击 “移动和桌面应用程序”。

    继续勾选中第一个 URL,最后点击底部的 “配置”,该 URL 为 “https://login.microsoftonline.com/common/oauth2/nativeclient” 也可手动添加。


  3. 下拉找到“配置默认客户端类型将应用程序视为公共客户端”,点击切换按钮为 “是” ,最后点击 “保存” 按钮保存。

  4. 配置应用程序的 API 权限(重要)。

    建议选择 “委托的权限 (用户登录)” 该权限类型,调用 API 较多,操作步骤较少简单粗暴,调用成功几率高

    注册的应用程序 API 权限类型有两种,其主要区别如下表所示:

    | 权限类型 | 委托的权限 (用户登录) | 应用程序权限 (非用户登录) |
    | —————— | ————————————————————— | ——————————————————————————— |
    | 官方释义 | 应用程序必须以登录用户身份访问 API | 应用程序在用户未登录的情况下作为后台服务或守护程序运行 |
    | 需要的信息 | 账户名称 + 账户密码 + 应用程序 (客户端) ID | 账户名称 + 客户端机密 + 应用程序 (客户端) ID |
    | 功能影响 | 程序中所有 API 均可调用 | 部分 API 权限受限无法调用 (官方限制) |
    | API 权限配置 | 可由程序自动配置添加 API 权限 | 必须手动配置 API 权限 |
    | 程序颜色标识 | 蓝色 | 深青色 |

  1. 选择 “委托的权限 (用户登录)” 类型的 API,并使用程序自动请求配置 API 权限。
    点击 “添加账号”,API 调用方式选择 “登陆调用”,正确填写 “MS365 E5 账号” 和 “应用程序(客户端)ID” 后点击 “启动自动授权”。

    在弹出的登陆页面中输入你的管理员账户名和密码登录(该账户必须为全局管理员账户且拥有该客户端 ID 的控制权限),登录成功时弹出 “请求征得许可界面”,滚动到页面最底部勾选 “代表组织同意”,最后点击 “接受”。

    判断是否添加 API 权限成功:首先程序提示授权成功,其次用管理员账户登录 Azure 查看应用的 API 权限(即前面复制的应用程序(客户端)ID),发现所有需求的权限全部添加或可以成功调用均视为已添加成功。

  2. 手动配置 API 权限,点击 “API 权限”-“添加权限”-“Microsoft Graph”,并择选择 “委托的权限”。

  3. 根据下方列出的 API 权限需求表来勾选所对应的 API 权限,全部选择完成后点击” 添加权限”。

    BookingsAppointment.ReadWrite.All; Calendars.Read; Contacts.Read; Directory.Read.All;
    Files.Read.All; Files.ReadWrite.All; Group.Read.All; Mail.Read; Mail.Send; MailboxSettings.Read;
    Notes.Read.All; People.Read.All; Presence.Read.All; Sites.Read.All; Tasks.ReadWrite; User.Read.All;

如果没有 “代表 XXX 授予管理员同意” 按钮 说明该账号不是管理员账号 换登管理员账号创建应用

最后点击代表 XXX 授予管理员同意,对话框选择 “是”(该图包含了当前程序 “委托的权限 (用户登录)” 全部 API 所需要的权限)。

  1. 创建客户端密码。
    点击 “证书密码”-“新客户端密码”-“24 个月”-“添加”

    点击 “值” 该列中的 “复制”(不要复制”ID” 列中的值),并立即将该密码保存至电脑,保存的值即为 “客户端密码”, 注:该值必须立即保存,退出该页面后将永远无法查看。

使用程序进行 API 调用(可选)。

登入 E5 管理员账户进入管理员界面,创建一个新的子账户,使用这个子账户登录程序调用 API。
为什么建议这样做:Microsoft 365 E5 Renew Plus 中的部分 API 包含了写操作,例如 Onedrive 的 API,这些 API 在随机模式下会生成大量垃圾邮件和文件(虽然单独为此设立了一个文件夹),部分人可能会对此行为非常介意,而且程序频繁的读写可能会对您正常使用账户造成影响,因此不建议使用管理员账户登录。

  1. 添加一个账户。
    点击 “开始运行”-“添加账号”。


  1. 开始运行。

扩展

关闭 E5 账户登录双重验证。

点击进入 Office 365 E5 账户多重身份验证管理,按照下图配置即可关闭 E5 账户登录的双重验证。

关闭 Azure 中 API 调用的双重验证

点击进入 Azure Active Directory 管理中心,按照下图配置即可关闭 Azure 中 API 调用的双重验证。

查询续订剩余天数

点击查询续订剩余天数 (使用申请 E5 账号的账户登录)

关于续订

E5 续订执行是微软统一的具有一定时间周期的续订,如果你的 E5 订阅剩余天数少于等于 30 天、并收到了未检测到开发活动的警告邮件且仪表盘显示标红文字 “此订阅处于非活动状态且即将过期”,请不要慌张。根据微软客服官方说法是:“订阅只有在剩余最后 1 天才给续期”,然而根据众多 E5 账号的续订情况来统计,大部分账号是在少于 30 天续期的,极少欧洲人是在大于 30 天的时候续期。

本人 E5 账户收到过两次未活跃警告,微软客服解释说:这种警告邮件属于系统自动发送的 (邮件会在剩余第 30 天的时候发送),无需理会它,至于出现文字标红文字 “此订阅处于非活动状态且即将过期”,也为系统自动提示,只要保证仪表盘上的文字标注为 “可续订 E5 的订阅” 就可以了,即便是真的过期了没有续上也是可以从仪表盘申诉的。

仪表盘变化