0

Get-WmiObject を介していくつかの情報を取得しています。

$logicalDisks = Get-WmiObject -ComputerName $cmpSys Win32_LogicalDisk

次に、ドライブごとに表示するための非常に基本的な HTML コードを作成します。

Foreach ($disk in $logicalDisks) {
If ($disk.DriveType -eq 3) {
$disksize = [math]::round(($disk.size / 1048576))
$freespace = [math]::round(($disk.FreeSpace / 1048576))
$percFreespace=[math]::round(((($disk.FreeSpace / 1048576)/($disk.Size / 1048676)) * 100),0)
$body += @"
    <font color="red">Drive Letter: </font>$($disk.DeviceID)
    <br>
    <font color="red">Volume Label: </font>$($disk.VolumeName)
    <br>
    <font color="red">FileSystem Type: </font>$($disk.FileSystem)
    <br>
    <font color="red">Disk Size (MB): </font>$($disksize)MB
    <br>
    <font color="red">Free Space (MB) / %: </font>$($freespace)MB / $($percFreeSpace)%
    <br>
    <br>
"@
    }
}

ただし、この表示はかなり一般的であり、使用可能なレポートを他の部門に渡すことを望みます。どうすれば表にフォーマットできますか?何かのようなもの:

DriveLetter    VolumeLabel    FileSystemType    DiskSize   Freespace %
     C             OS             NTFS           100GB         32%
     E            DATA            NTFS           1000GB         2%
4

2 に答える 2

3

"Table" は、ConvertTo-Htmlコマンドレットの既定の出力形式です。

gwmi Win32_LogicalDisk -Computer $cmpSys -Filter 'DriveType = 3' |
  select @{n='DriveLetter';e={$_.DeviceID -replace ':'}},
         @{n='VolumeLabel';e={$_.VolumeName}},
         @{n='FileSystemType';e={$_.FileSystem}},
         @{n='DiskSize';e={"{0}GB" -f [int]($_.Size/1GB)}},
         @{n='Freespace %';e={"{0}%" -f [int]($_.FreeSpace/$_.Size*100)}} |
  ConvertTo-Html -Head '<style>th,td {text-align:center;}</style>'

これを複数のコンピューターに対して実行したい場合 (-Computerホスト名の配列を取ることができます)、ホスト名も含めることができます:

gwmi Win32_LogicalDisk -Computer $cmpSys -Filter 'DriveType = 3' |
  select @{n='Hostname';e={$_.SystemName}},
         @{n='DriveLetter';e={$_.DeviceID -replace ':'}},
         @{n='VolumeLabel';e={$_.VolumeName}},
         @{n='FileSystemType';e={$_.FileSystem}},
         @{n='DiskSize';e={"{0}GB" -f [int]($_.Size/1GB)}},
         @{n='Freespace %';e={"{0}%" -f [int]($_.FreeSpace/$_.Size*100)}} |
  ConvertTo-Html -Head '<style>th,td {text-align:center;}</style>'
于 2013-07-17T22:11:36.490 に答える