批量获取多远程 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 服务器的系统信息的主要内容,如果未能解决你的问题,请参考以下文章
批量windows3389服务器管理器有哪些,哪款最值得推荐