如何在powershell中使用get_ciminstance按文件名查找文件位置,并且仅按文件名查找?

如何在powershell中使用get_ciminstance按文件名查找文件位置,并且仅按文件名查找?,powershell,file,filter,directory,Powershell,File,Filter,Directory,我正在尝试编写一个脚本,该脚本将跨多台计算机检索特定文件的属性。我一直在使用GetChildItem来实现这一点,直到我意识到只在本地检索。我读到过get-ciminstance可以用于远程机器,但是,我看到的所有示例都使用完整路径来查找文件。我的脚本假定该位置可以在C驱动器上的任何位置,因此它只根据文件名查找该位置。到目前为止,我已经尝试了几种使用get-ciminstance的代码变体,但它们要么不产生任何结果,要么具有错误的查询结构 这是我现在所知道的,也是我认为最接近正确的,但我不确定:

我正在尝试编写一个脚本,该脚本将跨多台计算机检索特定文件的属性。我一直在使用GetChildItem来实现这一点,直到我意识到只在本地检索。我读到过get-ciminstance可以用于远程机器,但是,我看到的所有示例都使用完整路径来查找文件。我的脚本假定该位置可以在C驱动器上的任何位置,因此它只根据文件名查找该位置。到目前为止,我已经尝试了几种使用get-ciminstance的代码变体,但它们要么不产生任何结果,要么具有错误的查询结构

这是我现在所知道的,也是我认为最接近正确的,但我不确定:

Get-CimInstance -ComputerName $PC -ClassName CIM_DataFile | select Name | Where-Object { $_.Name -like  "install.properties"}
如果有人能给我指出正确的方向,我将不胜感激。谢谢。

这里有一个很好的链接。Name是完整路径,带有双反斜杠。过滤语言类似于sql。您不能使用invoke命令吗

Get-CimInstance CIM_DataFile -Filter 'name = "c:\\users\\admin\\foo\\file.json"'

谢谢你的回复。我以前看过这个链接,但如果名称实际上是完整路径,那么我想我正在尝试做其他事情。我需要使用文件的实际名称作为筛选值,因为文件路径未知。可能吗?