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