290 likes | 421 Views
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:
E N D
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 festlegenrule.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 festlegenOption Explicit • Variablen deklarierenDim adsRootContainer... • Konstanten deklarierenConst ToplevelDomain="de„....
Beispielscript • WertzuweisungenAbteilungsOu=AbteilungKlassenbezeichnung=KlasseKlassenGruppe="G_"&KlasseFreigabename=Benutzer&"$„Profilverzeichnis=\\thomas\profile\IT1-ThhaegBenutzerverzeichnis=Basisverzeichnis & Hauptverzeichnis&"\"&Klasse&"\"&Benutzer • BearbeitungsmodusOn Error Resume Next
Beispielscript • BindingErr.ClearSet adsRootContainer = GetObject("LDAP://dc="&SubDomain1&",dc="&TopLevelDomain)Err.Clear
Beispielscript • OU einrichtenSet 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 einrichtenErr.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 einrichtenErr.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 erstellenIf 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 einrichtenSet 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.