批量获取多远程 Windows 服务器的系统信息

Posted

技术标签:

【中文标题】批量获取多远程 Windows 服务器的系统信息【英文标题】:Batch to get systeminfo for Multi remote windows servers 【发布时间】:2014-06-23 18:12:37 【问题描述】:

我正在尝试制作一个批处理文件来运行 systeminfo 命令。

我在一台服务器上使用此命令,它正在工作,但我需要多台服务器。

SYSTEMINFO /S 服务器名 /U My_Domain\my_domain_account /p my_password >C:\Systeminfo.txt

我无法使用 powershell,我们有 windows server 2003、2008 和 2008R2。

我需要检查注册所有者和注册组织,但如果能有上述命令的输出就好了。

提前致谢

【问题讨论】:

【参考方案1】:

将您的服务器列表放在一个文本文件中,每行一个服务器名称。然后创建一个如下所示的 .cmd 文件:

@echo off
setlocal enableextensions
for /f %%s in ('type "serverlist.txt"') do call :PROCESS %%s
goto :END

:PROCESS
systeminfo /s %1 > %1.txt
goto :EOF

:END
endlocal

当您运行此脚本时,您将拥有包含每个服务器系统信息的 .txt 文件。

【讨论】:

我应该将域和域帐户放在批处理文件中。我也可以使用 csv 并将所有服务器放在一个 csv 文件中吗? shell 脚本(.cmd 批处理文件)解决方案不使用 CSV 文件。上面的代码假定一个名为 serverlist.txt 的文件包含一个服务器名称列表,每行一个服务器名称。 @echo off setlocal enableextensions for /f %%s in ('type "servers.txt"') do call :PROCESS %%s goto :END :PROCESS SYSTEMINFO /S %1 /U domain \account /P password /FO CSV > C:\systeminfo.csv goto :EOF :END endlocal 我改变了你的脚本,输出是最后一个服务器名称。所以它应该检查一台服务器,保存它,然后转到下一台服务器,所有这些都在一个输出中。 如果您写> C:\systeminfo.csv,CSV 文件将只包含列表中最后一个服务器的信息。您可以写>> C:\systeminfo.csv,但之后您必须编辑 CSV 文件以删除所有重复的标题行。 我建议/CSV /NH >> C:\systeminfo.csv 省略标题行。

以上是关于批量获取多远程 Windows 服务器的系统信息的主要内容,如果未能解决你的问题,请参考以下文章

Windows远程管理——如何远程批量连接登录管理

云服务器批量管理 windows远程桌面连接工具

连接Windows远程服务器的工具

批量windows3389服务器管理器有哪些,哪款最值得推荐

如何使用remote desktop 管理windows远程桌面连接

服务器批量安装系统 服务器批量管理