在远程服务器的窗口中检查磁盘容量

在远程服务器的窗口中检查磁盘容量

我在 Windows 中工作,我想通过命令行找出远程 Windows 服务器的磁盘容量。

例如:我是@localhost,现在我想知道服务器 172.68.68.68 的 D: 驱动器是否大于 10 GB。我该如何检查?

所有服务器均运行 Windows 操作系统

答案1

使用 Powershell,您可以使用以下命令:

Get-WmiObject -Class win32_logicalDisk -ComputerName server1, server2, server3, etc | Select-Object pscomputername, deviceid, freespace, size

代替服务器 1、服务器 2 等使用远程服务器名称或 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"
    }

}

答案2

使用命令fsutil

fsutil volume diskfree C:
fsutil volume diskfree \\server\share

输出将会像这样:

Total # of free bytes        : 851127304192
Total # of bytes             : 2147480485888
Total # of avail free bytes  : 851127304192

要仅获取具有可用字节的行,您可以使用:

fsutil volume diskfree C: | find /i "avail free"

答案3

如果您在域中,您可能能够使用 WMI 执行某些操作(WMI 示例)如果你不在域内,可以通过两种方式进行远程监控:

  • 设置 SNMP(带指南的优秀文档) 并编写脚本来轮询 SNMP 守护进程。
  • 使用监控产品。我用过Opsview忍者过去。Microsoft SCOM 也是一个不错的选择(如果您能负担得起许可费用)。

答案4

伙计们,我也想出了一个使用 fsutil 和 telnet 的解决方案:

<package>

  <job id="vbs">

  <script language="VBScript">

     set WshShell = WScript.CreateObject("WScript.Shell")
     WshShell.Run "telnet 182.56.32.23 -l work"
     WScript.Sleep 500
     WshShell.AppActivate "Telnet"
     WScript.Sleep 500
     WshShell.SendKeys "y"
     WshShell.SendKeys "~"      
     WScript.Sleep 500
     WshShell.SendKeys "helloworld"
     WScript.Sleep 500
     WshShell.SendKeys "~"  
     WScript.Sleep 500
     WshShell.SendKeys "C:\Users\work2\Desktop\diskcheck.bat"   
     WScript.Sleep 200
     WshShell.SendKeys "~"

  </script>

 </job>

</package>

磁盘检查.bat:

fsutil 卷可用磁盘 C:
输出:
可用字节总数:17084395520
总字节数:249145847808
可用字节总数:17084395520

相关内容