PowerShell 对象管道怎么结合哈希表自定义输出列属性

小晨酱_7321

小晨酱_7321

2026-10-20

702人浏览

原创

powershell对象管道中哈希表用于定义计算列,必须含name(或n)和expression(或e)键;select-object用其修改对象结构,format-table仅美化显示并支持formatstring、alignment等格式控制。

powershell 对象管道结合哈希表自定义输出列属性,核心是用 select-object 或 format-table 等 cmdlet 接收哈希表作为“计算属性”,动态生成新列。哈希表不是用来存数据的,而是告诉 powershell:这一列叫什么、值怎么算、怎么显示。

哈希表结构必须包含的两个键

无论用在 Select-Object 还是 Format-Table 中,每个计算列的哈希表都至少要提供:

  • name(或 label / n):列标题名称,字符串,建议用单引号包裹,如 'CPU使用率(%)'
  • expression(或 e):计算逻辑,可以是脚本块 { $_.CPU } 或简写字符串 'CPU'(直接取原属性名)

在 Select-Object 中添加计算列

这是最常用方式,真正修改对象结构,后续还能继续管道处理:

  • 把字节转 MB 并四舍五入:@{n='内存(MB)';e={[math]::Round($_.WS/1MB,2)}
  • 拼接字段:@{n='服务状态';e={$_.Status + ' - ' + $_.DisplayName}}
  • 条件判断:@{n='是否活跃';e={if ($_.CPU -gt 50) {'高'} else {'正常'}}

完整示例:
Get-Process | Select-Object Name,ID,@{n='虚拟内存(MB)';e={[math]::Round($_.VM/1MB,1)}},@{n='CPU%';e={$_.CPU}} | Sort-Object 'CPU%' -Descending

Windows-Android_SSH_Remote_Control
Windows-Android_SSH_Remote_Control

通过 SSH 隧道从 Android 设备在互联网上对 Windows PC 实现完整远程控制的设置与使用指南,适用于远程桌面访问、安全 RDP 等。

下载

在 Format-Table 中添加并美化列

如果只为了屏幕展示(不参与后续管道),Format-Table 支持更多显示控制:

  • formatstring:控制数字格式,如 'N2' 表示带千分位和两位小数
  • alignment:设为 'right' 让数字右对齐
  • width:限制列宽,防文本过长挤乱表格

示例(加单位、右对齐、保留一位小数):
Get-Process | Format-Table Name,@{n='工作集(MB)';e={[math]::Round($_.WS/1MB,1)};formatstring='N1';alignment='right';width=12}

常见错误与避坑点

哈希表语法看似简单,但几个细节容易出错:

  • 键名必须是 n 或 name,不能写成 label 后再加引号——@{label='xxx'} 是无效的
  • 表达式里用 $_ 或 $PSItem,别漏掉 $ 符号
  • 多个哈希表之间用逗号分隔,不能加分号
  • 不要把 Format-Table 放在管道中间——它会把对象转成格式化文本,后续 Export-Csv 就只剩字符串了

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4110

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3493

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2693

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6570

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

6222

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3613

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

3105

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

3339

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

297

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Conan 2 安装指南
Conan 2 安装指南

共0课时 | 0人学习