当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell 对象以 | 开头PowerShell where-object 不以以下内容开头

作者:精品下载站 日期:2024-12-14 05:07:16 浏览:13 分类:玩电脑

PowerShell 对象以 | 开头PowerShell where-object 不以以下内容开头


在本 PowerShell 教程中,我们将探讨如何使用 Where-Object 来过滤以特定字符串开头或不以特定字符串开头的对象。

要在 PowerShell 中过滤以特定字符串开头的对象,您可以使用带有 -like 运算符和通配符的Where-Object cmdlet,例如 Get-ChildItem | Where-Object { $_.Name -like “log” } 查找以“log”开头的项目。相反,要过滤掉不以特定字符串开头的对象,请使用 -notlike,例如 Get-ChildItem | Where-Object { $_.Name -notlike “log” } 排除以“log”开头的项目。

PowerShell 对象开头位置

要在 PowerShell 中过滤具有以特定字符串开头的属性的对象,您可以在Where-Object 中使用带有通配符 *-like 运算符。 -like 运算符用于模式匹配。

下面的示例使用 PowerShellWhere-Object 过滤目录中的文件列表,仅包含以“log”开头的文件:

Get-ChildItem | Where-Object { $_.Name -like "log*" }

在此示例中,Get-ChildItem 检索当前目录中的所有项目,并且 Where-Object 进行过滤以仅包含 Name 属性开头的项目与“日志”。

PowerShell where-object 不以以下内容开头

相反,如果您想在 PowerShell 中过滤不以特定字符串开头的对象,您仍然可以使用 -like 运算符,但使用 -not 或 !。

以下是如何使用 PowerShellWhere-Object 获取所有不以“log”开头的文件:

Get-ChildItem | Where-Object { $_.Name -notlike "log*" }

此命令将返回除 Name 以“log”开头的项目之外的所有项目。

PowerShell where-object 开头为和不开头为的示例

让我们看一下使用 Where-Object 与“开头为”和“开头为”逻辑的一些实际示例。

示例 1:过滤服务

假设您要检查计算机上哪些服务以字母“w”开头。您可以使用以下命令:

Get-Service | Where-Object { $_.Name -like "w*" }

这将列出名称以“w”开头的所有服务。

示例 2:排除某些进程

如果您有兴趣查看除以“svchost”开头的进程之外的所有进程,您可以使用:

Get-Process | Where-Object { $_.Name -notlike "svchost*" }

这将提供所有正在运行的进程的列表,不包括“svchost”的任何实例。

示例 3:搜索特定文件类型

在目录中查找以“config”开头的所有 PowerShell 脚本文件?使用这个命令:

Get-ChildItem | Where-Object { $_.Name -like "config*.ps1" }

这将返回所有以“config”开头的.ps1文件。

示例 4:排除具有某些扩展名的文件

如果您想获取目录中的所有文件但排除扩展名为 .tmp 的文件,您可以使用:

Get-ChildItem | Where-Object { $_.Extension -notlike ".tmp" }

示例 5:查找组织中的用户

如果您正在使用用户列表并想要查找用户名以“admin”开头的所有用户,则命令可能如下所示:

Get-ADUser -Filter * | Where-Object { $_.SamAccountName -like "admin*" }

请注意,此示例假设您已在 PowerShell 中加载 Active Directory 模块。

示例 6:过滤掉系统帐户

要获取所有不以“NT”开头(通常表示系统帐户)的用户帐户的列表,您可以使用:

Get-ADUser -Filter * | Where-Object { $_.SamAccountName -notlike "NT*" }

结论

Where-Object cmdlet 对于 PowerShell 脚本编写非常重要。通过使用 -like-notlike 运算符,您可以根据对象的属性是否以特定字符串开头来轻松过滤对象。请记住使用通配符 (*) 来定义字符串中可以变化的部分。

在本 PowerShell 教程中,我解释了如何使用 PowerShell where-object started withPowerShell where-object does not start with

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