【问题标题】:Batch to get systeminfo for Multi remote windows servers批量获取多远程 Windows 服务器的系统信息
【发布时间】: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。

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

提前致谢

【问题讨论】:

    标签: windows batch-file filesysteminfo


    【解决方案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 省略标题行。
    猜你喜欢
    • 2014-02-20
    • 1970-01-01
    • 2017-10-16
    • 2014-05-30
    • 2012-05-06
    • 2022-06-17
    • 2013-03-18
    • 2016-12-09
    相关资源
    最近更新 更多