TS átállás – V.

Persze nem gondolhattam komolyan, hogy egy szabadnappal el tudok bújni a feladatok elől, de már az is sokat jelentett volna a számomra, ha nem csörög annyi a telefon és ebéd után esetleg szundíthatok egy kicsit. Ez a péntek (és a hétvége március 31.- árpilis 2.) nem ilyen volt.

Fél nyolckor azért csörgött a telefon, mert előző este óta nem érkeztek levelek, csak a küldés működött. Virusbuster? Igen. Pontosabban az alatta működő Debian Linux rendetlenkedett: egyszerűen betellt valamilyen logja. Fél óra volt a diagnosztizálás, valamivel több, mint egy óra a javítás, miközben mindenki tűkön ült. Az a baj az ilyen hibákkal, hogy egy nagyobb mellett (TS) ezek is felnagyítódnak, és ez rossz fényt vet ránk.

A hibáról személyesen a főnököm tájékoztatott és megemlítette, hogy a TS hibák, de főleg a MALKER-es lassúság (nevezzük az egész ügyet lassan botránynak) már a Vezérigazgató fülében van, úgyhogy szerencsés lenne, ha a tervezett hétfői „lecsúszásomat” máskorra halasztanám, és inkább bejönnék, mert valamit tenni kell, „ez így nem mehet tovább, Tamás”.

Hát, lőttek a péntekemnek, meg a hétvégémnek is, úgyhogy elkezdtem távolról dolgozni. Ez anyósoméknál 28K telefonvonalat jelent. Mivel a lassúság lehetséges okainak egyikével sem tudtam Tatáról mit kezdeni, jobb híján nekiálltam a felhasználók által hiányolt beállítások „roaming”-á tételének.

Azaz egy fontos dologra mégiscsak rájöttem. Az ember, a rendszergazda persze, nem hisz csak úgy ukkmukkfukk egy felhasználónak. Én sem hittem a szlovénoknek, hogy tíz percig tart a bejelentkezésük, amíg meg nem láttam a TS kiszolgálók eseménynaplójában egy figyelmeztetést, miszerint a GPO scriptek timeout-ra futottak xy felhasználónál, és a felhasználók mind szlovénok voltak. Hát ez már tényleg skandallum! Viszonylag hamar megtaláltam a hiba okát. Ők voltak az egyetlenek, akiknél a normál profiljuk esetén is bekapcsoltam az „Application folder redirection”-t, és azok a folderek szerencsétlenek a TS bejelentkezéskor a TS profilnak megfelelő új helyre szerettek volna másolódni, ami bőven kifuttatta a scriptet az alapértelmezett timeout értékből. Üröm az örömben, hogy előbb azt kellet beállítanom a policy-ben, hogy majd amikor kikapcsolom az átirányítást, akkor a local profiljába másolódjon vissza minden. (Ez érvényre jutott hétfőn, tehát keddtől ki lehetett kapcsolni az átiányítást és hopp, már ment is a bejelentkezés, mint a karikacsapás)

Péntek-szombat arra is rájöttem „with Google”, hogyan lehet megtartani a tálcán az órát. Az Windows Explorer néhány beállítását olyan registry értékben tárolja, amelyet csak akkor ír ki ténylegesen a registry-be, amikor a munkamenet befejeződik. A különös viselkedés miatt az ilyen kulcsok elkerülik a „Regsnap” figyelmét, hiszen hiába készítünk egy registry pillanatfelvételt, végezzük el a módosítást, majd egy újabb felvételt, a különbségben nem lesz ott, amit szeretnénk. Az ilyen dolgokat tehát „csak úgy tudni kell”. A mágikus sor, amivel ki kellett egészíteni a FlexProfile INI állományát ez volt:

 

[IncludeRegistryTrees]

#Taskbar

HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerStuckRects

HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerStuckRects2

 

A hétvégém azonban nem erre ment rá, hanem a home mappákra és a csatolt meghajtókra.

