Cikk azonosítója: 176197 - Utolsó ellenőrzés: 2004. január 16. - Verziószám: 3.0

Hogyan rejthetjük el a Bejelentkezési Parancsfájl párbeszédpaneljét egy Windows NT kliensen

RendszertippA jelen cikk az Ön által használttól eltérő operációs rendszerre vonatkozik. A cikk azon tartalmait, amelyek nem relevánsak Önnek, letiltjuk.
Ezt a cikket korábban a következ? néven tették közzé: HU176197

FONTOS: A Registry Editor használatával helyreállíthatatlan károkat okozhatunk a rendszerünkben ami akár csak az operációs rendszer újrainstallálásával lehet helyrehozni. Microsoft nem vállal felelőséget a registry editor-al okozott károkért. A registry editort a saját felelősségére használja.
Az összes kibontása | Az összes összecsukása

A jelenség

Amikor egy logon szkript fut egy parancssori ablak nyílik meg és a script végeztével zárul be. Annak elkerülése érdekében hogy a felhasználó ne szakíthassa meg a szkript futását, az adminisztrátorok szeretnék ha a szkript a háttérben futna vagy minimalizálva lenne rendszer induláskor. Mivel a Windows NT nem tud LMSCRIPT-eket használni és nem akarjuk a cmd.exe alap beállításait más módszert kell választanunk.

A megoldás

Hozzunk létre egy batch file-t amely megfogja hívni a logon scriptünket. A következő parancsot tartalmazza a batch file:
   START /MIN LOGON.BAT

Hozzunk létre egy batch-fájlt és jelöljük ki az összes felhasználóknak mint logon script a "user manager for domains" programban. Ezek után az összes felhasználó amikor belép futtatni fogja ezt a batch fájlt amely meghívja a logon szkript-et minimalizálva. Az igazi logon szkriptben az utolsó parancsnak EXIT-nek kell lennie, hogy az ablakok bezáruljanak a végrehajtás után.

Ezzel el tudjuk érni azt hogy ne lássuk a parancsokat végrehajtás során egy parancssori ablakban.

Windows for Workgroup felhasználók (Windows 3.11) operációs rendszere nem érti a START parancsot ezért itt a fenti megoldás nem működik. Az indító batch fájl futása alatt pedig továbbra is megjelenik a parancssori ablak bár szinte azonnal eltűnik. Amennyiben azt akarja az adminisztrátor hogy a felhasználó ne lásson semmit akkor ez a megoldás sem megfelelő. Ha minden kliensnél minimalizált logon scriptet akarunk, akkor tegyük a következőket:

  1. Tegyünk ideiglenesen egy pause parancsot az első loginscript be.
  2. Jelentkezzünk be a felhasználó accountjával és amikor a logon script leáll akkor kattintsunk a logonscript properties opciójára a Control menüben.
  3. Válasszuk ki a Layout fület Windows NT 4.0 esetén vagy a "Screen size and position" fület Windows NT 3.51 esetén és állítsuk be a "Widtht and height" vagy a "Screen Buffer" értékét egyre.
  4. Állítsuk be a "Window Position "left" értékét nullára a "top" értékét a legmagasabb számra amire lehet (felbontástól függ ennek értéke).Így az ablak a bal alsó sarokba fog kerülni.
  5. Kattintsunk az OK gombra. Ennek hatására előugrik egy párbeszéd ablak amelyben a "Save properties for future windows with the same title" lehetőséget válasszuk ki majd ismét nyomjunk egy OK-t.
  6. Lépjünk ki a rendszerből és távolítsuk el a PAUSE parancsot a script-ből majd lépjünk be a felhasználó nevében. figyeljük meg hogy a dialógus ablak most is jelen van de a bal alsó sarokban. Így nem lesz útjában a felhasználónak.
Ha később újra kell méretezni ezt az ablakot akkor azt a következőképpen lehet megtenni. Töröljük a következő kulcsot a registry-ből:

FIGYELMEZTETÉS: A Registry Editor használatával helyreállíthatatlan károkat okozhatunk a rendszerünkben ami akár csak az operációs rendszer újrainstallálásával lehet helyrehozni. Microsoft nem vállal felelőséget a registry editor-al okozott károkért. A registry editort csak a saját felelősségére használja.

A registry szerkesztéséről további információt találunk a "Changing Keys and Values" Help témában a registry editor-ban (regedit.exe) vagy az "Add and Delete Information in the Registry" és az "Edit Registry Data" help témában a regedt32.exe használata esetén. Fontos még hogy az eredeti állapotát a registry-nek elmentsük. Windows NT 4 esetén futtassuk az Emergency Repair Disk (ERD) programot.
HKEY_CURRENT_USER\Console\_ComputerName_NETLOGON_LogonScript

