Scheduler din linia de comandă, ferestre pro-l

Inregistrarea pentru conferinta

Utilizarea utilităților jt.exe pentru locuri de muncă de planificare pe sisteme la distanță

Cu toate acestea, în unele cazuri, trebuie să lucrăm cu serviciul Task Scheduler din linia de comandă. Pentru a se asigura compatibilitatea cu noile versiuni ale sistemelor de operare AT.exe utilitate salvat, dar trebuie să ia în considerare faptul că are anumite limitări. Acest lucru se datorează faptului că setarea implicită, plasate în programul folosind comenzi AT.exe vor fi executate în numele contului Local System, care din motive de siguranță este privat de drepturile de acces la rețea. Această restricție poate cauza probleme atunci când executați programul în grafic, sunt pe un alt computer.

De asemenea, trebuie amintit că, în cazul în care serviciul Task Scheduler este folosit pentru a rula programat un program de pe un computer la distanță, iar în cazul în care înregistrarea pe sistemul la distanță se realizează nu se află sub respectivul cont de utilizator în numele căreia ar trebui să fie executați programul, atunci când începe programul de pe ecran nici o informație nu va fi afișat computerul la distanță. Prin urmare, în acest fel ar trebui să ruleze numai acele programe pe un program care nu va funcționa corect fără intervenția utilizatorului.

Parametrii liniei de comandă de utilitate Jt

Înainte de a discuta în detaliu scenariul JTRun.vbs, să ne uităm la Jt sintaxa utilitar de linie de comandă. Pentru a efectua comenzile de pornire programate de pe computerul la distanță, script-ul utilizează argumentele de linie de comandă la cinci utilitate Jt: / mp, / saj, / sc, / CTJ, și / sj. Pentru a obține ajutor cu privire la oricare dintre aceste argumente, este necesar atunci când se pornește programul Jt specifica /. De exemplu, dacă doriți să obțineți informații de fond cu privire la cheie / mp, trebuie să executați comanda de mai jos:

Cheie / mp specifică numele calculatorului. Când setați numele sistemului de utilitate Jt, înainte de numele pentru a pune un backslash dublu (). Când executați JTRun.vbs script acest simbol în numele sistemului poate fi omis, deoarece script-ul se adaugă el însuși. De asemenea, trebuie avut în vedere faptul că transferul de opțiuni de linie de comandă rula cheie Jt / mp trebuie să vină în primul rând, ca și pentru disponibilitatea acestui instrument, în primul rând numele calculatorului este o necesitate. Tastele rămase pot fi specificate în orice ordine.

Cheie / CTJ permite stabilirea parametrilor programați pentru o anumită lucrare. În acest fel, folosind mai multe perechi de valori ale parametrului formă = valoarea. În acest scenariu, se aplică următoarele perechi JTRun.vbs: StartTime = acum, Tip = o dată și pentru persoane cu handicap = 0. Parametrul StartTime = spune acum că plasat în sarcina programul va fi executat imediat, sau, mai degrabă, în minutul următor, după sosirea sa în programul. Cu alte cuvinte, în cazul în care echipa este în picioare în program, de exemplu, în 12:33:45, acesta va fi lansat în 12:34:00. Parametrul Tip = indică o dată că programul ar trebui să ruleze doar o singură dată. Poate părea ciudat, dar prezența parametrului = 0 handicap este necesară, deoarece, în cazul în care nu specifică lucrarea va fi format și va apărea în lista de locuri de muncă active (activat), dar execuția este pornit nu va.

