如何使用 PowerShell 获取现有 Azure DevOps 项目的项目 ID?

How to get project id for an existing Azure DevOps project using PowerShell?

正在编写 PowerShell 脚本,我试图在其中获取 Azure DevOps 中现有脚本的项目 ID 帐户。为此,我使用了以下脚本:

$AzureDevOpsPAT = "l7zybu-XXX-XXXX-XXXXX"
$OrganizationName = "OrgName"
$projectName = "XXXXXX"

$AzureDevOpsAuthenicationHeader = @{Authorization = 'Basic ' + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($AzureDevOpsPAT)")) }

$UriOrga = "https://$($OrganizationName).visualstudio.com/" 
$UriOrga
$uriAccount = $UriOrga + "_apis/projects?api-version=6.0"
Invoke-RestMethod -Uri $uriAccount -Method get -Headers $AzureDevOpsAuthenicationHeader | where({ $_.name -eq $projectName })

在 运行 之后,这个脚本没有在日志中得到任何类型的输出,它只是在执行?你能帮我找到解决办法吗?

How to get project id for an existing Azure DevOps project using PowerShell?

您可以尝试以下 PowerShell 示例:

$AzureDevOpsPAT = "PAT"

$OrganizationName = "organizaitonName"
$projectName = "Projectname"

$AzureDevOpsAuthenicationHeader = @{Authorization = 'Basic ' + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($AzureDevOpsPAT)")) }

$UriOrga = "https://$($OrganizationName).visualstudio.com/" 
$UriOrga
$uriAccount = $UriOrga + "_apis/projects?api-version=6.0"
$response = Invoke-RestMethod -Uri $uriAccount -Method get -Headers $AzureDevOpsAuthenicationHeader 


$Project = $response.value | where { $_.Name -eq $projectName }

$id = $Project.id

echo $id

RestAPI返回的response是Json格式,所以可以先得到jsonresponse,然后直接通过比较得到对应的项目id