如何通过PowerShell实现从Azure DevOps部署组自动删除目标VM
从Azure部署组删除目标机器的PowerShell实现
你可以直接通过PowerShell调用对应REST接口实现该操作,无需额外依赖第三方模块,参考实现方式如下:
前置准备
- 提前创建具备部署组管理权限的Azure DevOps个人访问令牌(PAT)
- 提前获取待操作的组织名称、项目名称、部署组ID、待删除的目标机器ID
参考脚本
# 配置自定义参数 $orgName = "替换为你的组织名称" $projectName = "替换为你的项目名称" $deploymentGroupId = "替换为部署组ID" $targetId = "替换为待删除的目标机器ID" $pat = "替换为你的个人访问令牌" # 构造身份认证头 $base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$pat")) $headers = @{ Authorization = "Basic $base64AuthInfo" "Content-Type" = "application/json" } # 构造请求地址 $requestUri = "https://dev.azure.com/$orgName/$projectName/_apis/distributedtask/targets/$targetId?api-version=6.0" # 执行删除操作 try { Invoke-RestMethod -Uri $requestUri -Headers $headers -Method Delete Write-Host "操作成功,目标机器已从部署组移除" } catch { Write-Host "操作失败,错误详情:" $_.Exception.Message }
补充说明
如果你需要批量删除多台目标机器,可先调用部署组目标列表查询接口获取所有待删除的目标ID,遍历执行上述删除逻辑即可完成批量操作。
内容的提问来源于stack exchange,提问作者Evan
相关产品推荐
相关产品推荐

