You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

作为Azure管理员,如何按指定时间终止User1的Azure Portal活动会话?

解决Azure Portal用户会话定时终止的替代方案及成本确认

一、Azure AD Premium P1成本计算确认

你对P1许可成本的判断是准确的:Azure AD Premium P1确实采用按用户计费的模式,如果你需要为大量用户长期配置会话超时规则,累积成本会很高。而且正如你所说,Conditional Access的会话超时最小设置为1小时,无法满足更短时长的需求,这对于需要精准定时终止会话的场景来说确实不够灵活。

二、无需Premium许可的替代方法

1. 手动/批量强制撤销用户刷新令牌(即时终止所有会话)

你可以通过PowerShell或Azure AD门户直接撤销用户的所有刷新令牌,这会强制用户立即重新登录,包括Azure Portal在内的所有关联会话都会失效。这种方法不需要任何Premium许可,操作步骤如下:

PowerShell方式(适合批量/自动化)

首先确保安装并连接AzureAD模块:

# 安装模块(首次运行)
Install-Module -Name AzureAD -Force -AllowClobber
# 连接到Azure AD
Connect-AzureAD
# 撤销指定用户的所有刷新令牌
Revoke-AzureADUserAllRefreshToken -ObjectId "User1的ObjectID或UPN"

如果需要批量处理多个用户,可以结合用户列表循环执行命令:

# 示例:从CSV读取用户列表并批量撤销
$users = Import-Csv -Path "C:\users.csv"
foreach ($user in $users) {
    Revoke-AzureADUserAllRefreshToken -ObjectId $user.ObjectID
}

门户方式(适合单个用户)

  1. 登录Azure Portal,进入Azure Active Directory > 用户
  2. 找到User1,进入其详情页
  3. 在左侧菜单选择会话,点击撤销所有会话

2. 定时自动执行会话撤销(实现指定时间终止)

如果需要定期在指定时间终止用户会话,可以借助Azure Automation Runbook来自动化执行上述PowerShell命令,成本远低于Premium P1许可:

  1. 在Azure Portal创建一个Azure Automation账户
  2. 创建一个PowerShell Runbook,写入上述撤销令牌的脚本
  3. 为Runbook设置计划触发器,指定你需要执行会话终止的时间(比如每天下午5点)
  4. 为Automation账户分配Azure AD用户管理员或足够的权限,确保能执行撤销操作

这种方式的优势是可以精准控制执行时间,且Automation的成本极低(按作业执行次数或计算时长计费,大量用户场景下远低于P1许可成本)。

三、注意事项

  • 撤销刷新令牌会终止用户所有设备上的所有Azure AD关联会话,不仅仅是Azure Portal,执行前需确认业务影响
  • 如果你需要区分不同用户设置不同的终止时间,可以在Runbook中添加逻辑,针对不同用户组或特定用户执行定时任务

内容的提问来源于stack exchange,提问作者Pavan Rao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 18:22:52