标题: [问题求助] [已解决]WSH的远程脚本为何出错 [打印本页]
作者: happyxxdhaha 时间: 2015-3-3 21:53 标题: [已解决]WSH的远程脚本为何出错
本帖最后由 happyxxdhaha 于 2015-4-2 21:53 编辑
如下是《Windows脚本技术》中关于远程脚本的示例代码,为什么我运行后,会出现错误:"ActiveX部件不能创建对象。",XP,Win7下都不行,请大家帮帮我。个人觉得,这段代码实现的功能,类似于at \\computername,已知at都可以执行成功,为什么这段代码不行呢,远程运行脚本还需要满足什么条件呢?- Set oController = CreateObject("WSHController")
- Set oProcess = oController.CreateScript("test.vbs", "192.168.1.2")
- oProcess.Execute
- While oProcess.Status <> 2
- WScript.Sleep 100
- Wend
- WScript.Echo "Done"
复制代码
作者: czjt1234 时间: 2015-3-19 11:26
要连接到远程计算机
一、
连接远程计算机用的账户名必须有管理员权限
即该账户名必须在远程计算机的Administrators用户组里
默认是以本机当前登录的账户名和密码连接远程计算机
如果要以其他账户名连接,可以用cmd命令runas
二、
远程计算机要在"组策略"里修改网络访问的模式
运行gpedit.msc→计算机配置→Windows设置→本地策略→安全选项→网络访问:本地账户的共享和安全模式
将 "仅来宾 - 本地用户以来宾身份验证" 改为 "经典 - 本地用户以自己的身份验证"
winxpsp3默认是来宾模式,win2003sp2 win7sp1默认是经典模式
三、
如果远程计算机有防火墙,那么还必须在防火墙设置里开启相应的端口
查看计算机连接使用的端口,可用cmd命令netstat -n
四、
远程计算机必须修改注册表
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Script Host\Settings]
"Remote"="1"
五、
如果出现"ActiveX 组件不能创建对象"的错误消息
在远程计算机上运行
Wscript.exe -regserver
经测试
本机winxpsp3连接远程winxpsp3,需要在远程计算机上运行该命令
本机winxpsp3连接远程win2003sp2,不需要运行该命令
六、
WshController.CreateScript()方法只连接远程计算机,不执行指定的脚本文件
WshRemote.Execute()方法负责在远程计算机上执行指定的脚本文件
可以远程执行.vbs .wsf .js文件,不能执行.bat .exe文件
比如参数值为"C:\1.vbs"
如果本机有该文件,则可以执行
如果本机没有该文件,则不可以执行
与远程计算机有无该文件无关
又比如参数值为UNC路径"\\a002\C\1.vbs"
如果本机的网上邻居可以访问该UNC路径,则可以执行
如果本机的网上邻居不可以访问该UNC路径,则不可以执行
与远程计算机是否可以访问该UNC路径无关
如果该1.vbs负责创建文件或文件夹,则只在远程计算机上创建,本机不会创建
因为1.vbs是在远程计算机上执行的
远程脚本不支持输入输出语句Inputbox() Msgbox(),否则报错
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |