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

Post on 05-Apr-2015

104 views 1 download

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

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