刷新DNS远程输出到文本文件为空

时间:2014-01-10 07:43:30

标签: vbscript psexec

我正在尝试远程刷新多个服务器并将结果输出到文本文件。运行我的脚本后,我的文本文件为空。

脚本:

Const ForReading = 1
Set fso   = CreateObject("Scripting.FileSystemObject")
Set wshShell = WScript.CreateObject("WSCript.shell")
Set textFile = fso.OpenTextFile("C:\Scripts\servers.txt", ForReading)
Set logFile = fso.CreateTextFile("C:\Scripts\logsssss.txt")

Do Until textFile.AtEndOfStream
hostName = textFile.Readline
Do
wshShell.run("cmd /c psexec \\" & hostName &" -u IDEALCORP\acorrera -s ipconfig /flushdns >> & hostName,TRUE")
Loop Until True
Loop

为什么我的输出是空白的?需要在我的脚本中更改/修改什么内容?

2 个答案:

答案 0 :(得分:2)

引号不在位,最好在Run方法中包含窗口样式

NO  : wshShell.run "cmd /c psexec \\" & hostName &" -u IDEALCORP\acorrera -s ipconfig /flushdns >> & hostName,TRUE"
YES : wshShell.run "cmd /c psexec \\" & hostName &" -u IDEALCORP\acorrera -s ipconfig /flushdns >> " & hostName,0,TRUE

答案 1 :(得分:0)

  1. 您希望通过无休止地循环第一个hostName的命令来实现什么目标?
  2. 为什么不检查命令的返回值?
  3. 如果你不写信,logFile怎么能包含任何内容?
  4. 您是否从控制台测试了命令?