筛选:
从众多的输出结果中挑选出符合条件的项。通常情况下,输出结果以列表的形式显示
例如:用get-command命令查看前十行的命令
默认情况下,get-command搜索到的命令是以列表的形式展示的,如上图所示,输出结果有三列,这三个字段分别是:CommandType、Name、Definition。有些字段可以作为选项,来进行命令筛选
例如:用Command-Type作为选项,查询命令类型为Alias的所有命令
例如:将Name作为选项,查询Name中包含Add的所有命令
管道:
管道符号:|
命令1 | 命令2 | 命令3
用法:将管道前的输出结果交给管道后的命令来处理,通常用于筛选或者获取属性
通用筛选语句:
Where-Object:别名为?,所以也可以简写为“?”
语法:
1
|
管道前命令|
Where-Object
{
$_
.字段名
-eq
/like
"关键字"
}
|
字段名:命令查询出来的列名
-eq:通常用于精确查询,用于数字列的情况,也可以用于文字列,但是要求字符完全匹配
-like:通常用于模糊查询,用于文字列的情况,也可以配合通配符“*”使用
例如:搜索Name为copy的命令
也可以这样写:
例如:筛选进程名为“svchost”的进程
用like模糊查询
其他筛选方式:
Select-Object -First 10:筛选前十行
Select-Object -First 10:筛选后十行
输出格式:
输出格式有两种:
按详细列表方式输出:Format-List,这种格式输出的信息比Format-Table更加详细
按表格的方式输出:Format-Table
例如:搜索name为“spooler”的服务信息,分别以Format-List和Format-Table的格式输出
总结:
筛选思路:
先获取所有的输出结果
如果字段名能作为选项的可以优先使用选项
字段名无法作为选项的使用筛选语句
需要详细信息的可以使用Format-List格式