Как найти местоположение файла по имени и только имени файла, используя get_ciminstance в powershell? - PullRequest
0 голосов
/ 09 января 2020

Я пытаюсь написать скрипт, который будет извлекать определенные c свойства файла на нескольких компьютерах. Я использовал get-childitem, чтобы сделать это, пока не понял, что извлекает только локально. Я читал, что get-ciminstance может использоваться для этого на удаленных машинах, однако во всех примерах, которые я видел, для поиска файлов используются полные пути. Мой сценарий предполагает, что местоположение может быть где угодно на диске C, поэтому он ищет только местоположение на основе имени файла. До сих пор я пробовал несколько вариантов кода с использованием get-ciminstance, но все либо ничего не производят, либо имеют неправильную структуру запроса.

Вот то, что у меня есть сейчас, и это то, что, я считаю, ближе всего к тому, чтобы быть правильно, но я не уверен:

Get-CimInstance -ComputerName $PC -ClassName CIM_DataFile | select Name | Where-Object { $_.Name -like  "install.properties"}

Если кто-нибудь может указать мне правильное направление, это будет очень цениться. Спасибо.

1 Ответ

0 голосов
/ 09 января 2020

Вот хорошая ссылка. https://community.idera.com/database-tools/powershell/powertips/b/tips/posts/accessing-individual-files-and-folders-remotely-via-wmi Имя - это полный путь с двойной обратной косой чертой. Язык фильтра похож на sql. Вы не можете использовать команду invoke?

Get-CimInstance CIM_DataFile -Filter 'name = "c:\\users\\admin\\foo\\file.json"'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...