Cheie / sj vă permite să specificați o aplicație pentru sine și parametrii de linie de comandă și directorul de pornire începe (de ex. E. Directorul de la care se va executa lucrarea). Ca și în cazul / CTJ, comutatorul / folosește, de asemenea, o SJ pereche de forma parametru / valoare. În scenariul în JTRun.vbs cheie / sj următoarele valori se aplică: ApplicationName = calea și numele de fișier al programului pentru a rula, argumente Parametrii = linia de comandă a programului, WorkingDirectory = calea către directorul și executați DeleteWhenDone = 1. ApplicationName proprietate este opțională și specifică calea și numele fișierului referitor la distanță computerul (nu locală). Parametrii de proprietate este opțională și specifică argumentele de linie de comandă pentru a rula programe. În cazul în care conținutul acestei proprietăți conține spații, atunci acesta trebuie să fie închise în ghilimele duble ( „“) între ghilimele. De asemenea, trebuie avut în vedere faptul că utilitatea Jt limitarea inerentă, care este faptul că parametrii descriși în proprietatea ApplicationName și parametrii, nu trebuie să conțină ghilimele. WorkingDirectory seturi de parametri opționale pentru directorul de pornire de program. Un alt opțional, DeleteWhenDone, trebuie să se specifice ar trebui să elimine sarcina Programator de activități de service după lansarea cu succes a (1) sau păstrați-l în Sarcini (0) directorul.

Mai jos este un exemplu de un instrument de Jt apel corect din linia de comandă:

jt / sm PC1 / saj «update 1"
/ Sc parola mydomadministrator
/ CTJ StartTime = acum Type = o dată Dezactivat = 0
/ Sj ApplicationName = »srv1 updatesupdate 1.exe» DeleteWhenDone = 1

Articolul se exemple de comenzi pentru comoditate enumerate în formă de câteva linii, dar, în realitate, toate acestea au intrat într-un prompt de comandă. În acest exemplu, vă conectați la un computer numit PC1 la distanță și creează o sarcină numit de actualizare 1. Rulați această sarcină este efectuată în numele contului mydomadministrator și parola corespunzătoare. Vă recomandăm utilizarea unui cont care este membru al grupului local de administratori atât pe computerul la distanță și locale. Sarcina va rula lângă ora curentă în joc. Programul «srv1updatesupdate 1.exe» (ghilimelele sunt necesare pentru că există un decalaj în titlu) va fi lansat, iar în cazul lansării cu succes a sarcinii a fost finalizată va fi eliminat.

În cazul în care utilizatorul calculatorului pe care pentru a rula locul de muncă, a semnat cu un cont diferit de cel de la care lucrarea este pornit, atunci un astfel de utilizator sarcina va rula în modul Stealth și nici o informație despre efectua nu vor fi afișate sarcini de pe ecran. Deci, încă o dată subliniez ar trebui să facă mai întâi sigur că această sarcină poate fi realizată fără nici o intervenție din partea utilizatorului, pentru că în caz contrar acesta va fi amplasat pe un computer într-o stare neterminată, atâta timp cât administrator forțat-l termină.

Utilizarea JTRun.vbs

Așa cum am văzut, instrument Jt are o flexibilitate considerabilă, dar are o sintaxă destul de complexă linie de comandă. JTRun.vbs Numirea dezvoltate scenariu este de a ascunde complexitatea de utilizator Jt linie de comandă utilitate și pentru a permite rapid, ușor și în condiții de siguranță pentru a rula programe pe computerele de la distanță. Pentru a începe să fie aplicat JTRun.vbs cscript.exe. Pentru a configura cscript.exe ca serviciul de procesare a script-ul implicit pentru utilizatorul curent, executați următoarea comandă:

cscript // h: cscript // nologo // s

Pentru a rula script-ul JTRun.vbs utilizați următoarea sintaxă de linie de comandă:

JTRun.vbs / calculator: / cont: / parola: / Program: [/ parametri:] [/ Startin:] [/ urme]

Când executați acest script din linia de comandă ar trebui să fie cei patru parametri obligatorii sunt stabilite: numele computerului, numele, parola și numele programului său pentru a rula cont. Pentru lansarea programului poate fi setat opțional, parametrii de linie de comandă (prin cheie / parametri) și director rula (folosind tasta / Startin). Dacă utilizați / urme va fi afișat pe deplin linia de comandă Jt, producția și codul de ieșire (cod de ieșire). Dacă oricare dintre tastele de program, aveți nevoie pentru a pune spații ar trebui să fie introduse pentru acest dublu citate. Folosirea ghilimelelor în definițiile cheie nu sunt permise.

