远程安装应用程序

原创 2005年03月03日 11:24:00

最近接到一个差事:写一个远程安装应用程序的东西。因为有个工程是用于网络管理的,需要在每台终端上安装一个客户端。开始的时候考虑用NetBios编程,但是遇到些问题无法解决,应该是本人功力还不够。后来发现WMI可以实现这样的功能,不但可以远程运行应用程序,还可以把本地的文件拷贝到远程机器上去,当然前提是远程机器必须有共享目录。因为不同操作系统上的WMI的接口可能不同,所以不能保证可移植。

运行脚本的方法是将下列脚本拷贝到记事本中,再将其保存为vbs的后缀名,然后在控制台下运行:

cscript 脚本文件名

或者双击脚本文件直接运行

'-----------------------------------------------------------
'远程执行
strComputer = "192.168.0.30"

Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServices = objSWbemLocator.ConnectServer _
    (strComputer, "root/cimv2", "fabrikam/administrator",

"85558418")

Set objNewProcess = objSWbemServices.Get("Win32_Process")

'objWMIServices.Security_.ImpersonationLevel = 3 

Error = objNewProcess.Create _
    ("c:/tmp.bat", null, null, _
        intProcessID)
Wscript.Echo Error
Wscript.Echo intProcessID

执行完如果没有返回错误,可以用下列脚本枚举远程机器上运行的进程


'------------------------------------------------------------
'枚举远程进程
strComputer = "192.168.0.30"

Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServices = objSWbemLocator.ConnectServer _
    (strComputer, "root/cimv2", "fabrikam/administrator",

"85558418")

Set colSwbemObjectSet = _
    objSWbemServices.ExecQuery("Select * From Win32_Process")
For Each objProcess in colSWbemObjectSet
    Wscript.Echo "Process Name: " & objProcess.Name
Next

因为windows的平台上有默认共享的磁盘,所以把需要运行的应用程序可以拷贝到目的机器上的C$下,当然也可以是其他的共享文件夹


'------------------------------------------------------------
'远程拷贝文件
strComputer = "192.168.0.30"
Const OverwriteExisting = TRUE

Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServices = objSWbemLocator.ConnectServer _
    (strComputer, "root/cimv2", "fabrikam/administrator",

"85558418")

'Set objFSO = objSWbemServices.Get("Scripting.FileSystemObject")
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile "C:/va.log", _
    "//" + strComputer + "/C$/", OverWriteExisting

拷贝后可以运行下面的脚本,检查目的机器上是否存在该文件
'--------------------------------------------------------------
'搜索特定扩展名
strComputer = "192.168.0.30"
Const OverwriteExisting = TRUE

Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServices = objSWbemLocator.ConnectServer _
    (strComputer, "root/cimv2", "fabrikam/administrator",

"85558418")

Set colFiles = objSWbemServices.ExecQuery _
    ("Select * from CIM_DataFile where Extension = 'log'")
For Each objFile in colFiles
    Wscript.Echo objFile.Name
Next

因为我需要安装的应用程序很小,而且只是注册一个dll,所以上面的脚本足够满足我的需求,而且该脚本是为网络管理员编写的,所以要得到远程机器上的管理员的帐号和密码并不是什么难事。

如果需要更多的信息,可以去 脚本中心 获取。

当前自定义错误设置禁止远程查看应用程序错误的详细信息,这个问题怎么解决啊

 说明: 服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因)。但可以通过在本地服务器计算机上运行的浏览器查看。 详细信息: 若要使他人能够在远程...
  • parkard
  • parkard
  • 2009-07-29 18:37:00
  • 6173

win7 实现无第三方软件多用户远程登录(软件&教程)

  • 2015年04月12日 17:30
  • 30KB
  • 下载

对linux平台远程升级的一些构想

对linux平台远程升级的一些构想: 1,公司在公网搭建一个 FTP 或 HTTP 形式的服务器(要使用TCP可靠传输的)。 2,目前的文件系统是一个img包含了所有文件的形式,其...
  • etual
  • etual
  • 2014-05-27 17:31:45
  • 1932

Eclipse快速入门:远程调试Java应用

【IT168 技术】在软件开发中,调试是不可或缺的一个环节,它可以帮助开发人员提高效率,节省开发时间。在我认为,本地调试是最优选择,通常情况下,当无法实现本地调试时,我们才会考虑远程调试。   ...
  • aerchi
  • aerchi
  • 2014-04-16 16:45:48
  • 2558

嵌入式linux用xdelta实现程序的远程升级

公司linux嵌入式产品,使用的3G网络,需要远程升级二进制软件,大概十几兆,不算大也不算小,如果每次都完全替换的话,在产品开发初期估计也是不小的流量,所以开始考虑是不是能通过打补丁的方法实现远程升级...
  • xiezhaoxuan
  • xiezhaoxuan
  • 2017-06-12 08:43:50
  • 1162

服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因)。

运行时错误  说明: 服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因)。但可以通过在本地服务器计算机上运行的浏览器查看。  详细信息: 若要使...
  • shmimm
  • shmimm
  • 2010-08-24 10:35:00
  • 3526

运行时错误 说明: 服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序错误的

如果是.net的网站 就到web根目录下找web.config文件,里面就有1楼回答的 注意: 除了手动编辑此文件以外,您还可以使用  Web 管理工具来配置应用程序的设置。可以使用 ...
  • orichisonic
  • orichisonic
  • 2015-12-17 18:39:42
  • 9357

亲测完美解决:服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因)

本来转载自:IT摆渡网--一个IT实时问答系统--快速解决你的任何IT问题,无需等待!---www.itbaiduwang.com 错误的提示为: 运行时错误  ...
  • akuiguosheng
  • akuiguosheng
  • 2017-06-16 20:55:12
  • 8572

Websphere安装、企业部署应用 【应用案例】

Websphere安装、企业部署应用举例 环境 名称 版本 Linux系统 CentOS-5.6-x86_64 Oracle软件 10201_database...
  • huangyanlong
  • huangyanlong
  • 2014-07-26 16:01:36
  • 3022
收藏助手
不良信息举报
您举报文章:远程安装应用程序
举报原因:
原因补充:

(最多只允许输入30个字)