Miután ezt a kulcsot letöröltük ujra meg fog jelenni az alapértelmezett párbeszéd ablak.

További információ

Mivel a logonscript mindegyik tartomány vezérlőn létezik ezért lehetséges hogy a számítógépnév a registry kulcsban nem ugyanaz mivel lehetséges hogy más tartományvezérlő végzi el a felhasználó authentikációját. A továbbiakban következzék két lehetséges megoldása a fenti problémának.

A fájl a registryben _ComputerName_NETLOGON_LogonScript -ként jelenik meg. A számítógép neve nem ugyanaz lesz, ha egy másik vezérlővel érvényesítette. Íme két módszer a probléma megoldására.

  • Jelentkezzünk be a kérdéses felhasználóval. A START menüből válasszuk a run parancsot és futtassuk a logonscrip-et mindegyik domain vezérlőről UNC útvonal leírás segítségéve. Például

    run \\PDC\NETLOGON\logon.bat

    Amikor a script fut hajtsuk végre a 3.as illetve 5. pontban leírtakat mindegyik tartományvezérlő esetén ( BDC1, BDC2, BDC3, és így tovább). Ez létre fog hozni egy bejegyzést a registry-ben a logon script-hez minden lehetséges hitelesítő szerveren.
  • Most már, hogy bejelentkezett felhasználóként, futtatni tudja a REGEDIT-et.

    Másik lehetséges megoldás miután bejelentkeztünk az hogy elindítjuk a regedit.exe programot és kinyitjuk az HKEY_CURRENT_USER\Console kulcsot. Miután megtesszük az 1-6. lépéseket a következőt látjuk majd itt:
    _ComputerName_Share_logon.scr


    Válasszuk a registry menüben az export registry-y és mentsük el valamilyen néven és nyissuk meg notepad-el. Valahogy így fog kinézni:
    REGEDIT4 [HKEY_CURRENT_USER\Console\__SERVER_NETLOGON_logon.bat] "HistoryNoDup"=dword:00000000 "WindowSize"=dword:0001000d "WindowPosition"=dword:01c00000 "ScreenBufferSize"=dword:0001000d "FontSize"=dword:000c0008 "FontFamily"=dword:00000030 "FontWeight"=dword:00000190

    Cseréljük ki ezt a következőkkel:
    REGEDIT4 [HKEY_CURRENT_USER\Console\__SERVER_NETLOGON_logon.bat] "HistoryNoDup"=dword:00000000 "WindowSize"=dword:0001000d "WindowPosition"=dword:01c00000 "ScreenBufferSize"=dword:0001000d "FontSize"=dword:000c0008 "FontFamily"=dword:00000030 "FontWeight"=dword:00000190 [HKEY_CURRENT_USER\Console\__SERVER2_NETLOGON_logon.bat] "HistoryNoDup"=dword:00000000 "WindowSize"=dword:0001000d "WindowPosition"=dword:01c00000 "ScreenBufferSize"=dword:0001000d "FontSize"=dword:000c0008 "FontFamily"=dword:00000030 "FontWeight"=dword:00000190 [HKEY_CURRENT_USER\Console\__SERVER3_NETLOGON_logon.bat] "HistoryNoDup"=dword:00000000 "WindowSize"=dword:0001000d "WindowPosition"=dword:01c00000 "ScreenBufferSize"=dword:0001000d "FontSize"=dword:000c0008 "FontFamily"=dword:00000030 "FontWeight"=dword:00000190

    Miután mindegyik szervernek létrehoztunk bejegyzést a fájlban mentsük el a fájlt *.reg néven és vagy kattintsunk rá kétszer vagy importáljuk be a regedit programmal. Ez után már látni fogjuk az ablakot teljes nagyságban minden szerverre bejelentkezve.

A cikkben található információ a következő(k)re vonatkozik:
  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 3.5
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
Kulcsszavak: 
information KB176197
A Microsoft tudásbázisban szolgáltatott információkat "az adott állapotban", bárminemű szavatosság vagy garancia nélkül biztosítjuk. A Microsoft kizár mindennemű, akár kifejezett, akár vélelmezett szavatosságot vagy garanciát, ideértve a forgalomképességre és az adott célra való alkalmasságra vonatkozó szavatosságot is. A Microsoft Corporation és annak beszállítói semmilyen körülmények között nem felelősek semminemű kárért, így a közvetlen, a közvetett, az üzleti haszon elmaradásából származó vagy speciális károkért, illetve a kár következményeként felmerülő költségek megtérítéséért, még abban az esetben sem, ha a Microsoft Corporationt vagy beszállítóit az ilyen károk bekövetkeztének lehetőségére figyelmeztették. Egyes államok joga nem teszi lehetővé bizonyos károkért a felelősség kizárását vagy korlátozását, ezért a fenti korlátozások az ön esetében esetleg nem alkalmazhatók.