Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Computer Programspråk >> Content

    Hur man driver en process på en Remote PC Med Wmi

    WMI ( Windows Management Instrumentation ) används för att styra förvaltningsuppgifter i alla Windows -gränssnittet . Infrastrukturen är riktad till C /C + + programmerare , men det kan genomföras av programmerare som använder någon Windows - kompatibel skriptspråk , såsom VBScript . WMI är ett kraftfullt verktyg för administrativa processer på den lokala servern , men det är särskilt användbart för fjärrdatorer . För att WMI att komma åt en annan dator , måste fjärrdatorn låta det passera brandväggen . Instruktioner
    ett tillstånd

    SET på fjärrdatorn . Om en administratör på " Dator A " måste komma " Computer B , " måste det vara tillåtet förbi " Dator B " brandvägg . Logga in " Computer B " och öppna kommandotolken . Klicka på " Start", " Kör ", skriv " CMD.EXE " och tryck på " Enter "
    2

    Skriv följande i kommandotolken : " . Netsh firewall set tjänsten RemoteAdmin aktivera " och tryck sedan på " Enter ".
    3

    Skapa en WBI lägesobjekt med följande kod :

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

    Anslut till fjärrdatorn via " SWbemLocator.ConnectServer Method . " Denna funktion kommer att returnera ett " SWbemServices " objekt , som används för att utföra kommandon via fjärranslutning :

    objwbemServices = SWbemLocator.ConnectServer ( _

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

    [ ByVal strUser ] , _

    [ ByVal strPassword ] , _

    [ ByVal strLocale ] , _

    [ ByVal strAuthority ] , _

    [ ByVal iSecurityFlags ] , _

    [ ByVal objwbemNamedValueSet ] _

    ) katalog

    Var :

    strServer är namnet på fjärrdatorn .

    strNamespace kan lämnas tomt .

    strUser är det användarnamn som ska användas för att logga in på fjärrdatorn .

    strPassword är lösenordet för användaren på fjärrdatorn .

    strLocale kan lämnas tomt .

    strAuthority också kan lämnas tomt . kan ställas in ( 0x0 ) till

    iSecurityFlags göra manuset att fortsätta att försöka ansluta förrän en anslutning har upprättats . Alternativet är ( 0x80 ) , i vilket fall anslutningen kommer att försöka ladda i två minuter , sedan dö

    objwbemNamedValueSet kan lämnas tomt

    För att fortsätta exemplet : . .

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

    , _

    " Some_User " , _

    " Some_Pass " , _

    " " , _

    " " )
    5

    Kör ett kommando med " Win32_Process klass . " Denna funktion kommer att köra ett kommando på fjärrdatorn . Använd MS - DOS- syntax för att köra kommandon i denna funktion :

    uint32 Skapa (

    [ i ] string CommandLine ,

    [ i ] string currentDirectory ,

    [ i ] Win32_ProcessStartup ProcessStartupInformation ,

    [ ut ] uint32 ProcessId

    ) ,

    Var :

    CommandLine är kommandoraden som ska avrättas på fjärrdatorn .

    currentDirectory ska in på null om det inte finns en anledning att ange en katalog .

    Win32_ProcessStartup ProcessStartupInformation bör anslutningen objektet . I detta fall kommer det att vara SWbemLocator.ConnectServer objektet skapades i föregående steg .

    ProcessId blir en global variabel som innehåller process-ID för detta kommando . Ange ett unikt variabelnamn här .

    Funktionen returnerar " 0 " om den blir framgångsrik . Felkodnumren returneras för misslyckade processer . För vårt exempel , kan funktionen skrivas :

    Set objProcess = objWMIService.Get ( " Win32_Process " ) katalog

    intReturn = objProcess.Create _

    ( " Some_Command " , null , objWMIService , intProcessID ) katalog p Om intReturn < > 0 Then

    wscript.echo " Process kunde inte skapas . " & _

    VbNewLine & " Command line : " & strCommand & _

    vbNewLine & " Return value : " & intReturn

    Else

    wscript.echo "Process skapas. " & _

    VbNewLine & " Command line : " & strCommand & _

    vbNewLine & " Process -ID : " & intProcessID

    End If
    6

    Spara koden i en VBScript -fil ( med filändelsen " . VBScript " ) . Hela kodexempel för att ansluta till en annan dator och köra en process är :

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

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

    , _

    " Some_User " , _

    " Some_Pass " , _

    " " , _

    " " )

    Set objProcess = objWMIService.Get ( " Win32_Process " ) katalog

    intReturn = objProcess.Create _

    ( " Some_Command " , Null , objWMIService , intProcessID ) katalog

    Om intReturn < > 0 Then

    wscript.echo " Process kunde inte skapas . " & _

    VbNewLine & " Command line : " & strCommand & _

    vbNewLine & " Return value : " & intReturn

    Else

    wscript.echo "Process skapas. " & _

    VbNewLine & " Command line : " & strCommand & _

    vbNewLine & " Process -ID : " & intProcessID

    End If
    7

    Högerklicka på filnamnet och välj " Egenskaper . " Markera rutan för " Tillåt att den här filen . " Klicka på " Apply ". Dubbelklicka på filen för att köra processen .

    Tidigare:

    nästa:
    relaterade artiklar
    ·Vilka är de två språk som används mest för Profess…
    ·Hur kompilera med COBOL
    ·Vad betyder Debugging Query
    ·Hur man kommunicerar med en DLL i en annan process
    ·Hur man använder Asp.net Styra HTM filer
    ·iPhone Utveckling Komponenter
    ·Hur du använder HTTP-komprimering & Coldfusion
    ·Handledning för SQL lagrade procedurer
    ·Skillnader mellan Definiera en icke - Special Medlem Fu…
    ·Hur Center en Drop - Down in HTML
    Utvalda artiklarna
    ·Egenskaper av algoritmer
    ·Typer av Visual Basic Verktygsfält
    ·Hur man hittar en sträng i en annan sträng med PHP
    ·Konvertera strängar till nummer i Java
    ·Hur man gör ett klickar spel med Visual Basic
    ·Så här anger ett gränssnitt i UML
    ·Hur mäter millisekunder i ANSI C
    ·Hur du kontrollerar om NotNull i Java 6
    ·Hur man beräknar korrelation på Ti - 84 Plus
    ·Hur man skriver ett PHP- skript som dynamiskt bygger Ex…
    Copyright © Dator Kunskap http://www.dator.xyz