从多个远程Windows服务器获取磁盘空间信息

时间:2014-01-29 04:07:37

标签: windows remote-server windows-server

我正在尝试创建一个可以登录多个远程Windows服务器并获取其驱动器详细信息并在一个窗口中显示它们的工具。

我期待在远程服务器中执行的可能命令是wmic logicaldisk get size,freespace,caption。我打算获取此命令的输出并显示它。

我有远程服务器主机名和IP,用户名和密码。

如何连接到这些远程服务器并执行命令?

2 个答案:

答案 0 :(得分:3)

因此,PowerShell未启用,这意味着您需要使用批处理文件。 我建议你试试这个剧本。我找到了这个脚本,它工作正常。

我希望这对你有所帮助。

@ECHO OFF
IF "%~1"=="" goto help
IF "%~2"=="" goto help

@SETLOCAL ENABLEEXTENSIONS
@SETLOCAL ENABLEDELAYEDEXPANSION

@FOR /F "tokens=1-3" %%n IN ('"WMIC /node:"%1" LOGICALDISK GET Name,Size,FreeSpace | find /i "%2""') DO @SET FreeBytes=%%n & @SET TotalBytes=%%p

@SET /A TotalSpace=!TotalBytes:~0,-9!
@SET /A FreeSpace=!FreeBytes:~0,-10!
@SET /A TotalUsed=%TotalSpace% - %FreeSpace%
@SET /A PercentUsed=(!TotalUsed!*100)/!TotalSpace!
@SET /A PercentFree=100-!PercentUsed!

IF %TotalSpace% LSS 0 goto error

@ECHO Total space: %TotalSpace%GB
@ECHO Free space: %FreeSpace%GB
@ECHO Used space: %TotalUsed%GB
@ECHO Percent Used: %PercentUsed%%%
@ECHO Percent Free: %PercentFree%%%

@SET TotalSpace=
@SET FreeSpace=
@SET TotalUsed=
@SET PercentUsed=
@SET PercentFree=
goto end

:error
echo.
echo *** Invalid server or drive specified ***
echo.
goto help

:help
echo.
echo diskfree.cmd
echo.
echo Queries remote server for free disk space.
echo Specify a MACHINENAME and a drive letter to be queried
echo.
echo Example:   diskfree.cmd MACHINENAME c:
echo.
goto end


:end 

答案 1 :(得分:0)

您应该能够使用PowerShell发出远程表扬,但您必须启用PowerShell远程处理。 Here是一个看起来不错的教程。

相关问题