2009-09-30 7 views
0

Je dois générer un script qui m'aidera à obtenir une liste de fichiers/dossiers compressés (pas de fichiers zip, mais des fichiers compressés Windows) sur une gamme de serveurs Windows 2003. J'ai un PC client connecté aux serveurs cibles et j'ai accès à un rôle d'administrateur. Mes pensées étaient de créer un script Powershell pour gérer ce problème en utilisant WMI ou autre chose? Mais je suis un peu perdu sur les possibilités dans le monde WMI. Tous les conseils/astuces sont appréciés.Powershell, WMI et fichiers/dossiers compressés

Vive

+0

Je ne sais pas comment marquer un tel fichier ou dossier. Gardez à l'esprit ici, si vous envisagez d'utiliser WMI pour scanner des systèmes, cela sera probablement très lent. –

Répondre

1

Je ne sais pas si vous pouvez le faire avec WMI, puis de nouveau, je ne suis pas gourou WMI. Si vous pouvez utiliser PowerShell 2.0, ceci est assez simple en utilisant la nouvelle fonction d'accès à distance, par ex.

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

Notez que chaque fichier et objet dir stocké dans $ comprimé aura un PSComputerName de propriété supplémentaire qui identifie l'ordinateur l'objet désérialisé est venu.

Sinon, si vous ne disposez pas PowerShell 2.0, vous pouvez accéder aux serveurs via un partage .: par exemple

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

Cette approche est susceptible d'être lente.

+0

Keith: Très bonne solution, mais je peux voir que j'ai besoin d'installer Powershell 2.0 sur tous les serveurs cibles, et je ne suis pas sûr que ce soit une option en ce moment – user155814

+0

Vrai, je suppose que vous pouvez exécuter la commande sans utiliser Invoke -Commandes cmdlets et utiliser les chemins UNC à la place (C $) mais ce serait probablement assez lent. –

Questions connexes