Powershell脚本用于获取用户列表以及在TFS中分配给他们的许可证(利益相关者,基本等)

时间:2017-09-13 04:05:15

标签: powershell tfs

您好我正在寻找powershell脚本或使用rest api获取TFS中的用户列表以及分配给他们的许可证。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

只需使用以下PowerShell脚本,该脚本使用REST API获取用户列表以及许可证:

$stakeholderUrl = "http://server:8080/tfs/_api/_identity/ReadLicenseUsers?__v=5&licenseTypeId=242a857e-50ce-43d9-ba9f-3aa82457d726" # stakeholder           
$basicUrl = "http://server:8080/tfs/_api/_identity/ReadLicenseUsers?__v=5&licenseTypeId=8b71784c-27ab-4490-bb97-e699ed4123e1" # basic
$AdvancedUrl = "http://server:8080/tfs/_api/_identity/ReadLicenseUsers?__v=5&licenseTypeId=f29e17f1-60bd-44f0-ab2f-d67207ee9484" # Advanced

$stakeholder = (Invoke-RestMethod -Uri $stakeholderUrl -Method Get -UseDefaultCredential).identities 
$basic = (Invoke-RestMethod -Uri $basicUrl -Method Get -UseDefaultCredential).identities 
$Advanced = (Invoke-RestMethod -Uri $AdvancedUrl -Method Get -UseDefaultCredential).identities


$StakeholderUsers = @()

foreach($user in $stakeholder){

    $customObject = new-object PSObject -property @{
          "IdentityType" = "stakeholder"+":"+$user.IdentityType
          "DisplayName" = $user.DisplayName
          "SubHeader" = $user.SubHeader
          "AccountName" = $user.AccountName
        } 

    $StakeholderUsers += $customObject      
}

$StakeholderUsers | Select `
                IdentityType,
                DisplayName, 
                SubHeader,
                AccountName

$basicUsers = @()

foreach($user in $basic){

    $customObject = new-object PSObject -property @{
          "IdentityType" = "basic"+":"+$user.IdentityType
          "DisplayName" = $user.DisplayName
          "SubHeader" = $user.SubHeader
          "AccountName" = $user.AccountName
        } 

    $basicUsers += $customObject        
}

$basicUsers | Select `
                IdentityType,
                DisplayName, 
                SubHeader,
                AccountName

$AdvancedUsers = @()

foreach($user in $Advanced){

    $customObject = new-object PSObject -property @{
          "IdentityType" = "Advanced"+":"+$user.IdentityType
          "DisplayName" = $user.DisplayName
          "SubHeader" = $user.SubHeader
          "AccountName" = $user.AccountName
        } 

    $AdvancedUsers += $customObject     
}

$AdvancedUsers | Select `
                IdentityType,
                DisplayName, 
                SubHeader,
                AccountName

enter image description here