problemstellung betreuung eines schulnetzes auf windows basis es gibt ca. 500 rechner zu...
TRANSCRIPT
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