0

我正在尝试使用以下功能为一组 Windows 服务器创建库存报告。但是,这个函数总是无法对所有主机进行 ping 测试,尽管苹果可以从命令行干净地 ping 一些主机。尝试了多种组合,无法弄清楚是什么限制了它击中 ping pass 块?请建议,

def StartInvetoryCollection() :
    for eachline in open('HostList.txt', 'r') :
        RemoteHost = eachline.strip()
        print(RemoteHost, end='')
        if os.system('ping RemoteHost -c 4') == 0 :
            print('\t\tPING=PASS',end='')
            ReportFileName = RemoteHost + '_msinfo.txt'
            os.system('msinfo32 /computer Host /report ReportFileName')
            print('\tData Collection=PASS')
        else :
            print('\t\tPING=FAIL\tData Collection=SKIP')
            pass

Hostlist.txt - 每行包含一个主机名

4

1 回答 1

0

您必须将您的价值传递到os.system

def StartInvetoryCollection() :
    for eachline in open('HostList.txt', 'r') :
        RemoteHost = eachline.strip()
        print(RemoteHost, end='')
        if os.system('ping {} -n 4'.format(RemoteHost)) == 0 :
            print('\t\tPING=PASS',end='')
            ReportFileName = RemoteHost + '_msinfo.txt'
            os.system('msinfo32 /computer Host /report {}'.format(ReportFileName))
            print('\tData Collection=PASS')
        else :
            print('\t\tPING=FAIL\tData Collection=SKIP')
            pass
于 2017-05-30T04:49:14.577 回答