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

如何通过PowerShell为当前用户获取Azure Time Series Insights的Azure AD访问令牌?

可以用PowerShell为当前用户获取Azure Time Series Insights的访问令牌

当然没问题!你完全可以在PowerShell中为当前登录用户获取针对Azure Time Series Insights(TSI)的访问令牌,不需要依赖服务主体。下面是具体的实现方法:

方法:使用Az PowerShell模块

Az模块是微软推荐的Azure管理PowerShell工具,其中的Get-AzAccessToken命令可以直接获取当前用户上下文的资源访问令牌,和你在C#中用AzureServiceTokenProvider实现的逻辑类似。

步骤1:确保安装并导入Az.Accounts模块

首先需要确保你已经安装了Az模块的核心账户组件:

# 安装Az.Accounts模块(如果未安装)
Install-Module -Name Az.Accounts -Force -AllowClobber

# 导入模块
Import-Module Az.Accounts

步骤2:登录当前用户账户

用当前用户身份登录Azure:

Connect-AzAccount

执行后会弹出登录窗口,使用你的Azure AD用户账号完成登录即可。

步骤3:获取TSI的访问令牌

直接调用Get-AzAccessToken,指定TSI的资源标识符(也就是你C#代码中用的https://api.timeseries.azure.com/):

$token = Get-AzAccessToken -ResourceUrl "https://api.timeseries.azure.com/"

# 查看令牌内容
$token.Token

返回的$token.Token就是你需要的访问令牌,可以直接用于调用TSI的API接口。

关键说明

  • 这个令牌是基于当前登录用户的身份生成的,权限完全取决于该用户在Azure AD中被授予的TSI访问权限,和服务主体令牌的权限逻辑一致,但身份是用户而非应用。
  • 令牌有有效期限制,你可以通过$token.ExpiresOn查看过期时间,过期后重新执行Get-AzAccessToken即可获取新的令牌。
  • 如果你是在本地环境执行,Connect-AzAccount会弹出交互式登录;如果是在Azure虚拟机/函数等支持托管身份的环境中,也可以使用系统/用户托管身份自动登录,不需要手动输入凭据,和C#的MSI场景完全对应。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:48:09