| Casa | Hardware | Redes | Programación | software | Criticar | Sistemas |   
Programación  
  • C /C + + Programming

  • Lenguajes De Programación

  • Delphi Programación

  • Programación Java

  • JavaScript Programación

  • Programación PHP /MySQL

  • Perl Programming

  • Python Programming

  • Rubí Programación

  • Visual Basics Programación
  •  
    Conocimientos Informáticos >> Programación >> Lenguajes De Programación >> Content
    Cómo ejecutar un proceso en un PC remoto con Wmi
    WMI ( Windows Management Instrumentation ) se utiliza para controlar las tareas de administración de cualquier interfaz de Windows . La infraestructura está dirigido a C /C + + programadores , pero puede ser implementado por los programadores que utilizan cualquier lenguaje de programación compatible con Windows, como VBScript. WMI es una poderosa herramienta para los procesos administrativos en el servidor local , pero es particularmente útil para las máquinas remotas . Con el fin de WMI para acceder a un ordenador remoto , el equipo remoto debe permitir que pase el firewall. Instrucciones
    1

    establecer permisos en el equipo remoto . Si un administrador en "Equipo A" tiene que acceder a " equipo B ", se le debe permitir más allá del " equipo B " firewall. Acceda a " equipo B " y abra el símbolo del sistema . Haga clic en " Inicio", " Ejecutar", escribe " cmd.exe " y presionar " Enter"
    2

    Escriba lo siguiente en el símbolo del sistema : . " Netsh firewall set servicio RemoteAdmin enable" y pulse " Enter".
    3

    Crear un localizador de objetos WBI con el siguiente código :

    Set objSWbemLocator = CreateObject ( " WbemScripting.SWbemLocator ")
    4

    Conectar al ordenador remoto a través del "método SWbemLocator.ConnectServer . " Esta función devuelve un objeto " SWbemServices " , que se utiliza para ejecutar comandos a través de la conexión remota :

    objwbemServices = SWbemLocator.ConnectServer (_

    [ ByVal strServer ] , _
    < p> [ ByVal strNamespace ] , _

    [ ByVal strUser ] , _

    [ ByVal strPassword ] , _

    [ ByVal strLocale ] , _

    [ strAuthority ByVal ] , _

    [ ByVal iSecurityFlags ] , _

    [ ByVal objwbemNamedValueSet ] _

    )

    Dónde :

    strServer es el nombre del equipo remoto .

    strNamespace puede dejarse en blanco .

    strUser es el nombre de usuario que se utilizará para iniciar sesión en el equipo remoto.

    strPassword es la contraseña del usuario en el equipo remoto.

    strLocale puede dejarse en blanco .

    strAuthority también puede dejarse en blanco.

    iSecurityFlags se puede ajustar a ( 0x0 ) para hacer que continúe la secuencia de comandos para intentar conectarse hasta que se establezca una conexión . La alternativa es ( 0x80 ) , en cuyo caso la conexión se intentará cargar durante dos minutos , y luego morir

    objwbemNamedValueSet puede dejarse en blanco

    Para continuar con el ejemplo : . .
    < p> Set objWMIService = objSWbemLocator.ConnectServer ( " Some_Computer ", _

    , _

    " some_user ", _

    " some_pass ", _

    " ", _

    "")
    5

    Ejecutar un comando con la "Clase Win32_Process . " Esta función se ejecutará un comando en el equipo remoto . Utilice la sintaxis de MS -DOS para ejecutar comandos en esta función :

    uint32 Crear (

    [ en ] string CommandLine ,

    [ en ] string CurrentDirectory ,
    < p > [ en ] Win32_ProcessStartup ProcessStartupInformation ,

    [out] uint32 ProcessId

    ) ;

    Dónde :

    CommandLine es la línea de comandos que se va a ejecutar en la máquina remota se debe establecer .

    CurrentDirectory en Null a menos que haya una razón para especificar un directorio.

    Win32_ProcessStartup ProcessStartupInformation debe ser el objeto de conexión. En este caso , será el objeto SWbemLocator.ConnectServer creado en el paso anterior .

    ProcessId se convertirá en una variable global que contiene el ID de proceso de este mandato . Introduzca un nombre de variable única aquí .

    La función devuelve " 0 " si el proceso tiene éxito . Números de código de error se devuelven a los procesos que han fallado. Para nuestro ejemplo, la función se puede escribir :

    Set objProcess = objWMIService.Get ( " Win32_Process " )

    intReturn = objProcess.Create _

    ( " Some_Command " , Null, objWMIService , intProcessID )

    Si intReturn < > 0 Entonces

    Wscript.Echo " El proceso no pudo ser creada. " & _

    " Línea de comandos: " Y vbNewLine y strCommand & _

    vbNewLine y " Valor de retorno :" & intReturn

    demás

    Wscript.Echo "Proceso de creación. " & _

    " Línea de comandos: " Y vbNewLine y strCommand & _

    vbNewLine & " Id. de proceso: " & intProcessID

    End If
    6 < p> Guarde el código en un archivo VBScript (con la extensión " . VBScript ") . El ejemplo de código entero para conectarse a un equipo remoto y ejecutar un proceso es:

    Set objSWbemLocator = CreateObject ( " WbemScripting.SWbemLocator " )

    Set objWMIService = objSWbemLocator.ConnectServer ( " Some_Computer " , _

    , _

    " some_user ", _

    " some_pass ", _

    " ", _

    "")

    Set objProcess = objWMIService.Get ( " Win32_Process " )

    intReturn = objProcess.Create _

    ( " Some_Command " , Null, objWMIService , intProcessID )
    < p> Si intReturn < > 0 Entonces

    Wscript.Echo " El proceso no pudo ser creada. " & _

    " Línea de comandos: " Y vbNewLine y strCommand & _

    vbNewLine y " Valor de retorno :" & intReturn

    demás

    Wscript.Echo "Proceso de creación. " & _

    " Línea de comandos: " Y vbNewLine y strCommand & _

    vbNewLine & " Id. de proceso: " & intProcessID

    End If
    7 < p> Haga clic en el nombre del archivo y seleccione " Propiedades". Marque la casilla "Permitir ejecutar el archivo . " Haga clic en " Aplicar". Haga doble clic en el archivo para ejecutar el proceso .

    Previous :

    next :
      Artículos relacionados
    ·Cómo encontrar la formación SAS 
    ·Técnica modularización 
    ·Cómo reemplazar los espacios en subcadenas DOS 
    ·Cómo grabar con Flowplayer 
    ·Cómo hacer un Browser 3D 
    ·Cómo hacer una columna en un GridView en una lista Dro…
    ·Rampa Filter en MATLAB 
    ·Cómo Organizar Div sobre Refresh 
    ·Cómo crear un correo a la Forma Script 
    ·Guía del programador de EGA y VGA Cards 
      Artículos destacados
    ·Cómo leer caracteres en FORTRAN 
    ·Cómo reemplazar una etiqueta H2 
    ·Cómo insertar INT en MySQL 
    ·Cómo utilizar las fichas de Visual Basic 
    ·Cómo utilizar una tabla hash en una aplicación de Vis…
    ·Cómo cambiar el campo de la forma valor con JavaScript…
    ·Cómo agregar un Border Uso de la programación HTML 
    ·Cómo utilizar un Vector iterador STL 
    ·Cómo escribir un script que borra archivos 
    ·Cómo utilizar la función Strcmp en C + + 
    Copyright © Conocimientos Informáticos http://ordenador.wingwit.com