Powershell – List Compressed Files/Folders
Source: http://stackoverflow.com/questions/1500114/powershell-wmi-and-compressed-files-folders
Powershell, WMI and compressed files/folders
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
$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$'
This approach is likely to be slow.
Get-ChildItem $sharePaths -r -force -ea 0 |
Where {$_.Attributes -band [IO.FileAttributes]::Compressed}