A Windowsban rendetlenség van, ezt tudjuk. A fejlesztők a felhasználói beállításokat kényük kedvük szerint tárolják és fütyülnek a Microsoft ajánlásaira (sőt néha még a Microsoft is ezt teszi). Nálunk minden felhasználónak van az AD-ben konfigurált home mappája, „P:” meghajtó a becsületes neve, kivéve a renitens telephelyeket, ahol ez „Z:”, esetleg „U:” (). Ha az ADUC-ban a felhasználóhoz tartozó TS beállítások fülön a „Terminal Server Home Folder” szekcióban nem állítok be semmit, akkor a felhasználó bejelentkezése után a valódi home mappájában keletkezik egy WINDOWS könyvtár, ebbe pedig néhány alkalmazás, többek között a vállalatirányítási rendszerünk és az üzleti elemző szoftverünk „beleszemetel” néhány állományt. Ide került a korábban már emlegetett előgépelést segítő typeahead.tae fájl is. Rendjén is lenne ez, csakhogy a nem telephelyen belül található home könyvtárak esetén ez a művelet kb másfél percesre nyújtja az ERP szoftver indítását, ami azonnali heves tiltakozást jelent.

Ha a TS beállításoknál azt adjuk meg, hogy „C:temp”, akkor az első felhasználó létrehozza a fenti WINDOWS könyvtárat a TEMP-ben, a többiek pedig ezt legfeljebb olvashatják. Ezzel a bejelentkezési sebesség probléma megoldódik, viszont nincs előregépelés.

Ha a TS beállításoknál a TS home mappára vonatkozóan egy olyan speciális könyvtárra (DFS linkre) mutatok, mint amilyenekben a Flex Profile beállításokat is tároljuk, (lásd korábbi cikk a /insite kapcsolóról), akkor már mindenkinek lesz saját újsütetű WINDOWS könyvtára, működik a typeahead is, sőt az ERP bejelentkezés is gyors lesz, csakhogy eltűnik az eredeti home meghajtója. A dolgok ritkán tökéletesek…

Annyiban maradtam magammal, hogy a valószínű megoldás egy TS home mappa beállítása és egy script lefuttatása, amely mégiscsak visszahozza az igazi home mappát is. Ezt a problémát ebben a formában azonban rögtön összekapcsoltam a hálózati mappa csatolások helyreállításával. A jelenség következő: a FlexProfile rendesen lementi, hogy a felhasználó milyen meghajtókat csatolt fel magának (ezt egyébként a HKCUNetwork kulcsból lehet kiolvasni), és bejelentkezéskor szabályosan vissza is tölti a kulcsot és az alkulcsokat is. Ám mivel az Explorer.exe előbb indul el, minthogy a betöltés befejeződne, a mappák „nem élnek”, a képernyőn piros X jelenik meg az ikonjaikon. Az elhárítás pofonegyszerű: kettőt kattintva a meghajtón máris eltűnik az X. Csakhogy ilyet kérni a felhasználóktól, mi már csak tudjuk, túlzás . A felhasználó elindítja a maga kis DOS-os alkalmazását mást nem tud. Legyen ez az alkalmazás a bérrendszer, így már tétje van a problémának  Az a buta progi viszont erre a piros X-re berág, neki az a meghajtó még nem működik. Adódik a feladat, oldjuk meg script segítségével a duplaclicket.

Először ezt találtam ki:

 

On Error Resume Next

Set objNetwork = CreateObject("Wscript.Network")

Set objFSO = CreateObject("Scripting.FileSystemObject")

Set colDrives = objNetwork.EnumNetworkDrives

For i = 0 to colDrives.Count-1 Step 2

  strDriveLetter = colDrives.Item(i)

  strDrivePath = colDrives.Item(i+1)

   If objFSO.FileExists(strDriveLetter & strDrivePath & "Log.txt") Then

            Sleep 1

   Else

        Sleep 1

   End If

Next

A scriptet loptam és most nem is magyarázom, hogy miért kell step2-vel léptetni a ciklust, legyen annyi elég, hogy minden meghajtó esetén megnézzük, hogy egy adott fájl létezik-e, Ha létezik, jó, ha nem az is jó, mert a lényeg, hogy a csatolást – véltem én – a Windows elintézi a háttérben. Nos, ez a mutatvány megbukott. Azon bukott meg, hogy a colDrives gyakorlatilag üres, a piros X vélhetően épp azt jelzi, hogy „te nem vagy még igazi hálózati meghajtó, csak tudok rólad” Mivel jópár órám ráment erre a kudarcra is, úgy gondoltam, hogy elég lesz hétfőn folytatni ezt a sziszifuszi munkát, így átadtam magam a vasárnapnak.

Folytatom…

 

 (Elnézést azoktól, akik a sztorit únják. Kb még három-négy részt meg kell írnom. Azoknak, akik viszont várják a végét, némi türelmet kérek, azt hiszem hamarosan beérem önmagam. Azért érem be magam, mert már – nagyjából – túlvagyok a TS témán )

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: