我正在尝试使用Window 10 WMIC远程调用某些代码。
rem command prompt, machine 1 (main computer)
WMIC /node:"MACHINE_2" process call create "cmd.exe /k "%USERPROFILE%\test.vbs" "
此调用似乎正确完成。它从test.vbs生成部分输出(如下所示),这意味着文件被调用并执行。
' test.vbs, machine 2 (MACHINE_2, in above code)
Set objFSO=CreateObject("Scripting.FileSystemObject")
outFile="%USERPROFILE%\out.txt"
Set objFile = objFSO.CreateTextFile(outFile,True)
objFile.Write "test1" & vbCrLf
objFile.Close
MsgBox("hi")
' CreateObject("WScript.Shell").Run "cmd /c ""nircmd.exe sendkey 0xB3 press"" ", 0
' Set WshShell = Nothing
outFile="%USERPROFILE%\out.txt"
Set objFile = objFSO.CreateTextFile(outFile,True)
objFile.Write "test2" & vbCrLf
objFile.Close
预期行为:脚本应将“test1”写入out.txt。然后它应该打开一个MsgBox。在Machine_2上关闭MsgBox后,它应该用“test2”覆盖out.txt的内容。
MsgBox下面的两行注释代码可以代替MsgBox代码,也具有相同的行为。
在本地执行vbs文件时,会发生预期的行为。但是,在使用WMIC调用时,会打印“test1”,然后执行似乎停止。永远不会显示MsgBox,“test2”永远不会覆盖out.txt。
的内容我很遗憾为什么会发生这种情况,以及我可能采取的步骤使其发挥作用。在这一点上,我已经筋疲力尽了我的谷歌。
答案 0 :(得分:0)
您无法在远程脚本上显示用户界面。
您可能不会弄乱登录用户。