Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako spustiť proces na vzdialenom počítači S WMI

WMI ( Windows Management Instrumentation ) sa používa pre riadenie úloh správy v akejkoľvek rozhrania systému Windows . Infraštruktúra je zameraný na C /C + + programátorov , ale to môže byť vykonávaná programátorov používajúce ľubovoľný kompatibilný so systémom Windows skriptovací jazyk , ako je napríklad VBScript . WMI je výkonný nástroj pre správu procesov na lokálnom serveri , ale to je obzvlášť užitočné pre vzdialených počítačoch . Aby WMI pre prístup k vzdialenému počítaču , vzdialený počítač musí umožniť , aby prejsť firewall . Návod dovolená 1

Nastaviť oprávnenia na vzdialenom počítači . Ak správca na " Computer A " potrebuje prístup " počítač B " , musí byť umožnené cez firewall " Počítač B " . Prihláste sa do " Computer B " a otvorte príkazový riadok . Kliknite na tlačidlo " Štart " , " Spustiť " , zadajte " cmd.exe " a stlačte tlačidlo " Enter "
2

zadajte na príkazovom riadku : " . Netsh firewall set služba RemoteAdmin povoliť " a potom stlačte " ENTER " .
3

Vytvoriť WBI lokátora objekt s nasledujúcim kódom :

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

Pripojte sa k vzdialenému počítaču pomocou " SWbemLocator.ConnectServer metódy . " Táto funkcia vráti " SWbemServices " objekt , ktorý sa používa na spúšťanie príkazov cez vzdialené pripojenie :

objwbemServices = SWbemLocator.ConnectServer ( _

[ byval strServer ] , _

[ byval strNamespace ] , _

[ byval strUser ] , _

[ byval strPassword ] , _

[ byval strLocale ] , _

[ byval strAuthority ] , _

[ byval iSecurityFlags ] , _

[ byval objwbemNamedValueSet ] _

)

Kde :

strServer je názov vzdialeného počítača .

strNamespace môže ostať prázdne .

strUser je užívateľské meno , ktoré majú byť použité pre prihlásenie do vzdialeného počítača .

strPassword je heslo pre užívateľa na vzdialenom počítači .

strLocale môže ostať prázdne .

strAuthority môžu byť tiež prázdne .

iSecurityFlags možné nastaviť ( 0x0 ) na make skript naďalej pokúšať pripojiť , kým je spojenie naviazané . Alternatívou je ( 0x80 ) , v takom prípade sa spojenie pokúsi načítať po dobu dvoch minút , a potom umrieť

objwbemNamedValueSet môže zostať prázdne

Ak chcete pokračovať v príklade : ..

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

, _

" Some_User " , _

" Some_Pass " , _

" " , _

" " )
5

spustite príkaz s " Win32_Process triedy . " Táto funkcia sa spustí príkaz na vzdialenom počítači . Použite syntax MS - DOS spúšťať príkazy v tejto funkcii :

uint32 Create (

[ v ] reťazec príkazového riadku ,

[ v ] reťazca currentDirectory ,

[ v ] Win32_ProcessStartup ProcessStartupInformation ,

[ z ] uint32 ProcessID

) ;

Kde :

CommandLine je príkazový riadok , ktorý má byť vykonaný na vzdialenom stroji .

currentDirectory by mala byť nastavená na hodnotu NULL , ak nie je dôvod špecifikovať adresár .

Win32_ProcessStartup ProcessStartupInformation by mal byť objekt pripojenia . V tomto prípade to bude SWbemLocator.ConnectServer objekt vytvorený v predchádzajúcom kroku .

ProcessID stane globálne premenné obsahujúce ID procesu pre tento príkaz . Tu zadajte jedinečný názov premennej .

Funkcia vracia hodnotu " 0 " , ak je tento proces úspešný . Čísla Kód chyby sú vrátené za neúspešné procesy . Pre náš príklad , funkcia môže byť písaný :

Set objProcess = objWMIService.Get ( " Win32_Process " )

intReturn = objProcess.Create _

( " Some_Command " , null , objWMIService , intProcessID )

Ak intReturn < > 0 Then

Wscript.echo " Proces nemohol byť vytvorený . " & _

VbNewLine a " Príkazový riadok : " & strCommand & _

vbNewLine & " Návratová hodnota : " & intReturn

Else

Wscript.echo " Proces vytvorený . " & _

VbNewLine a " Príkazový riadok : " & strCommand & _

vbNewLine & " Process ID : " & intProcessID

End If
6

Uložiť kódu v súbore VBScript ( s príponou " . VBScript " ) . Ukážkový kód celý sa pripojiť k vzdialenému počítaču a spustiť proces je :

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 )

Ak intReturn < > 0 Then

Wscript.echo " Proces nemohol byť vytvorený . " & _

VbNewLine a " Príkazový riadok : " & strCommand & _

vbNewLine & " Návratová hodnota : " & intReturn

Else

Wscript.echo " Proces vytvorený . " & _

VbNewLine a " Príkazový riadok : " & strCommand & _

vbNewLine & " Process ID : " & intProcessID

End If
7

pravým tlačidlom myši na názov súboru a vyberte " Vlastnosti " . Zaškrtnite políčko " Povoliť spustenie tohto súboru . " Kliknite na tlačidlo " Použiť " . Dvakrát kliknite na súbor , ktorý chcete spustiť proces .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené