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

如何在DevOps流水线中免用户名/密码调用Invoke-ASCmd?

Invoke-ASCmd是否支持集成身份验证?

问题背景

当前在DevOps流水线中使用的Invoke-ASCmd代码如下:

$securePassword = ConvertTo-SecureString $password -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential ($username, $securePassword)

$delQuery = '{ "delete": { "object": { "database": "' + $asModelName + '" } } }'
Invoke-ASCmd -Query $delQuery -TenantId $tenantId -Server $analysisServicesServer -Credential $credential

希望移除用户名/密码组合,改用集成身份验证,同时遇到以下错误:

Invoke-ASCmd : 身份验证失败:当用户界面不可用时,必须提供用户名和密码。

解答

  • Invoke-ASCmd支持集成身份验证,但需要结合DevOps流水线的运行上下文配置正确的身份方式:
    1. 移除-Credential参数,改用-Authentication Integrated参数(部分旧版本模块可能需要用-AuthType Integrated,可通过Get-Command Invoke-ASCmd -Syntax查看当前模块支持的参数)
    2. 在DevOps流水线中需确保运行任务的账号拥有访问Analysis Services服务器的权限:
      • 若使用微软托管代理,需配置服务主体或托管身份,并为其赋予Analysis Services的对应权限(如服务器管理员、数据库管理员)
      • 若使用自托管代理,代理运行所在的机器账号需具备访问权限,此时直接用集成身份验证即可通过机器账号完成认证
    3. 调整后的示例代码:
$delQuery = '{ "delete": { "object": { "database": "' + $asModelName + '" } } }'
Invoke-ASCmd -Query $delQuery -TenantId $tenantId -Server $analysisServicesServer -Authentication Integrated

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 13:08:13