| maison  | Hardware  | réseaux  | programmation  | Logiciel  | Dépannage  | systèmes |  
programmation  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Connaissances Informatiques >> programmation >> Computer Programming Languages >> Content
    Comment faire pour exécuter un processus sur un PC à distance avec WMI
    WMI ( Windows Management Instrumentation ) est utilisé pour contrôler les tâches de gestion dans toute l'interface Windows. L'infrastructure est destinée à C /C + + , mais il peut être mis en œuvre par les programmeurs utilisant n'importe quel langage de script compatible Windows , tels que VBScript. WMI est un outil puissant pour les procédures administratives sur le serveur local , mais il est particulièrement utile pour des machines distantes . Pour WMI pour accéder à un ordinateur distant, l'ordinateur distant doit lui permettre de passer le pare-feu . Instructions
    1

    définir des autorisations sur l'ordinateur distant . Si un administrateur sur "Ordinateur A" a besoin d'accéder à " l'ordinateur B , « il faut laisser le passé "B Computer " pare-feu. Connectez-vous à "Ordinateur B " et ouvrez l'invite de commande . Cliquez sur " Démarrer", " Exécuter" puis tapez " cmd.exe" et appuyez sur "Entrée "
    2

    Tapez la suivante à l' invite de commande: . " Netsh firewall set service de RemoteAdmin enable" puis appuyez "Entrée".
    3

    Créer un objet WBI localisateur avec le code suivant :

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

    connecter à l'ordinateur distant via la «méthode de SWbemLocator.ConnectServer . " Cette fonction retourne un objet " SWbemServices " , qui est utilisé pour exécuter des commandes via la connexion à distance :

    objwbemServices = SWbemLocator.ConnectServer (_

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

    [ ByVal strUser ] _

    [ ByVal strPassword ] _

    [ ByVal strLocale ] _

    [ strAuthority ByVal ] _

    [ ByVal iSecurityFlags ] _

    [ ByVal objwbemNamedValueSet ] _

    )

    Où:

    strServer est le nom de l'ordinateur distant .

    strNamespace peut être laissée en blanc.

    strUser est le nom d'utilisateur à utiliser pour se connecter à l'ordinateur distant.

    strPassword est le mot de passe de l'utilisateur sur l'ordinateur distant.

    strLocale peut être laissée en blanc .

    strAuthority peut également être laissée en blanc .

    iSecurityFlags peut être réglé sur ( 0x0 ) à faire le script continue de tenter de se connecter jusqu'à ce qu'une connexion soit établie. L'alternative est ( 0x80 ) , dans ce cas, la connexion tentera de charger pendant deux minutes, puis mourir

    objwbemNamedValueSet peut être laissée vide

    Pour reprendre l'exemple : . .
    < p> Set objWMIService = objSWbemLocator.ConnectServer ( " Some_Computer ", _

    , _

    " un_utilisateur ", _

    " un_mot_de_passe ", _

    "", _

    "")
    5

    exécuter une commande avec le " Win32_Process classe . " Cette fonction permet d'exécuter une commande sur l'ordinateur distant . Utilisez la syntaxe MS- DOS pour exécuter des commandes dans cette fonction :

    uint32 Créer (produits

    [ en ] chaîne LigneCommande , AB

    [ en ] chaîne CurrentDirectory , AB

    [ en ] Win32_ProcessStartup ProcessStartupInformation , AB

    [out] uint32 ProcessId

    ) ;

    Où:

    LigneCommande est la ligne de commande qui doit être exécutée sur la machine distante .

    CurrentDirectory doit être réglé sur null, à moins qu'il n'existe une raison pour spécifier un répertoire .

    Win32_ProcessStartup ProcessStartupInformation devrait être l'objet de connexion . Dans ce cas , il fera l'objet d' SWbemLocator.ConnectServer créé à l'étape précédente .

    ProcessId deviendra une variable globale contenant l'ID de processus pour cette commande. Entrez un nom de variable unique ici .

    La fonction retourne «0» si le processus est réussi. Numéros de code d'erreur sont renvoyés pour les processus défaillants. Pour notre exemple, la fonction peut s'écrire:

    Set objProcess = objWMIService.Get ( " Win32_Process " )

    intReturn = objProcess.Create _

    ( " une_commande », null, objWMIService , intProcessID )

    Si intReturn < > 0 Then

    Wscript.Echo «processus n'a pas pu être créé. " & _

    " Ligne de commande: " vbNewLine & & strCommand & _

    vbNewLine et " Valeur de retour: " & intReturn

    Else

    Wscript.Echo «Processus de création. " & _

    " Ligne de commande: " vbNewLine & & strCommand & _

    vbNewLine et " ID du processus: " & intProcessID

    End If
    6 < p > Enregistrer le code dans un fichier VBScript (avec l'extension " . VBScript " ) . L' ensemble de l'échantillon de code pour se connecter à un ordinateur distant et d'exécuter un processus :

    Set objSWbemLocator = CreateObject (" WbemScripting.SWbemLocator " )

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

    , _

    " un_utilisateur ", _

    " un_mot_de_passe ", _

    "", _

    "") Photos

    Set objProcess = objWMIService.Get ( " Win32_Process " )

    intReturn = objProcess.Create _

    ( " une_commande ", null, objWMIService , intProcessID )
    < p> Si intReturn < > 0 Then

    Wscript.Echo «processus n'a pas pu être créé. " & _

    " Ligne de commande: " vbNewLine & & strCommand & _

    vbNewLine et " Valeur de retour: " & intReturn

    Else

    Wscript.Echo «Processus de création. " & _

    " Ligne de commande: " vbNewLine & & strCommand & _

    vbNewLine et " ID du processus: " & intProcessID

    End If
    7 < p> cliquez-droit sur le nom du fichier et sélectionnez "Propriétés". Cochez la case " Autoriser l'exécution de ce fichier. " Cliquez sur «Appliquer ». Double-cliquez sur le fichier pour lancer le processus.

    Previous :

    next :
      articles connexes
    ·Comment faire pour convertir un sous-formulaire à une …
    ·Comment faire pour supprimer les emails au ColdFusion 
    ·Bonjour Tutoriel Monde 
    ·Comment faire pour ajouter un résultat dans une liste …
    ·Comment débogage avec Eclipse JSP 
    ·Comment faire pour créer un numéro de téléphone de …
    ·Comment mettre à jour vBulletin 4 Icônes 
    ·Différences entre psuedocode et des organigrammes 
    ·Comment écrire des méthodes de Pseudocode 
    ·Comment puis- je changer le mot de passe via une invite…
      articles en vedette
    ·Microsoft VB NET Certification 
    ·SolidWorks API Tools 
    ·Qu'est-ce qu'un groupe de données dans Coding 
    ·Comment mettre à jour un curseur en utilisant COBOL 
    ·PHP Formation avancée 
    ·Les avantages de codage avec SOA for Clients 
    ·Comment savoir MySQL Query de garder l'espace blanc 
    ·Comment JSON données avec JavaScript 
    ·Comment générer des dates dans les JSP 
    ·Comment faire un tampon en C + + 
    Copyright © Connaissances Informatiques http://fr.wingwit.com