首页/系统/Windows 运维速查/Format-List 明细输出
PowerShell 基础66 条

Format-List 明细输出

纵向列出对象全部属性:字段多、值长时比表格可读,排查单个对象(进程/服务/错误记录)的首选方式。

Windows 运维速查系统更新于 2026-10-13

Format-List 是什么

Format-List 把对象的属性纵向逐行列出,一条属性占一行。属性多、值很长(比如事件消息、错误记录、进程路径)时,横向表格会被挤成省略号,而竖排能完整显示。它是排查单个对象的首选显示方式,但输出的是格式化对象,之后不能再参与计算或比较。

基本信息

适用平台Windows PowerShell 5.1 与 PowerShell 7 通用
语法<对象> | Format-List [-Property] <属性列表>;别名 fl
关键参数-Property * 展开全部属性;-Force 显示隐藏属性
输出限制格式化结果不能再管道给 Select/Sort/Where 计算
相关命令Format-Table 横向表格、Format-Wide 只有名称一列

典型使用场景

  • 查单个进程或服务的完整属性,确认路径、启动账户、依赖
  • 展开 $Error[0] 与 ErrorRecord 细节做错误取证
  • 看证书、磁盘、网卡对象里有哪些字段可用,再决定 Select 哪些
  • 把一条对象的所有信息落成文本附件给同事复现问题
  • 排查 Get-* 命令返回空值时,确认属性名是否写错

常用示例

常用示例
Get-Process -Id 4 | Format-List *                     # 展开进程全部属性
$Error[0] | Format-List * -Force                      # 含隐藏字段的错误记录
Get-Service Spooler | fl Name, Status, StartType      # 只列关心的字段
Get-Process -Id 4 | fl * -Property * | Out-File D:\p.txt   # 落盘留证
(Get-CimInstance Win32_LogicalDisk -Filter "DeviceID='C:'") | fl *   # 查看 C 盘全部属性
Get-ChildItem D:\x -File | Get-Member -MemberType Property   # 先看有哪些属性可列

输出逐列读法

显示内容含义排查提示
属性名 : 值每行一个属性值很长会自动换行,看起来像多行但属同一字段
空行分隔对象之间的分界竖排多条对象时靠空行区分
未显示字段默认视图不含该属性加 -Force 或显式 -Property 名即可
省略号列宽或行宽不够竖排格式基本不会截断,横排才需要换 fl
显示与计算要分先后:先 Select-Object 挑字段、Sort/Where 算好,最后才交给 Format-List 显示;把 Format-List 放在管道前段,后面的 Select-Object 会拿不到属性。
找“这个对象到底有哪些属性”时,fl * 比猜属性名高效;配合 Get-Member -MemberType Property 能看到属性类型,判断该用 -eq 还是 -like 比较。

易错点

  • Format-List 的输出是格式化对象,再管道给 Sort-Object 或 Export-Csv 会得到一堆空字段,正确顺序是把格式化放在管道最后一步
  • 用 -Property 通配符(如 fl *Name*)匹配到的属性顺序不固定,检查关键字段请显式列名
  • 只写 fl 不带参数在部分命令上默认只显示少量属性,容易误判“这个对象就这些字段”,要看全必须加 *
  • 把大对象全字段落盘留证时容易带上敏感信息(命令参数、凭据字段),外发前先审一遍

数据来源与参考

  • Microsoft Learn:Format-List

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