Problemstellung Betreuung eines Schulnetzes auf Windows Basis Es gibt ca. 500 Rechner zu...

Preview:

Citation preview

Problemstellung

•Betreuung eines Schulnetzes auf Windows Basis

•Es gibt ca. 500 Rechner zu administrieren

•Netzstruktur an der G18

•Konfiguration und Modifikation der Einzelplatz-PC‘s und Server-Rechner

Problemstellung

• Windows als Front-End Betriebssystem:

• liegt voll im Trend bedienungsfreundlicher intuitiver Benutzeroberflächen

• stellt sich hinsichtlich der Wartung als unfreundlich heraus.

• Das gilt für die Bereiche:

Problemstellung

• Benutzerverwaltung

• Datenverwaltung

• Applikationsverwaltung

• Softwareverteilung

Lösungsansätze• 3thd Party Tools

– Vorteil: Ebenfalls meist intuitiv bedienbar– Nachteil: Teuer, nicht immer auf das System

abgestimmt, eingeschränkter Funktionsumfang

• Windows Oberfläche– Vorteil: Große Flexibilität, gut bedienbar– Nachteil: Fehleranfällig, zeitaufwendig

• Scripte– Vorteil: Kostenneutral, einfach, sicher, flexibel– Nachteil: Einarbeitung erforderlich, Vorkenntnisse

notwendig

Lösungsansätze• Bevorzugte Scriptsprachen und Windows

– Batch-Programmierung (z.B. Logon-Scripte)– WSH (Windows Scripting Host) mit

• VBScript oder JScript)

– Visual Studio mit Visual C oder Visual Basic

• Scripte sind zunächst stets Konsolenan-wendungen, d.h. sie lassen den gewünschten Bedienungskomfort vermissen!

Lösungsansätze

• Benutzerverwaltung mit VBScripten

• Datenverwaltung mit VBScripten

• Applikationsverwaltung mit VBScripten

WSH-Versionen• NT4.0 mit Option Pack 4 WSH 1.0• Windows 98 WSH 1.0• Windows 2000 WSH 2.0• Windows XP WSH 5.6• Weitere Informationen unter:

– http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/wsh/htm/wsVersion.asp

– http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/wsh/htm/WSHToc.asp

– http://msdn.microsoft.com/msdnmag/issues/02/05/wsh/default.aspx

WSH-Dokumentationen

MSDN-Seiten• WSH allgemein:

http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/wsh/htm/wsVersion.asp

• Scripting:– Einführung:http://msdn.microsoft.com/library/default.asp?url=/nhp/Default.asp?contentid=28001169– Beispiele:http://www.microsoft.com/technet/treeview/default.asp?url=/technet/scriptcenter/default.asp

WSH-Dokumentationen

• WMI (Windows Management Instrumentation)– Einführung und Beispiele:– http://msdn.microsoft.com/library/default.asp?url=/library/

en-us/wmisdk/wmi/scripting_in_wmi.asp

• ADSI (Active Directory Service Interface)– http://msdn.microsoft.com/library/default.asp?url=/library/

en-us/netdir/adsi/using_adsi.asp

• ISA SDK(Internet Security and Acceleration Sever SDK)http://msdn.microsoft.com/library/default.asp?url=/library/en-us/isa/isaabout_0ek4.asp

Objektorientierung unter WSH• Benutzerobjekte