Pentru a vedea cât de ușor de utilizat JTRun.vbs script, decât foarte utilitatea jt, să ia în considerare următorul exemplu al unei echipe care implementează aceeași funcționalitate ca și exemplul anterior prezentat Jt rula din linia de comandă:

JTRun.vbs / calculator: PC1
/ Cont: mydomadministrator
/ Parola: parola
/ Program: »srv1updates
actualizare 1.exe »

Ecranul 1. Exemplu de ieșire a începe JTRun.vbs comandă

Exemplul 2. Ecranul JTRun.vbs comandă de ieșire a alerga cu ajutorul cheii / urme

Dispozitiv intern JTRun.vbs script

Procedura principală este responsabil pentru manipularea script-ul de comandă argumente și construcția corectă a liniilor de utilitate corespunzătoare apel jt, pentru care se utilizează Wscript.Arguments.Named setat. Pentru prima dată, acest set a apărut în timpul rulării VBScript 5.6, rezultând o soluție simplă și flexibilă pentru manipularea în o serie de opțiuni de linie de comandă script-ul au fost puse în aplicare. În acest scenariu, accesul la elementele stabilite Wscript.Arguments.Named efectuate de un operator cu. În cazul în care oricare dintre cei patru parametri de linie de comandă este pierdut sau este gol, script-ul procedura de utilizare care afișează un scurt mesaj cu privire la utilizarea corectă a parametrilor rula script-ul și apoi script-ul iese. În următoarele JTRun.vbs pas mânere numele computerului, utilizând funcția de apel FixComputerName, care se adaugă la numele computerului simbolul dublu backslash „“, în acest caz, în cazul în care caracterul nu este în numele calculatorului. Apoi, funcția de asteptare se formeaza GetProgramName de locuri de muncă. Această funcție returnează doar numele fișierului de program (în cazul a fost dat o cale completă), pentru care se folosește o metodă GetBaseName FileSystemObject obiect. Script-ul numit, de asemenea, funcția StrDateTime care returnează o formă șir de data curentă și ora în format ggmmdd_chchmmss. Valoarea obținută ca urmare a efectuării acestei funcții este atașat la numele de locuri de muncă generate. O astfel de metodă de formare a numelui oferă o probabilitate mare ca numele de locuri de muncă generat va fi unic, chiar și în cazurile în care generarea de mai multe locuri de muncă într-un rând. Pentru a depana parametrii de pornire scenariu folosit cheia / urme. Dacă acest parametru este setat, blnTrace variabilă, utilizat în principal, i se atribuie procedura adevărata valoare.

Eticheta Un script genereaza utilitati linie de comandă pentru a rula Jt. Fiecare argument linie de comandă este între ghilimele duble. În VBScript de a folosi ghilimele duble în interiorul ei trebuie să scrie două rânduri: „“ Trebuie remarcat faptul că, în timpul funcționării utilitarului Jt m-am confruntat cu o singură constrângere, care este ca parametru WorkingDirectory (director de lucru) comutator / sj acest instrument nu poate fi nul. Prin urmare, în cazul în care apelul este utilizat JTRun.vbs cheie / Startin, în parametrul liniei de comandă adăugat la sfârșitul WorkingDirectory, pentru că altfel nu ar fi implicat.

În această etapă, script-ul este pregătit pentru a începe toate Jt utilitar care este pus în aplicare prin apelarea funcțiilor RunCommandLine indicând două argumente: o linie completă Jt rula programe și valori variabile blnTrace. Sursa codului funcția RunCommandLine este prezentată în Listarea 2. Valoarea returnată a acestei funcții este un utilitar jt.exe cod de finalizare, care este înregistrată într-o procedură lngExitCode principală variabilă. Apoi, script-ul eșuează cu același cod ca și funcția este pornit programul RunCommandLine (de ex. E. Jt.exe).

