Home > Knowledge > Powershell – List Compressed Files/Folders

Powershell – List Compressed Files/Folders

Source: http://stackoverflow.com/questions/1500114/powershell-wmi-and-compressed-files-folders

Powershell, WMI and compressed files/folders

Question:

I need to generate a script that will help me in getting a list of compressed files/folders (not zip files, but Windows compressed files) on a range of Windows 2003 servers. I have a client pc connected to the target servers and have access on a administrator role basis. My thoughts was to create a Powershell script to handle this problem using WMI or something else? But I’m kind of lost on the possibilities in the WMI world. Any hints/tips are appreciated.

Cheers

Answer:
I’m not sure if you can do that with WMI, then again I’m no WMI guru. If you can use PowerShell 2.0 this is pretty simple using the new remoting feature e.g.
$computers = 'server1', 'server2', 'server3'
$compressed = Invoke-Command $computers {Get-ChildItem C:\ -r -force -ea 0 | 
                 Where {$_.Attributes -band [IO.FileAttributes]::Compressed}}

Note that each file and dir object stored in $compressed will have an additional property PSComputerName that identifies which computer the deserialized object came from.

Alternatively, if you don’t have PowerShell 2.0 you could access the servers via a share e.g.:

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

Categories: Knowledge Tags: ,
  1. No comments yet.
  1. No trackbacks yet.

Leave a comment