– Binding Set objOU = GetObject (“ LDAP://OU=Klassen, DC=G18,DC=de“)

– EinrichtenSet objUser = objOU.Create("User", "cn=EDLAND")objUser.Put "sAMAccountName", „EdLand„objUser.SetInfo

– Eigenschaften ändernobjUser.ChangePassword "i5A2sj*!", "jl3R86df„

– Liste der Eigenschaftenhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/netdir/adsi/iadsuser_property_methods.asp

Objektorientierung unter WSH• Dateiobjekte

– EinrichtenSet objFSO = CreateObject ("Scripting.FileSystemObject")Set objFolder = objFSO.CreateFolder("C:\FSO")

– VerändernSet objFSO = CreateObject("Scripting.FileSystemObject")objFSO.MoveFolder "C:\Scripts" , "\\helpdesk\management„

– LöschenobjFSO.DeleteFolder("C:\FSO")

Objektorientierung unter WSH• ISA-Regeln

– Server verbindenset isa = CreateObject("FPC.Root","Epsilon")ISA.RefreshSet array1 = isa.Arrays("Epsilon")

– Regel einrichtenSet rules = array1.ArrayPolicy.ProtocolRulesSet rule = rules.Add(Klasse)

Objektorientierung unter WSH– Eigenschaften festlegen

rule.Action = fpcRuleActionDenySet UserAccount = rule.AppliestoAccountsrule.AppliesToMethod = fpcAppliesToUsersSet NewUserAccount = UserAccount.Add("G18.de\G_"&Klasse, fcpInclude)rule.ProtocolSelectionMethod = fpcAllExceptSpecifiedProtocolsrule.SpecifiedProtocols.Add ("HTTP")rule.SetAppliesAlwaysrule.Save

– Regel freischalten/sperrenrule.Enabled= True/False

Beispielscript• Arbeitsweise festlegen

Option Explicit

• Variablen deklarierenDim adsRootContainer...

• Konstanten deklarierenConst ToplevelDomain="de„....

Beispielscript• Wertzuweisungen

AbteilungsOu=AbteilungKlassenbezeichnung=KlasseKlassenGruppe="G_"&KlasseFreigabename=Benutzer&"$„Profilverzeichnis=\\thomas\profile\IT1-ThhaegBenutzerverzeichnis=Basisverzeichnis & Hauptverzeichnis&"\"&Klasse&"\"&Benutzer

• BearbeitungsmodusOn Error Resume Next

Beispielscript• Binding

Err.ClearSet adsRootContainer = GetObject("LDAP://dc="&SubDomain1&",dc="&TopLevelDomain)Err.Clear

Beispielscript• OU einrichten

Set Temp = GetObject("LDAP://ou="&BasisOu&",dc="&SubDomain1&",dc="&TopLevelDomain)If Err=0 ThenSet adsOU1 = GetObject("LDAP://ou="&BasisOu&",dc="&SubDomain1&",dc="&TopLevelDomain) elseSet adsOU1 = adsRootContainer.Create("organizationalUnit", "ou="&BasisOu)adsOU1.SetInfoEnd If

Beispielscript• Gruppen einrichten

Err.ClearSet Temp = GetObject("LDAP://cn="&Gruppe_Schueler&",ou="&BasisOu&",dc="&SubDomain1&",dc="&TopLevelDomain)If Err=0 ThenSet adsGroup0 = GetObject("LDAP://cn="&Gruppe_Schueler&",ou="&BasisOu&",dc="&SubDomain1&",dc="&TopLevelDomain)elseSet adsGroup0 =adsOU1.Create("group", "cn="&Gruppe_Schueler)adsGroup0.Put "sAMAccountName", Gruppe_SchueleradsGroup0.SetInfoEnd If

Beispielscript• Benutzer einrichten

Err.ClearSet Temp = GetObject("LDAP://cn="&Klassengruppe&",ou="&Klasse&",ou="&AbteilungsOu&",ou="&BasisOu&",dc="&SubDomain1&",dc="&TopLevelDomain)If Err=0 ThenSet adsGroup1 = GetObject("LDAP://cn="&Klassengruppe&",ou="&Klasse&",ou="&AbteilungsOu&",ou="&BasisOu&",dc="&SubDomain1&",dc="&TopLevelDomain) elseSet adsGroup1 =adsOU3.Create("group", "cn="&Klassengruppe)adsGroup1.Put "sAMAccountName", KlassengruppeadsGroup1.SetInfoEnd If

Beispielscript

• Eigenschaften des Benutzers setzenadsUser1.Put "sAMAccountName", BenutzeradsUser1.Put "userPrincipalName", Benutzer&"@"&SubDomain1&"."&TopLevelDomainadsUser1.SetInfoadsUser1.GetInfoadsUser1.FullName =VollnameadsUser1.AccountDisabled = FalseadsUser1.LoginScript = LogonScript

Beispielscript• adsUser1.Homedirectory =

"\\"&Server&"\"&FreigabenameadsUser1.HomeDrive = HomelaufwerkadsUser1.Description = KlassenbezeichnungadsUser1.Profile = ProfilverzeichnisadsUser1.PasswordRequired = TrueadsUser1.SetPassword PasswortadsUser1.Put "pwdLastSet", 0adsUser1.SetInfoadsGroup0.Add(adsUser1.ADsPath)adsGroup1.Add(adsUser1.ADsPath)End If

Beispielscript• Homelaufwerk erstellen

If Not Ordner.FolderExists(Benutzerverzeichnis) Then Ordner.CreateFolder(Benutzerverzeichnis) Set wshShell =WScript.CreateObject("WScript.Shell") wshShell.Run "cacls "&Benutzerverzeichnis&" /t /e /p Administratoren:F System:F G_Lehrer:C "&Benutzer&":C", 0,TrueErr.Clear

Beispielscript• Freigabe des Homelaufwerks einrichten

Set Services = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & Server & "\root\cimv2")Set Share = Services.Get("Win32_Share")Err_Share=Share.Create (Benutzerverzeichnis, Freigabename, FILE_SHARE,MAXIMUM_CONNECTIONS, Freigabebemerkung)End If

• Msgbox "Script erfolgreich ausgeführt! "• Wscript.Quit

Wo bleibt der Bedienungskomfort?

• Forderung nach Flexibilität– Manuelle Anpassung der Scripte

• Forderung nach Bedienungsfreundlichkeit– Eingabemasken

• Forderung nach Sicherheit und Fehlervermeidung– Eingabeüberprüfung und Syntaxprüfung

Benutzermanager für AD• Leistungsmerkmale

– Anlegen von Gruppen und OU‘s– Anlegen von einzelnen Benutzern– Anlegen von Benutzergruppen– Anlegen von beliebig vielen Benutzern aus

einer Textdatei mit unterschiedlichen Formaten(Import aus Winschool)

– Verschieben von Benutzern mit Homelaufwerken

– Verschieben von Benutzergruppen

ISA-Verwaltung für Lehrer

• Leistungsmerkmale– Sperren des Internetzugangs (Klassenweise)– Freischalten des Internetzugangs

(Klassenweise)– Freischalten des Intranetzugangs

(Klassenweise)– Sperren des Intranetzugangs (Klassenweise)

ISA-Admin-Verwaltung

• Leistungsmerkmale– Speeren aller Regeln– Freischalten aller Regeln– Löschen aller Regeln (Aufräumen)– Anlegen neuer Regeln mit Active Directory-

Abgleich

Fazit

• Ohne Einarbeitung ist die Nutzung von Scripten nicht möglich

• Zeitersparnis ist auf längere Sicht enorm

• Schulspezifische Lösungen sind relativ kostenneutral zu realisieren

• Verwaltung des Schulnetzes ist sicherer und transparenter.

Vielen Dank für Ihre Aufmerksamkeit

Recommended