Как я могу узнать, сколько дискового пространства доступно / использовано / свободно удаленным серверам Windows, с помощью команды .bat
?
4
1 ответ
2
Если вы находитесь где-то в домене, есть powershell, тогда выполните следующую команду для сохранения вывода в общей папке:
powershell gwmi Win32_LogicalDisk -Filter "DriveType=3" ^| select Name, FileSystem,FreeSpace,BlockSize,Size ^| % {$_.BlockSize=(($_.FreeSpace)/($_.Size))*100;$_.FreeSpace=($_.FreeSpace/1GB);$_.Size=($_.Size/1GB);$_} ^| ft -property @{n='Name';e={$_.Name}},FileSystem,@{n='Free,Gb';e={'{0:N2}' -f $_.FreeSpace}}, @{n='Free,%';e={'{0:N2}' -f $_.BlockSize}},@{n='Size,Gb';e={'{0:N3}' -f $_.Size}} -AutoSize
способ 2:
wmic logicaldisk where DriveType="3" get caption, VolumeName, VolumeSerialNumber, Size, FileSystem, FreeSpace
Вы можете создать множество запросов для удаленных машин WMI, используя список, например:
wmic /node::@"c:\computers.txt" <<WQL query>>
Список компьютеров в домене:
dsquery computer -limit 5000 | dsget computer -samid
Если вы хотите убедиться, что во всех операционных системах Windows используются сценарии WSH.
Дополнительно:
Свободное место, файлы и каталог для конкретного диска:
dir C:\ /A:- | find " bytes" | findstr [0-9]*\s*i*(s)
перечисления имен дисков:
mountvol | findstr .:\\
Могут быть имена, которые удалены в системе - "лишние" имена дисков -
REG QUERY "HKLM\SYSTEM\MountedDevices" /v /k /f "\DosDevices\*:"