roc*_*cko 18 windows disk-space cmd.exe
我在 Windows 中工作,我想通过远程 Windows 服务器的命令行磁盘容量找出。
例如:我是@localhost,现在我想知道服务器172.68.68.68的D:驱动器是否大于10 GB。我该如何检查?
所有服务器都运行 Windows 操作系统
Kel*_*ari 18
使用 Powershell,您可以使用以下命令:
Get-WmiObject -Class win32_logicalDisk -ComputerName server1, server2, server3, etc | Select-Object pscomputername, deviceid, freespace, size
Run Code Online (Sandbox Code Playgroud)
将server1、server2 等替换为远程服务器名称或 IP。
输出如下所示:

如果需要,您可以添加| Export-Csv -Path .\drives.csv到脚本的末尾以将文件输出到逗号分隔值 (CSV) 文件,以便与 Excel 一起使用。如果这样做,当您打开 Excel 时,您需要将 Excel 中的驱动器大小列格式化为数字。
只是为了傻笑,我写了这个 PowerShell 脚本,它将在 Active Directory 中的所有服务器上执行任务:
$ErrorActionPreference= 'silentlycontinue'
Get-ADComputer -Filter 'OperatingSystem -like "*Server*"' -Properties * | Select-Object Name |
ForEach-Object {
If (Test-Connection $_.Name -Count 1){
Get-WmiObject -Class win32_logicalDisk -ComputerName $_.Name |
Select-Object pscomputername, deviceid, freespace, size
}
else {
Write-host $_.Name " Connection Error"
}
}
Run Code Online (Sandbox Code Playgroud)
Joa*_*der 10
使用命令fsutil:
fsutil volume diskfree C:
fsutil volume diskfree \\server\share
Run Code Online (Sandbox Code Playgroud)
输出将类似于:
Total # of free bytes : 851127304192
Total # of bytes : 2147480485888
Total # of avail free bytes : 851127304192
Run Code Online (Sandbox Code Playgroud)
要仅获取带有可用字节的行,您可以使用:
fsutil volume diskfree C: | find /i "avail free"
Run Code Online (Sandbox Code Playgroud)