用何用VB通过WMI远程写入bat文件并执行呀?

解决方案 »

  1.   

    试试看 Option Explicit
    Dim objSWbemLocator As New SWbemLocator
    Dim objSWbemServices As SWbemServices
    Dim objSWbemObjectSet As SWbemObjectSet
    Dim objSWbemObject As SWbemObject, objStartup As SWbemObject, objConfig As SWbemObject
    Dim strComputer As String, strUserName As String, strPassWord As String, strCommand As String
    Private Const SW_NORMAL = 1Private Sub Form_Load()
        Me.Caption = "启动进程"
        strComputer = "."   '.为本机,可以指定远程计算机
        strUserName = ""    '指定计算机的管理员帐号
        strPassWord = ""    '指定计算机的管理员口令
        strCommand = "cmd /k dir" '命令行方式或一个可以带路径的可执行程序例如"c:\winnt\system32\notepad.exe"
        Set objSWbemServices = objSWbemLocator.ConnectServer(strComputer, "root\cimv2", strUserName, strPassWord) '连接到本机的WMI,返回一个对 SWbemServices 对象的引用
    End SubPrivate Sub Command1_Click()
    Dim intReturn As Long, intProcessID As Long
        '构造进程的作为窗口显示
        Set objStartup = objSWbemServices.Get("Win32_ProcessStartup")
        Set objConfig = objStartup.SpawnInstance_
        objConfig.ShowWindow = SW_NORMAL
        ' 建立进程
        Set objSWbemObject = objSWbemServices.Get("Win32_Process")
        intReturn = objSWbemObject.Create(strCommand, Null, objConfig, intProcessID)
        If intReturn <> 0 Then
            MsgBox strCommand & "进程不能被创建!" & _
                vbCrLf & "Command line: " & strCommand & _
                vbCrLf & "Return value: " & intReturn
        Else
            MsgBox strCommand & "进程已创建:" & _
                vbCrLf & "Command line: " & strCommand & _
                vbCrLf & "Process ID: " & intProcessID
        End If
    End Sub  
      

  2.   

    看不明白,例如我要写入一个bat文件到网络上的机子,并执行,应该怎么改?