Powershell, WMI и сжатые файлы / папки - PullRequest
0 голосов
/ 30 сентября 2009

Мне нужно создать сценарий, который поможет мне получить список сжатых файлов / папок (не zip-файлов, а сжатых файлов Windows) на ряде серверов Windows 2003. У меня есть клиентский компьютер, подключенный к целевым серверам, и у меня есть доступ на основе роли администратора. Я думал о том, чтобы создать сценарий Powershell для решения этой проблемы с помощью WMI или чего-то еще? Но я отчасти заблудился от возможностей в мире WMI. Любые советы / подсказки приветствуются.

Приветствия

1 Ответ

1 голос
/ 01 октября 2009

Я не уверен, что вы можете сделать это с WMI, тогда я опять не гуру WMI. Если вы можете использовать PowerShell 2.0, это довольно просто, используя новую функцию удаленного взаимодействия, например

$computers = 'server1', 'server2', 'server3'
$compressed = Invoke-Command $computers {Get-ChildItem C:\ -r -force -ea 0 | 
                 Where {$_.Attributes -band [IO.FileAttributes]::Compressed}}

Обратите внимание, что каждый файл и объект dir, хранящиеся в $ compress, будут иметь дополнительное свойство PSComputerName, которое определяет, с какого компьютера пришел десериализованный объект.

В качестве альтернативы, если у вас нет PowerShell 2.0, вы можете получить доступ к серверам через общий ресурс, например ::10000

$sharePaths = '\\server1\C$', '\\server2\C$', '\\server3\C$'
Get-ChildItem $sharePaths  -r -force -ea 0 | 
    Where {$_.Attributes -band [IO.FileAttributes]::Compressed}

Этот подход, вероятно, будет медленным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...