您好,我正在使用Azure Devops,并且我有一个使用部署组的CI / CD管道。创建我的部署组后,Web UI生成了一个Powershell脚本,您可以利用该脚本在要添加到部署组的任何节点上安装代理。我还单击了生成PAT令牌的复选框,该令牌可以作为代理安装的参数传递。
我想在powershell脚本中自动化所有这些操作,在这种情况下,是将Web UI生成的powershell cmd复制并粘贴到我自己的脚本中。问题是我在网上找不到任何有关在powershell中生成PAT令牌的信息。
有人可以告诉我是否有可能以编程方式生成PAT令牌,然后我可以用它来安装代理吗?
答案 0 :(得分:0)
这似乎不能以编程方式完成。有关详细信息,请参见以下帖子:
https://stackoverflow.com/a/50870641/3858673
还要注意,API only supports listing a users available PATs.
但是,PAT的创建仅需要每30-365天完成一次。创建之后,您应该可以将其安全地传递到PowerShell脚本。
答案 1 :(得分:-1)
下面的代码可以帮助您。
$currentAzureContext = Get-AzureRmContext; $azureRmProfile = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile; $profileClient = New-Object Microsoft.Azure.Commands.ResourceManager.Common.RMProfileClient($azureRmProfile); $pat = $profileClient.AcquireAccessToken($currentAzureContext.Subscription.TenantId).AccessToken; Write-Output $pat
这是访问令牌,而不是PAT,但是您可以使用此访问令牌访问所有API。