如何使用.bat
命令找出远程 Windows 服务器的可用/已使用/空闲磁盘空间量?
答案1
如果您在域中的任何地方有 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
方法二:
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\*:"