PowershellLogo

Projekt 1 - Grungedanken

In einer Umgebung in der ständig neue Computer für Firmen und Privatkunden eingerichtet werden ist es wichtig das automatiserte Prozesse bestehen die die arbeiten stark verkürzen, aber dennoch individuell auf die Kundenspezifischen Bedingungen eingehen.
Dennoch sollten Grundeinrichtungen bestehen mit denen direkt Einrichtungen Standarisiert werden. Hierzu gehören die Einrichtung der Benutzerprofile, Installation von Wartungstools und Grundsoftware sowie evtl. Festplatteneinteilungen und Ordnererstellung.
Gleichzeitig müssen Technische Daten verwaltet werden und oft Mühselig dem Kundenbedingen angepasst werden.
Ziel ist es ein Script zu erstellen das seine Umgebung erkennt und in der Lage ist hiervon Möglichst viel automatisiert ab zu wickeln. Das könnte vor allem die automatische Installation von Grundsoftware sein, sowie die installation von Kundenspezifischer Software pro Computer. Hier werden nun die Grundgedanken erläutert:

Ein Startscript soll ausgeführt um Vorberietungen für alle weiteren Scripte zu treffen. Dieses Script soll vor allem Erkennen wo  auf dem Computer oder wo im Netzwerk Softwarearchive existieren. Diese Einrichtungen sollten somit also festen Vorgaben folgen.
Pfade für diverse Software sollte also fest vorgegeben sein um Installation kontrolliert ausführen zu können. Ist diese Umgebung erkannt worden, können auch weitere Scripte aus vordefinierten Ordner ausgeführt werden die alle einen Part an Aufgaben übernehmen. Diese Scripte sollen zum Teil so intelligent sein das sie eigen Menüs bereit stellen können, oder automatisert per Parameterübergabe ausgeführt werden können

  1. Überlegung: Das Startscript muss seine Umgebung erkennen. Es muss also heraus finden von welchem Pfad aus wird es ausgeführt. Dazu sollte es festgelegte Pfade auf lokalem Rechner oder auf Netzwerkfreigaben finden können. Hierdurch entsteht bereits eine Problematik. Das Scripte muss alle Möglichkeiten durchgehen um diese Pfade zu finden. Wird das Script in einer Kundenumgebung ausgeführt stellt sich die Frage wird es von einem Stick aus ausgeführt, über ein Netzwerklaufwerk oder einem lokalem Laufwerk. Je nach Situation könne sich hiervorn auch Bedingen ändern. So wäre es Denkbar das das Softwarearchiv nicht ohne weiteres Zugänglich ist oder sich auf einem gesonderten Netzwerkpfad befindet weil z.B. mehrer Server vorhanden sind, Genau dies sol aber bereits beim starten der Script-Umgebung erkannt werden und alle wichtigen Pfade im Script vorbereitet werden. Entsprechende Pfade solltenb also über Variablen an weitere Scripte übergeben werden können. Gleichzeit soll dieses Script natürlich von anderen Scripten aufgerufen werden können wenn diese direkt ausgeführt werden.Wie lösen wir das?
     
  2. Eine ID für die Umgebung muss her: Auf jedem eingerichtetem System sollte zunächst eine ID vorhanden sein. Bei einigen iundert Kundenrechnern wäre es allerdings schwer diese innerhalb des Scriptes zu verwalten. Leigen die Scripte ebenso auf mehreren Systemen, müssten die Scripte überall angepasst werden oder eine Verteilung Standortübergreifend erfolgen.Um den Verealtungsaufwand gering zu halten wäre eine Zentrale Datenbank ideal die über Internet abgefragt werden kann in der alle Information liegen. Allerdings ist damit noch nicht geklärt wo das Script ausgeführt wird. Also muss eine lokale Information vorhandne sein die abgefragt werden kann.
     
  3. Wo liegt die ID: Die ID sollte nicht überall liegen. Sondern im Netzwerk auf festgelegten Pfaden. Diese ID Sollte also auf Servern oder auf einem Techniker-Notebook oder vielleicht auch auf einermobilen Festplatte liegen, die alle relevanten Daten und Archive enthält. Wir haben also wieder das Problem das mehrer Möglichkeiten zu Auswahl stehen und die Quellen vielleicht sogar manuell festgelegt werden sollen. Es müssen also mehrer Pfade durchsucht werden und bei Bedarf dem Benutzer / Techniker eine Auswahl zur Verfügung gestellt werden. Also macht es als erstes Sinn Richtinien auf zu stellen
    :
  4. Richtlinien und Prioritäten: Als erstes sollten die Pfade für Scripte und Software in Netzwerken von Serverpfaden priorisiert werden. Problem dabei: Die Netzwerkpfade zu durchsuchen dauert oft recht lange. Also sollten zunächst bestehende Laufwerk durchsucht werden. Weitere Quellen wie ein Stick, Festplatte oder Notebook im Netzwerk sollten ebenfalls ermittelt werden und evtl. angeboten werden Geht man auf diese Weise die Pfade durch stellt sich die Überlegung was passiert wenn neue Umgebungen hinzu kommen. Grundlegende Infomrationen für diese Umgebungen müssen also wiederum einfach verwaltet werden können. Es ist also wichtig das die Kundenumgebung ermittelt wird. Also suchen wir zuerst in den bekannten Umgebungen. Diese sind im Scripte direkt hinterlegt und werden Zentral angepasst. Eine Synchronisation kann in weiteren Scripten eingebaut werden. Dies kann dann automatisiert oder manuell geregelt werden. Wichtig ist also das im Netzwerk zunächst nach einer ID gesucht wird. Womit wir zum ersten Ansatz des Scripte kommen:
     
  5. ID Ermittlung: Der Befehl Test-Path ermittelt ob eine Datei oder ein Pfad existiert. Nun müssen wir mehrere Pfade prüfen. Also legen für in einer Variable zu Beginn des Scriptes die Pfade fest:
     
  6. Script Teil1
     
    • # Deklarationen:
      # ----------------------------------------------------------------------------
       # Festlegen auf welchen Systemen nach der ID gesucht werden soll, bitte Reihenfolge für Priotitäten beachten.
      $ServerSystems = @("SERVER1","HYPERV1","SERVER-KD1",""SERVER-KD2-1",""SERVER-KD2-2",""SERVER-KD1-3")
      $NetDriveSystems = @("M:","D:","E:","F:","G:","H:","I:","J:","K:","L:","O:","P:","Q:","R:","S:","T:","U:","V:","W:","X:","Y:","Z:")
      $LokalDriveSystems = @("D:\ServiceRLiedke\Gewerbe","C:\ServiceRLiedke\Gewerbe","D:\Freigaben\Gewerbe","E:\Freigaben\Gewerbe")

       

     

     

Website_Design_NetObjects_Fusion

Projekte rund um Elektronik, Server, Windows und mehr

zum Geschützen Bereich

 Projekte | Blog | Impressum