În funcțiile RunCommandLine pentru a rula un program folosit site-uri WshScriptExec (care a apărut în mediul executabil VBScript 5.6). Funcția WshScriptExec creează un obiect prin apelarea exec obiect WshShell și comandă opțiuni de linie (strCommand argument). Face în timp ce bucla vă permite să verificați dacă performanța de utilitate completat JT. Pentru această verificare ciclu organizat de dispariție proprietăți Statut; Dacă da, script-ul este suspendat pentru un timp egal cu 100ms, și apoi a verificat încă o dată. Astfel, script-ul nu își încheie activitatea până la până după ce programul se executa.

Funcția verifică apoi valoarea parametrului a trecut să-l blnShowOutput. Dacă este adevărat (t. E. Dacă perechea cheie / urme a fost specificat în linia de comandă), rezultatele programului Jt de ieșire standard de pe ecran. În cele din urmă, funcția returnează finalizarea cod Jt utilitate, care este apoi utilizat pentru a finaliza scenariul, așa cum sa arătat mai sus.

mai multe avertismente

În cazul în care script-ul JTRun.vbs este folosit pentru a rula programe pe computerele de la distanță, trebuie să ia în considerare o serie de caracteristici importante ale acestui scenariu. În primul rând, toate numele de fișiere și căile de director trebuie să se refere la o distanță, mai degrabă decât pe computerul local. Dacă, de exemplu, au format o sarcină pentru a rula programul C În unme.exe :?, atunci acest fișier poate exista pe computer, dar în cazul în care nu se află în calea specificată pe sistemul de la distanță, sarcina nu va fi efectuată. Pe de altă parte, sprijinit de utilitate Jt capacitatea de a rula un loc de muncă în minutul următor, după formarea sa (StartTime = acum) se referă la ora actuală ca un computer, dar nu la telecomandă. Deci, în cazul în care aceste ceasuri sisteme nu sunt sincronizate, atunci nu pot să apară pe termen de locuri de muncă la momentul așteptat.

De asemenea, trebuie remarcat faptul că, pentru că atunci când utilizați un script JTRun.vbs introduceți parola contului se face în text simplu pe linia de comandă, este de la sine înțeles că, dacă utilizați acest scenariu ar trebui să ia măsuri de precauție adecvate. Acest fapt trebuie avut în vedere atunci când se utilizează alte script-uri de conectare programate orice comenzi pe mai multe computere. Prin urmare, dacă este utilizat în aceste scenarii JTRun.vbs provocare, trebuie înțeles faptul că, în acest caz, va fi utilizată o parolă în text simplu, atunci trebuie să aibă grijă când folosiți-le. Este necesar să se ia în considerare faptul că, dacă utilizați o ieșire script de redirecționare, și cheia / urme, atunci fișierul de ieșire va fi de asemenea prezent în parola în text simplu. În cele din urmă, trebuie să se asigure că programele concepute pentru a rula pe un program, nu necesită în timpul executării intervenției utilizatorului. Acest lucru se datorează faptului că a declanșat astfel încât programul nu este capabil de a interacționa cu spațiul de lucru al sistemului la distanță, cu excepția cazurilor în care parametrii contului în numele care ruleaza pe un program de program pentru a coincide cu parametrii contului de utilizator, efectuați înregistrarea locală pe acest sistem.

În general, Task Scheduler este un serviciu foarte puternic sistem. Folosind capacitățile de utilitate jt.exe, script-ul JTRun.vbs vă permite să extindă funcționalitatea standard serviciului Task Scheduler, și oferă utilizatorilor cu un instrument convenabil pentru a rula programe pe sisteme la distanță de la linia de comandă.

Sistem și administrator de rețea și o rețea de franceză mortuare, New Mexico. [email protected]

Partajați imagini cu prietenii și colegii