Powershell 修改DevOps中的Azure Analysis Services数据库角色

Powershell 修改DevOps中的Azure Analysis Services数据库角色,powershell,azure-devops,continuous-deployment,azure-analysis-services,Powershell,Azure Devops,Continuous Deployment,Azure Analysis Services,我正在尝试在Azure DevOps中为Azure Analysis Services数据库部署配置CI/CD管道 部署Model.bim文件非常简单,使用已经可用的“Azure分析服务部署”任务 但是,分配给AAS数据库中角色的AD组会根据部署是测试还是生产而变化。我希望运行某种PowerShell来实现这一点,但是数小时的搜索并没有取得成果。当前的Az.AnalysisServices似乎没有超出其范围内的实际服务器: 上面的文档中提到了使用标准SQL Powershell命令,但是其中没

我正在尝试在Azure DevOps中为Azure Analysis Services数据库部署配置CI/CD管道

部署Model.bim文件非常简单,使用已经可用的“Azure分析服务部署”任务

但是,分配给AAS数据库中角色的AD组会根据部署是测试还是生产而变化。我希望运行某种PowerShell来实现这一点,但是数小时的搜索并没有取得成果。当前的Az.AnalysisServices似乎没有超出其范围内的实际服务器:

上面的文档中提到了使用标准SQL Powershell命令,但是其中没有任何AAS示例脚本,甚至没有任何基于云的解决方案

我想知道是否有人在这方面取得了成功?如果需要,我愿意连接到虚拟机并在那里运行脚本,但最好使用完全基于云的解决方案


TMSL解决方案也很受欢迎。

对于后代,我使用了
调用ASCmd
createOrReplace
语句,这实现了我需要做的事情

这涉及到创建连接凭据(我使用的是服务帐户),创建包含
createOrReplace
语句的参数,然后根据AAS执行它:

$password = ConvertTo-SecureString “<password>” -AsPlainText -Force
$Cred = New-Object System.Management.Automation.PSCredential (“<user>@<domain>”, $password)

Connect-AzAccount -Credential $Cred

$TMSLCommand = @"

{
  "createOrReplace": {
    "object": {
      "database": "<AAS Database>",
      "role": "Read"
    },
    "role": {
      "name": "Read",
      "modelPermission": "read",
      "members": [
        {
          "memberName": "<ad group object id/user>@<tenant id/domain>",
          "identityProvider": "AzureAD"
        }
      ]
    }
  }
}


"@    

Invoke-ASCmd -Server "<AAS Server Name>" -Database "<AAS Database>" -Query $TMSLCommand -Credential $Cred;
$password=converttosecurestring”“-AsPlainText-Force
$Cred=新对象System.Management.Automation.PSCredential(“@”,$password)
连接AzaAccount-凭据$Cred
$TMSLCommand=@”
{
“创建或替换”:{
“对象”:{
“数据库”:“”,
“角色”:“读取”
},
“作用”:{
“名称”:“读取”,
“模型权限”:“读取”,
“成员”:[
{
“成员名称”:“@”,
“标识提供程序”:“AzureAD”
}
]
}
}
}
"@    
调用ASCmd-Server”“-Database”“-Query$TMSLCommand-Credential$Cred;

< /代码>还没有这样做,但是如果您想确定PS脚本中的部署(阶段),请考虑使用$(System .StaseDePosiNeNd)。