| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
Programmazione  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Java Programming

  • Programmazione Javascript

  • PHP /MySQL Programmazione

  • Perl Programming

  • Python Programming

  • rubino Programmazione

  • Nozioni di base di Visual Programming
  •  
    Conoscenza Informatica >> Programmazione >> Computer Programming Languages >> Content
    Come eseguire un processo su un PC remoto con WMI
    WMI (Windows Management Instrumentation ) è utilizzato per controllare le attività di gestione in qualsiasi interfaccia di Windows . L'infrastruttura è rivolto a C /C + + programmatori , ma può essere implementato da programmatori che utilizzano qualsiasi linguaggio di scripting di Windows - compatibile, come VBScript . WMI è un potente strumento per i processi amministrativi sul server locale , ma è particolarmente utile per i computer remoti . Al fine di WMI per accedere a un computer remoto , il computer remoto deve consentire di passare il firewall . Istruzioni
    1

    impostare le autorizzazioni sul computer remoto . Se un amministratore su " Computer A " deve accedere a "Computer B , " deve essere consentito oltre il " B Computer " firewall . Log in " Informatica B " e aprire il prompt dei comandi . Fare clic su "Start ", " Esegui ", quindi digitare "cmd.exe " e premere "Invio"
    2

    Digitare quanto segue al prompt dei comandi : " . Netsh firewall set service RemoteAdmin abilitazione ", quindi premere "Enter ".
    3

    Creare un oggetto WBI localizzatore con il seguente codice :

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

    Collegare al computer remoto tramite il "Metodo SWbemLocator.ConnectServer . " Questa funzione restituisce un oggetto " SWbemServices " , che viene utilizzato per eseguire comandi tramite la connessione remota :

    objwbemServices = SWbemLocator.ConnectServer ( _

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

    [ ByVal strUser ] , _

    [ ByVal strPassword ] , _

    [ ByVal strLocale ] , _

    [ strAuthority ByVal ] , _

    [ ByVal iSecurityFlags ] , _

    [ ByVal objwbemNamedValueSet ] _

    ) per

    Dove :

    strServer è il nome del computer remoto .

    strNamespace può essere lasciato vuoto .

    strUser è il nome utente da utilizzare per accedere al computer remoto .

    strPassword è la password per l'utente sul computer remoto .

    strLocale può essere lasciato vuoto .

    strAuthority può anche essere lasciato vuoto .

    iSecurityFlags può essere impostato su ( 0x0 ) a rendere lo script continuerà a tentare di connettersi fino a quando viene stabilita una connessione . L'alternativa è ( 0x80 ) , nel qual caso il collegamento tenterà di caricare per due minuti , poi morire

    objwbemNamedValueSet può essere lasciato vuoto

    Per continuare l'esempio : . .
    < p > Set objWMIService = objSWbemLocator.ConnectServer ( " Some_Computer " , _

    , _

    " some_user " , _

    " Some_Pass " , _

    " " , _

    " " ) economici 5

    eseguire un comando con il " Win32_Process classe . " Questa funzione verrà eseguito un comando sul computer remoto . Utilizzare la sintassi di MS-DOS per eseguire comandi in questa funzione :

    uint32 Create (

    [ in] Stringa CommandLine , Stati

    [ in] Stringa CurrentDirectory , Stati < p > [ in] Win32_ProcessStartup ProcessStartupInformation , Stati

    [out ] uint32 ProcessId

    ) ;

    Dove :

    CommandLine è la linea di comando che deve essere eseguito sulla macchina remota .

    CurrentDirectory dovrebbe essere impostata su null a meno che non ci sia una ragione per specificare una directory .

    Win32_ProcessStartup ProcessStartupInformation dovrebbe essere l' oggetto di connessione . In questo caso , sarà l'oggetto SWbemLocator.ConnectServer creato nel passaggio precedente .

    ProcessId diventerà una variabile globale contenente l' ID di processo per questo comando . Immettere un nome di variabile univoco qui .

    La funzione restituisce "0" se il processo è riuscito. Codici di errore vengono restituiti per i processi non riusciti . Per il nostro esempio, la funzione può essere scritta :

    objProcess = objWMIService.Get ( " Win32_Process " ) per

    intReturn = objProcess.Create _

    ( " un_qualche_comando " , Null , objWMIService , intProcessID ) per

    intReturn < > 0 Then

    Wscript.Echo "Processo non può essere creata . " & _

    VbNewLine & " Riga di comando: " & strCommand & _

    vbNewLine & " Valore di ritorno : " & intReturn

    Else

    Wscript.Echo "Processo creato. " & _

    VbNewLine & " Riga di comando: " & strCommand & _

    vbNewLine & " ID processo: " & intProcessID

    End If
    6 < p > Salvare il codice in un file VBScript ( con estensione " . vbscript" ) . L'intero codice di esempio per connettersi a un computer remoto ed eseguire un processo è :

    objSWbemLocator = CreateObject ( " WbemScripting.SWbemLocator " ) per

    objWMIService = objSWbemLocator.ConnectServer ( " Some_Computer " , _

    , _

    " some_user " , _

    " Some_Pass " , _

    " " , _

    " " )

    objProcess = objWMIService.Get ( " Win32_Process " ) per

    intReturn = objProcess.Create _

    ( " un_qualche_comando ", null , objWMIService , intProcessID ) per < p > Se intReturn < > 0 Then

    Wscript.Echo "Processo non può essere creata . " & _

    VbNewLine & " Riga di comando: " & strCommand & _

    vbNewLine & " Valore di ritorno : " & intReturn

    Else

    Wscript.Echo "Processo creato. " & _

    VbNewLine & " Riga di comando: " & strCommand & _

    vbNewLine & " ID processo: " & intProcessID

    End If
    7 < p > pulsante destro del mouse sul nome del file e selezionare " Proprietà". Controllare la casella " Consenti l'esecuzione di questo file . " Fare clic su "Applica ". Fare doppio clic sul file per eseguire il processo .

    Previous :

    next :
      Articoli Correlati
    ·Come fare un diagramma di flusso di un programma con mo…
    ·Come creare Web Immagini del sito 
    ·Come imparare PASCAL 
    ·Come archiviare una variabile String in Integer Tipo 
    ·Come mostrare un vincolo di chiave primaria in Oracle 
    ·Come convertire le stringhe di caratteri in valori nume…
    ·Come sottoinsieme di una matrice in MATLAB 
    ·Ancore in codice HTML 
    ·Come cancellare righe da file di testo in PowerShell 
    ·Qual è Computer Programming ? 
      Articoli in evidenza
    ·Che cosa sono Syntax & String in codice del computer ? 
    ·Come passare da Ant a Maven 
    ·Come sostituire un ritorno a capo con uno spazio in Jav…
    ·Come fare un programma in Ruby che stampa un documento 
    ·Come compilare un file RESX a una DLL 
    ·Come aggiungere una casella di testo per DataGridView 
    ·Come sostituire Citazioni su MySQL in PHP 
    ·Perché ricevo un messaggio di Javascript Void 
    ·Come trovare i record duplicati in una tabella 
    ·OpenVex API 
    Copyright © Conoscenza Informatica http://it.wingwit.com