Вывод информации об использовании диска в Powershell - PullRequest
2 голосов
/ 25 февраля 2020

Я довольно новичок в сценариях Powershell, и у меня есть задача, которую мне нужно выполнять каждую неделю для большого списка клиентов.

Я смотрю, как выводить использование / емкость хранилища на каждом сервере.

Get-WmiObject -Class Win32_logicaldisk -Filter "DriveType = '3'" |
Select-Object -Property DeviceID,
@{L='FreeSpaceGB';E={"{0:N2}" -f ($_.FreeSpace /1GB)}},
@{L="Capacity";E={"{0:N2}" -f ($_.Size/1GB)}}

Приведенный выше код выполняет то, что я хочу, однако выводит его так:

DeviceID FreeSpaceGB Capacity
-------- ----------- --------
C:       74.91       231.72  

Я надеялся, что он будет выглядеть примерно так:

C: 74.91GB/231.72GB

Можно ли использовать Select-String для выбора выходных данных приведенного выше кода, а затем использовать эту строку, чтобы получить выходные данные, которые я хочу?

Ответы [ 2 ]

2 голосов
/ 25 февраля 2020

Вы можете использовать строку формата , чтобы получить желаемый результат:

Get-WmiObject -Class Win32_logicaldisk -Filter "DriveType = '3'" | ForEach-Object {
    '{0} {1:N2}GB/{2:N2}GB' -f $_.DeviceId, ($_.FreeSpace /1GB),($_.Size/1GB) 
}
0 голосов
/ 25 февраля 2020

Попробуйте это:

Get-WmiObject -Class Win32_logicaldisk -Filter "DriveType = '3'" | ForEach {
  "$($_.DeviceId) $($_.FreeSpace / 1GB)GB/$($_.Size / 1GB)GB"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...