2016-08-29 7 views
2

私は、サーバーのテキストファイルを通過し、空きディスク容量が25%と10%未満であることを報告するスクリプトを用意しています。しかし、一部のサーバーにはページングファイル用に使用されるP:ドライブがあります。したがって、このドライブをループで無視することをお勧めします。私はPowerShellを使用し、非常に基本的なレベルでだPowershell - Pを除外:foreachループからのドライブ

# Start processing disk space reports against a list of servers 
    foreach($computer in $computers) 
{ 
$disks = Get-WmiObject -ComputerName $computer -Class Win32_LogicalDisk -Filter "DriveType = 3" -EA SilentlyContinue 
$computer = $computer.toupper() 
    foreach($disk in $disks) 
{   
    $deviceID = $disk.DeviceID; 
     $volName = $disk.VolumeName; 
    [float]$size = $disk.Size; 
    [float]$freespace = $disk.FreeSpace; 
    $percentFree = [Math]::Round(($freespace/$size) * 100, 2); 
    $sizeGB = [Math]::Round($size/1073741824, 2); 
    $freeSpaceGB = [Math]::Round($freespace/1073741824, 2); 
     $usedSpaceGB = $sizeGB - $freeSpaceGB; 
     $color = $whiteColor; 

、その構文とどのようにPを除外するようにして任意のヘルプ:ここ

は、ループの一部であるドライブが

答えて

4

追加をいただければ幸いですDeviceID = P:でボリュームを除外するためにWMIフィルタへの条件:

$disks = Get-WmiObject -Class Win32_LogicalDisk -Filter "DriveType = 3 AND DeviceID != 'P:'" -ComputerName $computer -EA SilentlyContinue 

Where-Object$disksコレクションをフィルタするか、

関連する問題