
Bine, hai mai întâi ne uităm la elementele de bază, și anume, orice utilitar de linie de comandă utilizat pentru a gestiona servicii:

sc utilitar (am considerat deja parte a articolului Obținerea unei liste de servicii, pentru Windows Script Host instrumente de linie de comandă și un server) de la aceasta, avem nevoie de doar câteva comenzi, și anume:
Sc începe SERVICE_NAME -Start serviciul din linia de comandă
SERVICENAME Sc pauză - pauză servicii de Windows de la linia de comandă
Sc continua serivce - reînnoirea serviciului de la linia de comandă
Sc opri serivce - stop de la linia de comandă
Parametrul numeserviciu specifică numele serviciului. După cum este necesar să se ia în considerare faptul că serviciile dependente de acesta poate fi la serviciu.
Cu toate acestea, există o opoziție - tipul de pornire, astfel încât în cazul în care serviciul este complet oprit, trebuie mai întâi să modificați tipul de pornire, și numai apoi porniți serviciul Windows din linia de comandă. Pentru a schimba tipul de pornire, puteți utiliza următoarea comandă:
config Sc incepe flag SERVICENAME =
Asigurați-vă că pentru a introduce un spațiu, sau o eroare apare după semnul egal. Steagul are trei valori posibile:
Auto - lansarea automată la pornire
Cerere - pornire manuală
Pentru persoane cu handicap - off

Pentru a porni sau opri serviciul de la linia de comandă, există două utilități:
SERVICENAME net stop
SERVICENAME net start
Nu uitați că puteți gestiona serviciile de Windows din Panoul de control, dosar Instrumente de administrare, servicii de etichete.
În general, această publicație aș fizic în imposibilitatea de a scrie, dacă nu pentru două lucruri:
- De îndată ce am început să blog, apoi punerea în aplicare a programului windowing LangMF folosit cu privire la oportunitățile ei destul de ample, dar imediat ce m-am întâlnit cu WSO componenta. nu mai este nevoie de mine.
- Cum apoi am luat-o în cap pentru a scrie managerul de fișiere folosind codul de limbă JScript urmat de transfer la VBScript. Am aruncat atinge inițiale, dar ... era imposibil să-mi sfatul, m-am dus la forum, și acolo am explicat totul corect, și am dat seama ... că nu a înțeles nimic. După acel moment, am avut o mulțime să se recalifice și regândească, ca urmare, am eliminat aproape toate articolele de pe blog, și a scris altele noi.

Ei bine, acum este momentul pentru a începe programarea, voi arăta mai întâi un exemplu de JScript limbii. În continuare, da o descriere și imagini informative, bine, și apoi un exemplu al VBScript limbii.

În scenariul, am creat două matrice def_column și data_array. să ne uităm la ele:
def_columns - matrice păstrează obiectele care vor fi responsabile pentru procesarea fiecărei coloane. Punerea în aplicare a unui șir de obiecte pentru limba VBScript (citește „Lecția 9 VBScript: Arrays“) și JScript (citește „Lecția 5 pentru JScript: Lucrul cu matrice“) sunt diferite, așa că să ne uităm la totul separat:
Punerea în aplicare pe JScript
def_columns = [,, ...,] - după cum vom vedea, o virgulă în paranteze, noi trebuie să specifice obiectele, dar nu și numele, dar toate cod. Fiecare obiect conține informații despre numele coloanei, dimensiunea, tipul de date și funcția, care este responsabil pentru accesul la elementul selectat din listă.
Punerea în aplicare pe VBScript
def_columns = Array (obekt_1, obekt_2, ... obekt_n) - La prima vedere, totul este simplu, trebuie doar să se înregistreze prin intermediul numelor variabile ale obiectelor (clase), dar există un lucru. În primul rând a trebuit să creeze clase și deoarece cele cinci difuzoare, și clasele ar trebui să fie cinci, cum de a crea o clasă, citește articolul „Lecția 8 VBScript: Obiecte și clase.“ Chiar în fața formării de matrice am creat link-uri către clase, sau în orice fel.

data_array - matrice ca cea anterioară, este format din obiecte, fiecare obiect păstrează informații despre serviciul selectat (numele, starea, alias, și așa mai departe). De fiecare dată când încercați să porniți serviciul din linia de comandă, opriți serviciul din linia de comandă, a întrerupe sau relua, sau în timp ce încerca să proceseze serviciul selectat instrumente pentru Windows WMI va fi un apel la această matrice de index și a prelua datele din obiectul curent. În cele mai multe cazuri, avem nevoie doar de o singură proprietate Numele, toate obiectele sunt stocate cinci proprietăți (numărul de coloane).
Matricea este dinamic, în exemplul JScript adăugarea datelor are loc prin intermediul funcției de apăsare. În VBScript acest lucru nu este posibil, așa că a trebuit să stabilească mai întâi lungimea colecției de servicii, și numai apoi cu cuvântul cheie lungimea set ReDim de matrice.

Toate funcțiile nu va atinge, încercând să câștige toată petiția, și eu, să fiu sincer un astfel de cod imens descurajează. Considerăm că numai funcțiile de control, cele care produc lansarea serviciilor din linia de comandă, stop servicii de la linia de comandă, reînnoire, suspendare, transfer la modul automat, traducerea rezhit manuală și dezactiva serviciile Windows.

Funcția ServiceStop, funcția ServicePause, ServiceContinue - funcții care sunt responsabile pentru oprirea, întreruperea și reluarea serviciului Windows. Codul este aproape la fel ca în funcția anterioară, schimbarea numai numele metodei.
Dar acum începe distracția într-adevăr ..
Funcția ServiceAuto - această funcție este responsabil pentru serviciul de traducere în modul automat. Nu am folosit funcționalitatea WMI și a decis să recurgă la utilitati linie de comandă. Responsabil pentru întregul proces din punctul de următoarele:
WshShell.Run "cmd.exe / c sc config" cur_service_name "Start = Auto" ">" + Temp_file, 1, true
Apoi executați linia de comandă vine cu parametrul „/ c“, adică, se va încheia în mod automat după configurare comanda sc. Cu toate acestea, datele vor fi stocate într-un fișier temporar. Odată ce comanda se va deschide fișierul care a văzut utilizatorul succesul a fost o echipă sau nu.

ServiceManual () și ServiceDisable () - pentru Windows funcția de transfer de servicii în modul manual și dezactivați opțiunea, codul este aproape la fel, schimbarea doar echipa.
Bine, aici este codul VBScript: