You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助编写PowerShell脚本:查询Jira资产管理中多台笔记本的用户

编写PowerShell脚本查询Jira资产管理中拥有多台笔记本的用户

前置要求

  • 拥有Jira Asset Management的API访问权限,提前在个人Jira账号中生成API令牌
  • 安装PowerShell模块JiraPS,执行以下命令完成安装:
    Install-Module -Name JiraPS -Scope CurrentUser -Force
    

实现脚本

# 配置Jira连接信息
$jiraBaseUrl = "https://你的Jira域名.atlassian.net"
$jiraUsername = "你的Jira邮箱"
$jiraApiToken = "你的API令牌"

# 连接Jira
Connect-Jira -Server $jiraBaseUrl -Credential (New-Object System.Management.Automation.PSCredential($jiraUsername, (ConvertTo-SecureString $jiraApiToken -AsPlainText -Force)))

# 使用Insight JQL查询所有笔记本资产及关联用户
# 请根据实际资产类型名称、用户字段名称调整JQL语句
$laptopAssets = Get-JiraIssue -Query "objectType = '笔记本电脑' AND '用户' IS NOT EMPTY" -Fields "object", "customfield_xxxx" # 替换customfield_xxxx为用户UPN对应的自定义字段ID

# 转换资产数据为结构化对象
$assetData = $laptopAssets | ForEach-Object {
    [PSCustomObject]@{
        UserUPN = $_.Fields["customfield_xxxx"] # 替换为实际UPN字段
        DeviceName = $_.Fields.object.Name
        SerialNumber = $_.Fields.object.Attributes.SerialNumber # 替换为实际序列号属性名
    }
}

# 分组统计每个用户的笔记本数量,筛选出数量>1的用户
$userLaptopCounts = $assetData | Group-Object -Property UserUPN | Where-Object { $_.Count -gt 1 }

# 合并数据,添加数量字段后输出
$result = $userLaptopCounts | ForEach-Object {
    $userUpn = $_.Name
    $count = $_.Count
    $_.Group | ForEach-Object {
        $_ | Add-Member -MemberType NoteProperty -Name "笔记本数量" -Value $count -PassThru
    }
}

# 输出结果
$result | Select-Object UserUPN, DeviceName, SerialNumber, "笔记本数量" | Format-Table -AutoSize

关键说明

  • 替换脚本中的你的Jira域名、你的Jira邮箱、你的API令牌为实际信息
  • 调整JQL中的objectType值为你Jira资产里笔记本对应的类型名称
  • 替换customfield_xxxx为存储员工UPN的自定义字段ID,可在Jira自定义字段设置中查看
  • 若序列号的属性名不是SerialNumber,需改为资产实际的序列号属性名称

内容的提问来源于stack exchange,提问作者h_akm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 15:09:21