Onderstaand artikel is eerder gepubliceerd in het december 99 nummer van NT-Today

Systeembeheer gestroomlijnd: Desktop Management Systeem

In een vorig artikel heb ik laten zien hoe met scripts het inlogproces gebruikt kan worden om een gebruikersomgeving te beļnvloeden, door onder meer standaard schijfverbindingen te verzorgen. Loginscripting is een uiterst krachtige en flexibele methode om een werkstation naar wens gestandaardiseerd te configureren.

Dit concept kan echter nog uitgebreid worden. In het nu volgend artikel zullen we aan de hand van een in kixtart geschreven script een werkomgeving vergaand configureren door het startmenu op te bouwen, registry wijzigingen te plegen en ongewenste applicaties van de desktop te verwijderen en printers toe te voegen. Het eindresultaat is een omgeving waar een gebruiker op een willekeurig station kan inloggen en toch zijn vertrouwde desktop krijgt met de applicaties die hij nodig heeft. Natuurlijk zijn hier nog een aantal randvoorwaarden bij te bedenken. De werkstations moeten gestandaardiseerd zijn, net als de (file)server omgeving. Verder dienen alle applicaties geļnstalleerd te zijn of door het script geļnstalleerd kunnen worden.

Het doel van het geheel is een uniforme desktop aan te bieden die dusdanig robuust is dat wanneer een gebruiker iets abusievelijk weggooit de instellingen toch weer worden hersteld. Gedeeltelijk kan dit natuurlijk ook met policies bereikt worden, we gebruiken hier echter een andere insteek. De wijzigingen worden alle met scripts uitgevoerd. Dit heeft als voordeel dat er snel iets aangepast kan worden terwijl de verwerking van de aanpassingen nauwelijks trager verloopt. Scripts zijn op bepaalde punten ook flexibeler en krachtiger dan policies omdat er acties ondernomen kunnen worden die met policies niet mogelijk zijn.

Ons Desktop Beheer Systeem bestaat uit een aantal verschillende onderdelen:

1. Instellen van het startmenu en de desktop door het kopiėren van snelkoppelingen naar het werkstation.
2. Installatie van eventueel benodigde files voor applicaties.
3. Wijzigingen in de registry voor specifieke applicaties
4. Toekennen van printers

Snelkoppelingen

Wie NT of Windows 95 wel eens goed bestudeerd heeft zal het zijn opgevallen dat het startmenu en het bureaublad alsmede alle andere bijzondere menu's zoals recent geopende documenten en favorieten allemaal directories zijn die op de harde schijf zijn geplaatst (c:\winnt\profiles\<gebruikersnaam> of (c:\windows\profiles\gebruikersnaam).

Hier kunnen we slim gebruik van maken bij ons desktop beheer systeem. Doordat het directories zijn kunnen we, tijdens het inlogproces snelkoppelingen naar het profile toe kopiėren. Door deze kopieeracties nu aan groepslidmaatschappen te verbinden kunnen we het startmenu van een gebruiker configureren aan de hand van de gegevens uit de accountdatabase.

Installatie

Soms moet er bij bestaande installaties een update plaatsvinden. Te denken valt aan bijvoorbeeld nieuwe sjablonen of een patch. We kunnen op deze manier ook nog complete installaties plaats laten vinden om te zorgen dat alle pc's bijgewerkt worden. Een simpele manier van softwaredistributie dus. Middels het plaatsen van registrykey's kunnen we installaties wanneer nodig eenmalig laten plaatsvinden of we controleren op de aanwezigheid van bepaalde files.

Registrywijzigingen

Soms is het nodig bepaalde wijzigingen in de registry uit te voeren. We kunnen bijvoorbeeld de werkgroepsjablonen directory van Word af laten hangen van de afdeling of we kunnen bepaalde gebruikersspecifieke instellingen aanbrengen. Met name de laatste kan bij het gebruik van policies probleemn geven. Het gevolg zou namelijk een grote ingewikkelde policyfile worden terwijl een scriptoplossing vaak compact blijft.

; Aanmaken startmenu mappen
md "%userprofile%\Menu Start\Programma's\Office"

