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

PowerShell 5.1调用VirusTotal API后无法访问对象属性

解决Invoke-RestMethod返回PSCustomObject属性访问为null的问题

核心原因与解决方案

出现这种情况通常是因为属性路径不符合VirusTotal API响应的实际嵌套结构,或是属性名称大小写不匹配。以下是具体解决步骤:

  1. 先确认响应的实际结构
    用以下命令查看返回对象的完整层级和属性名:

    # 列出对象所有顶层成员
    $URLReport | Get-Member
    
    # 输出完整JSON结构(指定深度避免截断)
    $URLReport | ConvertTo-Json -Depth 10
    

    VirusTotal URL信息API的响应通常由data字段包裹核心内容,结构大致为:

    {
      "data": {
        "attributes": {
          "title": "目标网页标题",
          // 其他属性
        }
      }
    }
    
  2. 使用正确的属性路径访问
    根据实际结构调整访问路径,示例如下:

    # 点符号访问(注意属性名大小写)
    $title = $URLReport.data.attributes.title
    
    # 索引器访问(适配大小写不确定或特殊命名的属性)
    $title = $URLReport['data']['attributes']['title']
    
  3. 排查大小写问题
    PowerShell对PSCustomObject的属性名大小写敏感,若API返回的是小写attributes,写成Attributes就会返回null。使用索引器方式(['属性名'])可避免大小写困扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 10:45:55