
Mellékeltük az alábbi szkriptet "GetPassword.vbs" néven. Futtatása a "Start.bat" fájllal történik. Funkcióját tekintve bekér egy jelszót - ide írhatunk bármit - közben nem látszanak a leütött karakterek, majd megjeleníti a képernyőn a beírtakat.
A Windows Scripting Host 5.6 (WSH) verziójától kezdve érhető el a parancssori jelszókezelés lehetősége. Ez a verzió a Windows XP és .NET rendszerekben alapértelmezésben megtalálható, de letölthető az Internetről a Microsoft honlapjáról is. Mivel az oldalak tartalma állandóan változik, javasoljuk a kereső használatát.
Egy új COM komponensről van szó, mely a SCRIPTPW.DLL fájlban kapott helyet. Érdekessége, hogy hivatalosan nem része a WSH 5.6 objektummodellnek, de ennek ellenére hibátlanul használható. Egyetlen hátránya, hogy grafikus felületen nem működik csak és kizárólag parancssorban a CSCRIPT.EXE futtató környezetben. Nézzük meg a következő szkriptet, mely bemutatja a használatát:
Első lépésben létre kell hozni egy új "ScriptPW.Password" objektum példányt.
Set objPassword = CreateObject("ScriptPW.Password")
Megjelenítünk egy szöveget a képernyőn, de nem a szokásos Wscript.Echo eljárással, hanem a szabványos kimenetre (jelen esetben a képernyő) küldve.
WScript.StdOut.Write "Kérem a jelszót:"
Meghívjuk a "ScriptPW.Password" objektum "GetPassword()" metódusát. Feladata, hogy elnyelje a begépelt karaktereket és eltárolja a megadott változóba (strPassword). A villogó kurzoron kívül mást nem fogunk látni, nem jelennek meg speciális karakterek.
strPassword = objPassword.GetPassword()
Végül bizonyítandó, hogy valóban megjegyezte a beírt szöveget, kiíratjuk a képernyőre. Az üres sor (Wscript.Echo) valójában csak egy kocsi vissza parancsot jelent ebben az esetben és a szöveg a következő sorban jelenik meg.
Wscript.Echo
Wscript.Echo "A beírt jelszó: " & strPassword
Opcionálisan módosíthatjuk a szkriptet úgy is, hogy a grafikus felületen jelenjen meg a parancssorban megadott jelszó:
Set objPassword = CreateObject("ScriptPW.Password")
WScript.StdOut.Write "Kérem a jelszót:"
strPassword = objPassword.GetPassword()
Wscript.Echo
Msgbox "A beírt jelszó: " & strPassword
Windows 2000 alatt is elérhetővé válnak a fenti funkciók, ha a SCRIPTPW.DLL fájlt átvisszük és regisztráljuk. Windows XP alatt a %systemroot%\system32 könyvtárban találjuk. Másoljuk át a Windows 2000-es gépre és adjuk ki a következő utasítást:
A regisztráció sikeres lesz, de a "… DllInstall entry point was not found" hibaüzenetet kapjuk. Nem kell vele foglalkozni, ettől még működik a dolog.
Ha úgy döntünk, hogy már nem kívánjuk használni, eltávolíthatjuk a regisztrációt: