远程安装应用程序

原创 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,所以上面的脚本足够满足我的需求,而且该脚本是为网络管理员编写的,所以要得到远程机器上的管理员的帐号和密码并不是什么难事。

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

虚拟化技术在智能终端的应用

嵌入式虚拟化是指嵌入式系统中部署虚拟机监控程序。尽管嵌入式设备一直受到严格的资源限制,但今天的设备范围广泛--从拥有服务器级功能(比如对虚拟化的硬件支持)的强大处理器到拥有计较少容量和资源的功耗优化系...
  • suipingsp
  • suipingsp
  • 2014年07月31日 17:04
  • 1674

远程安装服务器操作系统Linux14.04

使用ipmi 进行服务器操作系统Linux14.04的安装和网络配置
  • heivy
  • heivy
  • 2016年01月05日 16:00
  • 2244

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

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

【读书笔记】 Android 应用程序的安装和显示过程

这是罗升阳的《Android 系统源代码情景分析》一书中第16章,Android 应用程序的安装和显示过程,一章的摘要。 一、应用程序的安装过程 PackageManagerService...
  • yxhuang2008
  • yxhuang2008
  • 2016年06月29日 22:57
  • 748

iOS7.1企业应用"无法安装应用程序 因为证书无效"的解决方案

http://blog.csdn.net/zhaoxy_thu/article/details/21133399 今天升级了iOS7.1后发现通过之前的url无法安装企业应用了,一直提示“无法安...
  • x32sky
  • x32sky
  • 2014年03月14日 15:03
  • 42853

远程向Linux服务器安装jdk

1、到oracle官网下载jdk(http://www.oracle.com/index.html ) 2、以jdk-6u21-linux-x64.bin为例 3、Downloads->Java...
  • James_qqh
  • James_qqh
  • 2016年07月05日 17:03
  • 1373

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

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

解决hostsplus无法安装的问题

记得几个月前,我在新Mac上安装hostsplus工具,然后出现了下面的错误:无法安装应用程序,因为安装程序文件已损坏。请尝试从应用程序作者处获取新的安装程序文件。本来我以为是新系统的原因导致了安装包...
  • chaijunkun
  • chaijunkun
  • 2017年07月17日 16:34
  • 529

用PSTools实现软件的远程批量安装或更新

最近有个项目,以c/s架构开发,客户端需要部署到50多台客户机上。但是软件的维护管理(包括安装、更新等)都由一个人来做,此人也不希望客户端程序自己悄悄更新。所以必须设计一种软件远程批量安装和更新的方案...
  • chenyuxin32
  • chenyuxin32
  • 2017年01月04日 16:14
  • 784

远程操作Linux下安装Tomcat服务器并安装部署Java Web程序

远程操作Linux下安装Tomcat服务器并安装部署Java Web 1.概述 开始进行操作前,我们需要准备以下工具以及软件: winscp:用于在本地和远程计算机间安全的复制移动文件。Xshel...
  • u013439635
  • u013439635
  • 2017年04月21日 20:36
  • 1866
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:远程安装应用程序
举报原因:
原因补充:

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