Példák bejelentkezési parancsfájlok
Példák input / output forgatókönyvek
Több forgatókönyv alábbiakban tárgyaljuk (melyek közül kettő a hagyományos szakaszos fájlok), hogy lehet használni, mint egy bemeneti vagy kimeneti forgatókönyvek.
Csatlakozó hálózati meghajtók és idő szinkronizálása felhasználói regisztráció
Azok, akik többet megtudni a funkciók a Windows batch fájlokat és a parancsokat, amelyek használják őket, ajánljuk a korábbi könyv [8].
Tegyük fel, hogy egy adott felhasználói regisztráció, tennünk kell a következőket:
1. Szinkronizálás rendszer idején a kliens munkaállomás a rendszer időt Server1.
2. Csatlakoztassa a meghajtó M: a hálózati megosztás \\ Server1 \ Letters.
3. Adja meg a C: \ TEXT a kliens számítógépen közös használatra a nevét könyveket.
Listing 11.9. Példa parancs bemeneti fájl script
REM Név: logon.bat
REM Leírás: Egy batch fájlt a bejelentkezési szkript
NET TIME \\ Kiszolgalo1 / SET
NET USE M: \\ Server1 \ Letters / persistent: NEM
Net share MyTxt = C: \ TEXT
tiltjuk mód párhuzamos parancsokat a képernyőn az első sorban a fájl logon.bat:
Idő szinkronizálás a szerver \\ Server1 készítünk egy kulcs / SET a parancs NET TIME:
NET TIME \\ Kiszolgalo1 / SET
Hálózati meghajtó csatlakozik NET USE parancsot:
NET USE M: \\ Server1 \ Letters / persistent: NEM
Kulcs / persistent: NO NET USE parancs létrehozásához szükséges ideiglenes kapcsolatokat (nem konzervált, ha a felhasználó kapcsolat megszakad). Ha a csatlakozások volt az állandó (/ persistent: YES), akkor a következő alkalommal, amikor egy felhasználó bejelentkezik a hiba történt (újrahasználat meglévő kapcsolat).
Végül a C mappát: \ TEXT nyilvános használatra rendelkezésre parancs net share:
Net share MyTxt = C: \ TEXT
Interaktív kiválasztása indítási programok
Mint ismeretes, az al-program (Programok) Windows Start menüben van olyan elem Indítás (indítás), ahol meg lehet tenni parancsikonokat azokat a programokat, amelyeket figyelembe kell automatikusan elindul, amikor a felhasználó bejelentkezik. Azonban a folyamat a felhasználói profil betöltésekor nem képes futtatni akármilyen bizonyos programokat a Startup mappában - akkor futtathatja az összes programot, vagy nem fut semmilyen (ez megköveteli a regisztrációs folyamat a rendszerben kulcsa
Fogjuk írni a forgatókönyvet Logon.js, amellyel a felhasználó választhat, amikor belépnek indítási programok; hozzárendelése a szkript a bejelentkezési szkript csoportházirend, tesszük az alkalmazás indítási folyamat interaktív.
Kezdjük azzal, hogy hozza létre a könyvtárat% SystemDrive% \ Documents and Settings \ All Users \ főmenübe, amely parancsikonokat tárolt programok a Start menüben az összes felhasználó számára, mappa Szelektív indítás, és tegye a címkéket a kívánt alkalmazás (ábra. 11,17) .
Ezt követően, a címkék a szokásos Startup mappában az eltávolítani kívánt. Most nézzük meg az algoritmus a Logon.js bejelentkezési parancsfájlt.
Először is meg kell határozni az utat az egyéni indítómappába (változó PathStartup). Ehhez használja az objektum WshSpecialFolders:
// Létrehozunk egy objektumot rendszerhej
// Létrehozunk egy objektumot WshSpecialFolders
// meg egyéni útját a Startup mappába
Ábra. 11.17. Új mappa Szelektív indítás
Ismerve az elérési utat a kívánt mappát, akkor hozzon létre egy gyűjtemény összes fájlt, hogy van benne (változó fájlok):
// Létrehozunk egy objektumot FileSystemObject
// Létrehozunk egy mappa objektum a mappa egyedi indítási
// Létrehozunk egy gyűjtemény egyedi indítási fájlokat egy könyvtárban
Ezt követően, ebből egy párbeszédablak megkérdezi, hogy szeretné futtatni a programot a Startup mappában van szüksége szakaszos üzemmódban, azaz egyszerre (ábra. 11,18).
Ábra. 11.18. Program kiválasztása indulási mód (szakaszos vagy interaktív)
Attól függően, hogy a gomb megnyomásakor a párbeszédablakban, akkor hozzárendeli a logikai IsRunAll. meghatározza a program indításakor mód (. IsRunAll hamis, ha a program kérni fogja futtatni az egyes programok, egyébként az összes program fut figyelmeztetés nélkül):
// megjeleníti a kérést, hogy kezdjen minden programot egyszerre
Res = WshShell.Popup ( "Run, ha minden csatornát?", 0,
"Szelektív indítás", vbQuestion + vbYesNo);
// állapítható meg, ha az „Igen” gomb megnyomása
Továbbá, egy while ciklus keresztül az összes fájlt a gyűjtemény fájlok; Fájl változó megegyezik az aktuális fájlt a gyűjtemény:
// Áthurkolt az összes fájlt a Szelektív indítás könyvtár
// Létrehozunk egy fájl áthelyezése az aktuális kollekció elem
// Ugrás a következő fájlt a gyűjtemény
Korábban az interaktív szoftverek trigger mód (IsRunAll változót false) került kiválasztásra, akkor futtatnia kell az aktuális fájl (ábra 11.19.):
// Zero változó Res Res = 0;
if (! IsRunAll) // a program fut egy
// megjeleníti a kérés egy program elindítása
Res = WshShell.Popup ( "Run" + File.Name +, 0, "Szelektív indítás", vbQuestion + vbYesNo "?");
Ábra. 11.19. Kérjen egy program elindítása a Startup mappában
Ha a felhasználó úgy dönt, hogy fut a program (változó Res egyenlő vbYes), illetve programok futnak kötegelt módban, akkor futtassa a jelenlegi program minimalizált ablak Futtatás módszerrel rendszerhej kifogást:
if ((IsRunAll) || (Res = vbYes))
// Indítsuk el a jelenlegi program egy minimalizált ablakban
Mivel a teljes nevét a program válthatják hiányosságok, a nevet kell idézőjelek közé az escape-szekvencia. "
Egy másik megvalósításban a módszerrel Run Run programok, melyek neve tartalmazza hiányosságok, lehetőség van arra, hogy használja a rövidebb nevek mappák és fájlok tulajdonságai ShortPath Object Fájl: WshShell.Run (File.ShortPath, vbMinimizedFocus);
A teljes szöveg Logon.js script listán látható 11.10.
Listing 11.10. bejelentkezési szkript, amely lehetővé teszi, hogy kiválassza a program indításakor
/ * Leírás: A bejelentkezési szkript, amely lehetővé teszi, hogy válassza ki a programok * /
FSO, // például a FileSystemObject objektum
WshHej, // objektum példány WshHej
WshFldrs, // objektum példány WshSpecialFolders
PathStartup, // Út az egyéni indítómappából
Folder, // hogy például egy mappa objektum a mappa
Fájlok, // A gyűjtemény fájlok egy egyéni indítómappába
Fájl // például a fájl objektum a parancsikon a mappában
Res, // Az eredmény a gombok megnyomásával párbeszédablakaiban
IsRunAll; // logikai zászló jelzi, hogy vagy nem fut
// egyszer minden csatornát indításkor
// Beállítjuk az első állandó dialógus ablakok
// Létrehozunk egy objektumot rendszerhej
// Létrehozunk egy objektumot WshSpecialFolders
// meg egyéni útját a Startup mappába
// Létrehozunk egy objektumot FileSystemObject
// Létrehozunk egy mappa objektum a mappa egyedi indítási
// Létrehozunk egy gyűjtemény egyedi indítási fájlokat egy könyvtárban
// megjeleníti a kérést, hogy kezdjen minden programot egyszerre
Res = WshShell.Popup ( "Run, ha minden csatornát?", 0,
// Meghatározza, hogy a gomb megnyomásakor igen
// Áthurkolt az összes fájlt a Szelektív indítás könyvtár
// Létrehozunk egy fájl áthelyezése az aktuális kollekció elem
// Zero változó Res
if (! IsRunAll) // a program fut egy
// megjeleníti a kérés egy program elindítása
if ((IsRunAll) || (Res == vbYes))
// Indítsuk el a jelenlegi program egy minimalizált ablakban
// Ugrás a következő fájlt a gyűjtemény
A leggyorsabb megoldás erre a problémára az, hogy hozzon létre egy batch file Logoff.bat (Listing 11.11), és jelölje ki azt a kilépést script minden felhasználó számára. Az eredmény ez a batch fájl látható lesz a parancs ablakban (ábra. 11,20).
REM Név: Logoff.bat
REM felhasználó dokumentumai
ECHO felhasználói munkamenet End% felhasználónév%.
Ábra. 11.20. Az eredmény Logoff.bat kilépési forgatókönyvet a felhasználó Popov
példányát csak a megváltozott fájlok (kulcs / D);
másolja az összes alkönyvtárat, beleértve az üres (a / E);
felülírni fájlokat a felhasználó jóváhagyása nélkül (kulcs / Y).
Táblázat 11.2. A környezeti változók, amelyek hasznosíthatók a belépési / kilépési forgatókönyvek
A név, amely alatt vették nyilvántartásba a bejáratnál, hogy a felhasználó hálózati
Azt is írni egy forgatókönyvet WSH (nevezzük ezt a forgatókönyvet Logoff.js) biztonsági mentés van szükség, ami természetesen sokkal nagyobb lesz a térfogata, mint a batch fájl, de az üzenet jelenik meg egy szép grafikus dialógusok (ábra. 11,21-11,23) .
Először is, a script Logoff.js rendszerhej példányosítjuk tárgyakat. FileSystemObject és WshSpecialFolders. ami után a változó SHomePath útjára lépett, hogy az aktuális felhasználó iratok (különleges nevű mappát a My Documents):
// Létrehozunk egy objektumot rendszerhej
// Létrehozunk egy objektumot FileSystemObject
// Létrehozunk egy objektumot WshSpecialFolders
// meg egyéni útját a Startup mappába
// Adjuk meg a felhasználó nevét
// Formában a teljes elérési utat a mentés dokumentumok
// Kérdezze a mentési eljárás
Ábra. 11.21. Egy párbeszédablak kérdezi, hogy a másolni kívánt
Ha hiba történik a változó ISERROR catch blokkban van beállítva, hogy igaz, akkor egy párbeszédablak megfelelő üzenetet (lásd ábra 11,22 ..) jelenik meg a képernyőn:
catch (e) /Обрабатываем возможные ошибки
// hibaüzenetet jelenít meg
Mess = "Hiba történt másolás közben a könyvtárat" + SHomePath + "\ nKod error:" + e.number + "\ nLeírás" + e.description;
WshShell.Popup (MES, 0, "a felhasználói kimeneti" + SUserName, vbCritical);
Ábra. 11.22. Egy párbeszédablak egy üzenetet a hiba
Ha a folyamatot a másolás nincsenek hibák (ISERROR változó hamis), akkor a felhasználó is adott erre az üzenetre (lásd Figure 11.23 ..):
WshShell.Popup (MES, 0, "a felhasználói kimeneti" + SUserName, vbInformation);
Ábra. 11.23. Egy párbeszédablak egy üzenetet a hiba
A teljes szöveg Logoff.js script listán látható 11.12.
/ * Leírás: Release Script, amely lehetővé teszi a biztonsági mentés * /
WshHej, // objektum példány WshHej
WshFldrs, // objektum példány WshSpecialFolders
FSO, // például a FileSystemObject objektum
SUserDocPath, // A mappa elérési útvonala a felhasználó dokumentumokat
SUserName, // Felhasználónév
SBackupPath = "D: \\ Backup", // Directory biztonsági másolatot
// Beállítjuk az első állandó dialógus ablakok
// Létrehozunk egy objektumot rendszerhej
// Létrehozunk egy objektumot FileSystemObject
// Létrehozunk egy objektumot WshSpecialFolders
// meg egyéni útját a Startup mappába
// Adjuk meg a felhasználó nevét
// Formában a teljes elérési utat a mentés dokumentumok
// Kérdezze a mentési eljárás
SBackupPath +, 0, "User Exit" + SUserName, vbQuestion + vbYesNo) "?";
ha (Res == vbYes) /Нажата кнопка Да
> Fogás (e) /Обрабатываем возможные ошибки
// hibaüzenetet jelenít meg
Mess = "Hiba történt másolás közben a könyvtárat" + SHomePath + "\ nKod error:" +
WshShell.Popup (MES, 0, "a felhasználói kimeneti" + SUserName, vbCritical);
WshShell.Popup (MES, 0, "a felhasználói kimeneti" + SUserName, vbInformation);
Több forgatókönyv alábbiakban tárgyaljuk (melyek közül kettő a hagyományos szakaszos fájlok), hogy lehet használni, mint egy bemeneti vagy kimeneti forgatókönyvek.