使用PowerShell在计算机上查找特定的.exe文件

问题描述 投票:1回答:2

因此,在我目前正在实习的公司,他们有大约20台具有公司指定软件的“技术笔记本电脑”。它们位于C:\目录中。

例如:

aaa.exe位于C:\aaa\aaa.exe

bbb.exe位于C:\bbb\bbb.exe

我真正需要的是一个.ps1脚本,用于在列表中显示这些特定的可执行文件。

到目前为止我所拥有的是:Get-ChildItem C:\ -recurse | where {$_.extension -eq ".exe"}

现在,我相信它只是编辑搜索查询,因为这给了我C:\驱动器上的所有.exe文件,我只需要aaa和bbb。

仅供参考:我需要脚本以便我可以使用它来监视zabbix代理并查看特定软件是否在计算机上,以便我可以在Zabbix服务器上运行此脚本。

windows shell powershell monitoring
2个回答
3
投票

您正在寻找-include参数:

Get-ChildItem C:\ -recurse -include "aaa.exe", "bbb.exe"

0
投票

@Martin Brandl已经回答了你的第一个问题。对于你的问题的第二部分,你可以做这样的事情 -

$AllDrives = Get-PSDrive -PSProvider 'FileSystem'
foreach ($drive in $AllDrives)
{
    Get-ChildItem -path $drive.Root -recurse -include "aaa.exe", "bbb.exe"
}

或者你可以在一行中完成 -

Get-PSDrive -PSProvider 'FileSystem' | % {Get-ChildItem -path $_.Root -recurse -include "aaa.exe", "bbb.exe"}

如果您的可执行文件位于-PSProvider驱动器以外的其他驱动器上,则可以更改FileSystem参数。

© www.soinside.com 2019 - 2024. All rights reserved.