;Toevoegen applicatie icoon
if ingroup("MSWord")
copy "@LSERVER\netlogon\iconen\Word.lnk" "%userprofile%\Menu
Start\Programma's\Office\Word.lnk"
else
del "%userprofile%\Menu Start\Programma's\Office\Word.lnk"
endif

;Verwijderen niet gebruikte programma mappen
shell "cmd.exe /c rd %userprofile%\Menust~1\Programma's\Office /q >nul 2>&1"

;Kopiėren belangrijke files
if ingroup("MSWord")
If ExistKey("HKEY_CURRENT_USER\SOFTWARE\MyApp")>0
$dummy=Addkey("HKEY_CURRENT_USER\SOFTWARE\MyApp")
copy "@LSERVER\netlogon\files\sjablonen\fax.dot" "c:\office\sjablonen\fax.dot"
Endif
Endif

;Registrywijzigingen
if ingroep("MSWord")
$dummy=WRITEVALUE("HKEY_CURRENT_USER\Software\Microsoft\office\8.0\Comm on\Filenew\Sharedtemplates","","c:\office\sjablonen",REG_SZ)
If @ERROR = 0
? "Waarde $value=$expression is in de registry opgeslagen"
else
? "@serror is opgetreden"
Endif
Endif

;Aanmaken printers
if ingroup("Printer_Boekhoud")
use lpt1: "\\server1\boekhoud"
if addprinterconnection("\\server1\boekhoud")=0
? "Printer Boekhouding verbonden"
else
dummy=delprinterconnection("\\server1\boekhoud")
endif
endif

Het startmenu

In dit script gebruiken we een uiterst simpele doch doeltreffende manier om het startmenu op te bouwen. We maken eerst alle mappen aan, vullen deze dan met snelkoppelingen en verwijderen daarna de niet gevulde mappen door een simpel rd commando. Dit commando werkt namelijk alleen als de map leeg is. Wanneer er snelkoppelingen geplaatst zijn zal het commando ook niet werken.

De snelkoppelingen zijn in de netlogon directory geplaatst waardoor elke logonserver hiervan een kopie heeft. Door het aanroepen van @lserver wordt de dichtstbijzijnde logonserver geselecteerd.

Het kopiėren van de snelkoppelingen doen we op basis van een groepsnaam. Wanneer de gebruiker geen lid is van de groep verwijderen we het icoon ook weer, zo blijft het start menu keurig bij de tijd.

Applicatieconfiguratie

Via dezelfde constructie als bij de snelkoppeling kopiėren we een sjabloon lokaal. Hoewel we sjablonen natuurlijk ook centraal op een netwerk kunnen aanbieden is het denkbaar dat we dit bijvoorbeeld bij laptops lokaal willen hebben. Tevens plegen we een wijziging in de registry die de Word sjablonen directory laat verwijzen naar de directory die het door ons gekopieerd sjabloon bevat. Om nu te voorkomen dat het sjabloon elke keer opnieuw wordt gekopieerd, brengen we een registry sleutel aan waarop we controleren.

Toekennen printers.

Middels het eenvoudige kix commando ' addprinterconnection' kunnen we een printer toekennen. Dit kan alleen als het station ook de driver heeft of deze kan downloaden van de server. Dit is bij de meeste printers onder NT het geval. Bij de nieuwere typen printers wil het nog wel eens voorkomen dat dit niet lukt onder windows 95 of zelfs niet bij beiden door allerlei aanvullende dll's die nodig zijn. Iets om op te letten dus.

Slotwoord.

Ik heb hier een eenvoudig voorbeeld gegeven van hoe er via een kixtart script een Desktop Beheer Systeem gebouwd kan worden. U ziet dat er geen ingewikkelde commando's nodig zijn om het basisprincipe tot stand te brengen. Op basis van dit script en het script uit het vorige artikel kan het systeem uitgebreid worden totdat er een systeem ontstaat waarbij gebruikers op elk station in het het netwerk aan kunnen loggen en toch de voor hun bekende omgeving voorgeschoteld krijgen inclusief schijven, printers en applicaties.

W. Verveen is verbonden aan Highway Back-office Consulting een werkmaatschappij van de Ormer groep die gespecialiseerde ondersteuning biedt voor Windows NT en de back-office applicaties die van dit platform gebruik maken.
E-mail:
w.verveen@ormer.nl
Web:
http://www.boc.highway.nl

 


privacy policy