Узнать в Powershell свободное место на диске можно несколькими путями. Самый простой - это использовать следующий командлет:
Get-PSDrive
Так мы увидим информацию о свободном месте на разделах в т.ч. на тех, которые смонтированы в виде iSCSI или VHD. Если нужно увидеть свободное место на диске удаленного компьютера, то нужно пользоваться Invoke-Command. Командлеты удаленного администрирования рассматривались тут.
Invoke-Command -ComputerName AD1,AD2 -ScriptBlock {Get-PSDrive}
Если мы хотим узнать свободное место на VHD(x) дисках виртуальной машины, то мы можем сделать так:
(Get-VM).harddrives | Get-VHD
Проверка через Powershell свободного места на дисках через WMI
Через WMI мы можем получить такую информацию множеством способов. Мы рассмотрим пару из них. Увидеть большинство классов WMI, относящиеся к дискам можно так:
Get-WmiObject -List | where -Property Name -Like "*disk*"
На примере класса Win32_LogicalDisk командлет выглядит так:
Get-WmiObject -Class Win32_logicalDisk
Т.к. данные представлены в байтах их нужно перевести в Гб для более понятного чтения:
Get-WmiObject -Class Win32_logicalDisk | ft -Property DeviceID, `
@{Label="Свободное место(GB)"; Expression={$_.FreeSpace/1Gb}}, `
@{Label="Место на диске всего(GB)"; Expression={$_.Size/1Gb}}
Если мы хотим узнать свободное место на диске удаленного компьютера, то мы можем это сделать и через WMI:
Get-WmiObject -Class Win32_logicalDisk -ComputerName AD1,AD2
О том как удаленно работать через WMI было описано здесь.
...
Подписывайтесь на наш Telegram канал
Теги: #powershell