Exemple de scenarii de intrare / ieșire
Mai multe scenarii sunt discutate mai jos (dintre care două sunt fișiere convenționale discontinue), care poate fi utilizată ca intrare sau ieșire scenarii.
Conectarea drive-uri de rețea și de sincronizare de timp cu înregistrarea utilizatorului
Cei care doresc să afle mai multe despre funcțiile disponibile în lot fișiere Windows și comenzi care sunt utilizate în ele, putem recomanda cartea mea anterioară [8].
Să presupunem că pentru un anumit utilizator de înregistrare, trebuie să facem următoarele:
1. Sincronizare timp sistem de stația de lucru client cu timpul de sistem pe Server1.
2. Conectați unitatea M: la cota de rețea \\ SERVER1 \ litere.
3. Furnizarea de directorul C: \ TEXT pe computerul client pentru uz comun cu cărțile de nume.
Listarea 11.9. Exemplu de script de comandă fișier de intrare
REM Nume: Logon.bat
REM Descriere: Folosind un fișier batch ca scriptul de autentificare
NET TIME \\ Server1 / SET
NET USE M: \\ server1 \ Scrisori / PERSISTENTE: NU
COTA NET MyTxt = C: \ TEXT
vom dezactiva modul de duplicare a comenzilor de pe ecran, în prima linie a Logon.bat fișier:
Sincronizarea de timp cu serverul \\ Server1 se face folosind o cheie / SET în TIME NET comanda:
NET TIME \\ Server1 / SET
unitate de rețea conectată comanda USE NET:
NET USE M: \\ server1 \ Scrisori / PERSISTENTE: NU
Cheie / PERSISTENTE: NO în comanda USE NET este necesară pentru a crea conexiuni temporare (nu conservat atunci când o sesiune de utilizator este terminată). În cazul în care conexiunile au fost permanente (/ PERSISTENTE: DA), data viitoare când un utilizator se conectează la o eroare (reutilizarea conexiunii existente).
În cele din urmă, directorul C: \ TEXT disponibile pentru uzul public SHARE comanda NET:
COTA NET MyTxt = C: \ TEXT
Selecția interactivă a programelor de pornire
După cum se știe, în sub-programe (Programe) meniul Start din Windows există un element de pornire (pornire), în care puteți pune comenzi rapide la acele programe care ar trebui să fie lansate în mod automat atunci când utilizatorul se conectează la. Cu toate acestea, în procesul de încărcare profilul dvs. de utilizator nu este capabil de a rula orice fel de anumite programe din folderul Startup - puteți rula fie toate programele, sau nu alerga nici (aceasta necesită un proces de înregistrare în sistem țineți apăsată tasta
Vom scrie scenariul Logon.js, prin care utilizatorul poate alege la introducerea programelor de pornire; atribuirea script-ul ca un script de Log on Politica de grup, vom face procesul de pornire de aplicare este interactiv.
Vom începe cu faptul că a crea directorul% SystemDrive% \ Documents and Settings \ All Users \ Meniu principal, care comenzi rapide către programele stocate în meniul Start pentru toți utilizatorii, dosar Pornire selectivă și a pus etichetele pentru aplicația dorită (fig. 11.17) .
După aceea, etichetele folderul Startup obișnuit pe care doriți să îl eliminați. Acum, să ne ia în considerare algoritmul de script-ul de conectare Logon.js.
În primul rând, trebuie să definiți calea către directorul de pornire personalizat (PathStartup variabilă). Pentru aceasta folosim WshSpecialFolders obiect:
// Crearea unui obiect WshShell
// Crearea un obiect WshSpecialFolders
// Definiți o cale personalizată în dosarul Startup
Fig. 11.17. Dosar nou Pornire selectivă
Știind calea către directorul dorit, vom crea o colecție de toate fișierele care sunt în ea (Fișiere variabile):
// Crearea unui obiect FileSystemObject
// Crearea unui obiect dosar pentru pornire dosarul personalizat
// Creați o colecție de fișiere de pornire personalizate într-un director
După aceea, vom obține o casetă de dialog care vă întreabă dacă doriți să executați programul din folderul Startup aveți nevoie într-un mod de lot, și anume, dintr-o dată (fig. 11.18).
Fig. 11.18. Modul de pornire Selectare program (lot sau interactiv)
În funcție de butonul apăsat din caseta de dialog, vom atribui valoarea unei IsRunAll logice. determină modul de pornire de program (IsRunAll este falsă în cazul în care se va cere să-l rulați pentru fiecare program, în caz contrar toate programele rula fără avertisment.):
// Afișează solicitarea de a începe toate programele dintr-o dată
Res = WshShell.Popup ( "Run odată ce toate programele?", 0,
"Pornire selectivă", vbQuestion + vbYesNo);
// A determina dacă este apăsat butonul „Da“
Mai mult, într-o buclă în timp ce se face prin toate fișierele din colecția de fișiere; variabilă fișier se potrivește cu fișierul curent în colecție:
// Bucla prin toate fișierele directorul de pornire selectivă
// Crearea unui obiect fișier la elementul de colectare a curentului
// trece la următorul fișier în colecția
Anterior, modul de declanșare software-ul interactiv (IsRunAll variabilă este falsă) a fost aleasă, ni se solicită să executați fișierul curent (Figura 11.19.):
// Zero Res variabila Res = 0;
if (! IsRunAll) // program pentru a rula pe un singur
// Afișează solicitarea de a începe un program de
Res = WshShell.Popup ( "Run" + File.Name +, 0, "Pornire selectivă", vbQuestion + vbYesNo "?");
Fig. 11.19. Cerere pentru a începe un program din folderul Startup
În cazul în care utilizatorul alege să ruleze un program (variabila Res este vbYes egale) sau programe sunt rulate în modul de lot, atunci vom rula programul curent într-o fereastră minimizată folosind metoda Run WshShell obiecta:
if ((IsRunAll) || (Res = vbYes))
// Porniți programul curent într-o fereastră minimizată
Deoarece numele complet al programului poate fi declanșat lacune, numele trebuie să fie închise în ghilimele duble de evacuare folosind-secvență. "
O altă variantă de realizare a metodei folosind programe Run Run ale căror nume conțin lacune, este posibil să se utilizeze numele mai scurte de foldere și fișiere de proprietăți ShortPath obiect fișier: WshShell.Run (File.ShortPath, vbMinimizedFocus);
Textul integral al script-ul Logon.js este prezentat în Listarea 11.10.
Listarea 11.10. logon script-ul, permițându-vă să selectați programul de pornire
/ * Descriere: Scriptul de autentificare care vă permite să selectați programe pentru * /
FSO, // instanta a obiectului FileSystemObject
WshShell, obiect // exemplu WshShell
WshFldrs, // WshSpecialFolders obiect instanță
PathStartup, // Calea către directorul de pornire personalizat
Folder, // instanță a unui obiect dosar pentru dosar
Fișiere, // O colecție de fișiere într-un dosar de pornire personalizat
File, // instanta a obiectului fișier pentru comanda rapidă în dosarul
Res, // Rezultatul apăsarea butoanelor din casetele de dialog
IsRunAll; // semnalizator boolean care indică dacă este sau nu pentru a rula
// o dată toate programele de la pornire
// initializeaza fereastra de dialog constant
// Crearea unui obiect WshShell
// Crearea un obiect WshSpecialFolders
// Definiți o cale personalizată în dosarul Startup
// Crearea unui obiect FileSystemObject
// Crearea unui obiect dosar pentru pornire dosarul personalizat
// Creați o colecție de fișiere de pornire personalizate într-un director
// Afișează solicitarea de a începe toate programele dintr-o dată
Res = WshShell.Popup ( "Run odată ce toate programele?", 0,
// Determina dacă butonul este apăsat Da
// Bucla prin toate fișierele directorul de pornire selectivă
// Crearea unui obiect fișier la elementul de colectare a curentului
// Zero variabilă Res
if (! IsRunAll) // program pentru a rula pe un singur
// Afișează solicitarea de a începe un program de
if ((IsRunAll) || (Res == vbYes))
// Porniți programul curent într-o fereastră minimizată
// trece la următorul fișier în colecția
Cea mai rapidă soluție pentru această problemă este de a crea un fișier batch Logoff.bat (Listarea 11.11) și atribuiți-l ca un script logoff pentru toți utilizatorii. Rezultatul acestui fișier batch va fi vizibil în fereastra de comandă (fig. 11,20).
REM Nume: Logoff.bat
documentele utilizator REM
ECHO sesiune de utilizator final% numeutilizator%.
Fig. 11.20. Rezultatul script-ul de ieșire Logoff.bat pentru utilizator Popov
copia numai fișierele care au fost modificate (tasta / D);
copiați toate subdirectoarele, inclusiv goale (/ E);
suprascrie fișierele fără confirmare din partea utilizatorului (tasta / Y).
Tabelul 11.2. Variabilele de mediu care sunt utile pentru utilizare în scenariile de intrare / ieșire
Numele sub care a fost înregistrată la intrarea în rețeaua utilizatorului
Puteți scrie, de asemenea, un WSH script (numesc acest scenariu Logoff.js) pentru backup avem nevoie, care, desigur, va fi mult mai mare în volum decât fișierul batch, dar mesajul va fi afișat într-o dialoguri grafice frumoase (Fig. 11.21-11.23) .
În primul rând, în script-ul Logoff.js WshShell instanția obiecte. FileSystemObject și WshSpecialFolders. după care SHomePath variabilă a intrat în calea documentelor utilizatorului actual (un folder special numit My Documents):
// Crearea unui obiect WshShell
// Crearea unui obiect FileSystemObject
// Crearea un obiect WshSpecialFolders
// Definiți o cale personalizată în dosarul Startup
// Definiți numele de utilizator
// formează calea completă a documentelor de backup
// Interogare procedura de backup
Fig. 11.21. O casetă de dialog întreabă dacă doriți să copiați
Dacă apare o eroare în blocul de captură variabilă ISERROR este setată la true, o casetă de dialog cu un mesaj adecvat (a se vedea figura 11.22 ..) este afișat pe ecran:
catch (e) /Обрабатываем возможные ошибки
// Afișează un mesaj de eroare
Mess = "A apărut o eroare în timpul copierii directorul" + SHomePath + "\ nKod eroare:" + e.number + "\ nDescription" + e.description;
WshShell.Popup (mizerie, 0, "ieșire utilizator" + SUserName, vbCritical);
Fig. 11.22. O casetă de dialog cu un mesaj despre eroarea
Dacă în procesul de copiere nu există erori (ISERROR variabila este fals), atunci utilizatorul este, de asemenea, dat pe acest mesaj (a se vedea figura 11.23 ..):
WshShell.Popup (mizerie, 0, "ieșire utilizator" + SUserName, vbInformation);
Fig. 11.23. O casetă de dialog cu un mesaj despre eroarea
Textul integral al script-ul Logoff.js este prezentat în Listarea 11.12.
/ * Descriere: Release Script care permite pentru backup * /
WshShell, obiect // exemplu WshShell
WshFldrs, // WshSpecialFolders obiect instanță
FSO, // instanta a obiectului FileSystemObject
SUserDocPath, // Calea către directorul cu documentele utilizatorului
SUserName, // Nume de utilizator
SBackupPath = "D: \\ Backup", // director pentru copii de rezervă
// initializeaza fereastra de dialog constant
// Crearea unui obiect WshShell
// Crearea unui obiect FileSystemObject
// Crearea un obiect WshSpecialFolders
// Definiți o cale personalizată în dosarul Startup
// Definiți numele de utilizator
// formează calea completă a documentelor de backup
// Interogare procedura de backup
SBackupPath +, 0, "Ieșire utilizator" + SUserName, vbQuestion + vbYesNo) "?";
if (Res == vbYes) /Нажата кнопка Да
> Captura (e) /Обрабатываем возможные ошибки
// Afișează un mesaj de eroare
Mess = "A apărut o eroare în timpul copierii directorul" + SHomePath + "\ nKod eroare:" +
WshShell.Popup (mizerie, 0, "ieșire utilizator" + SUserName, vbCritical);
WshShell.Popup (mizerie, 0, "ieșire utilizator" + SUserName, vbInformation);
Mai multe scenarii sunt discutate mai jos (dintre care două sunt fișiere convenționale discontinue), care poate fi utilizată ca intrare sau ieșire scenarii.