Windows 7 ja aeglane Logon

Puutusin kokku järgmise probleemiga:

Osadel Windows 7 masinatel on kasutaja sisselogimine aeglane.  Sümptomina võib logidest leida järgmiseid teateid:

  • Event ID: 6005 – The winlogon notification subscriber <GPClient> is taking long time to handle the notification event (Logon).
  • Event ID: 6006 – The winlogon notification subscriber <GPClient> took xxx second(s) to handle the notification event (Logon).

Kõikidel seotud juhtudel on tegemist situatsiooniga, mis tekib järgnevate tingimuste koosmõjul:

  1. OS on Windows 7
  2. kasutusel on Group Policy ja Folder Redirection
  3. samas masinas rakendub ka Group Policy Preferences (sama või teine GPO)
  4. Sisse on lülitatud järgmine Policy säte:
    User Configuration | Admin Templates | System | Folder Redirection | Do not automatically make redirected folders available offline
  5. Eelmise punkti tõttu on kasutajad oma ärasuunatud kaustadest käsitsi faile/kaustu ühenduseta kättesaadavaks tehtud.

Niipea, kui kasvõi üks nimetatud tingimustest ei ole täidetud, probleemi ei esine.  Seni pole veel probleemile korrektset lahendust leitud.

Minu jaoks on ülatoodud tingimustest kõige kaheldavama väärtusega neljas tingimus.  Sülearvutites toob see paratamatult kaasa viienda tingimuse ning ainult laua-arvutites on antud sättel natuke mõtet.  Nimelt ei ole siis ärasuunatud kaustade sisu siis puhverdatud kohalikku masinasse.  Samas esimene tingimus (Win7) toob kaasa selle, et puhverdatud kaustade sisu kasutatakse serveris paikneva dokumendi asemel, kui lokaalne koopia on värskem.  Kasutaja jaoks tähendab see kiiremat ning sujuvamat kasutuskogemust (muudetud fail sünkroniseeritakse serveriga taustal).

Neljandast tingimusest loobumine kaotab tavaliselt ka viienda (kuna puudub vajadus) ning muuhulgas kaob automaatselt kogu probleem.

Group Policy ja User Account Control (UAC)

Hiljuti juhtus selline probleem: miskipärast ei võetud kasutajale Group Policy logon skriptiga külge võrguketast.  Täpselt sama juhtus ka siis, kui skripti asemel sai proovitud Group Policy Preferences funktsionaalsust.  Lähemal uurimisel selgus, et võrguketas võetakse külge küll, aga Windows Explorer ei tea sellest midagi.  Edasine uurimine viis KB artiklini, mis tõi asjasse valgust.

Nimelt tuleb välja, et võrguketaste külgevõtmine käib kasutaja mandaadi järgi.  Ja alates Windows Vistast on admin-õigustega kasutajatel (sisselülitatud UAC korral) alati kaks mandaati: üks administraatori õigustega ja teine ilma nendeta.  Ehk siis nagu ülalmainitud artikkel väidab, et kui võtta võrguketas külge admin-õigustes, siis tavaõigustes seda võrguketast näha ei ole.  Ja vastupidi.

Probleem aga on hoopis selles, et sama efekt tekib ka siis, kui võrguketas külge võtta Group Policy abiga.  See viitab sellele, et Group Policy rakendamine toimub arvutis enne, kui admin-õigustega kasutajale luuakse ilma admin-õigusteta mandaat ning käivitatakse töölaud.  Kes teab, mis seal veel võib tegemata jääda või vale mandaadi küljes olla…

Et asi veel keerulisem oleks, tuli välja, et kui Group Policy rakendamisel kasutati loopback processing režiimi, siis tulid võrgukettad kasutajale külge.  Seega rakendatakse loopback processing režiimis juba käivitatud töölaua seest (ehk siis mitte-admin õigustes).

Ülalmainitud artikkel väidab, et probleem esineb Windows Vista sees.  Tegelikult ilmneb see ka Server 2008 ja 2008 R2 (seega ka Windows 7) sees.  Ning väidetavasti on sama mure veel ka Windows 8 sees.  Nii et kui võrguketaste külgevõtmisega on probleeme, siis tasub otsida abi ülaltoodud artikli soovitustest.