我试图做一个工具,将login到多个远程的Windows服务器,并得到他们的驱动器的细节,并显示在一个窗口下。
我期待在远程服务器上执行的可能命令是wmic logicaldisk get size,freespace,caption
。 我打算得到这个命令的输出并显示它。
我有远程服务器主机名和IP,用户名和密码。
如何连接到这些远程服务器并执行命令?
所以,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
您应该能够使用PowerShell发出远程许可,但必须启用PowerShell远程处理。 这是一个看起来不错的教程。