English| Deutsch
Menü
› Übersicht › Ablauf und Bedienung › Voraussetzungen › Download › Installation » Konfiguration › FAQ › News › Feedback › Links
ANI unter Sourceforge
SourceForge.net Logo
Kommerzieller Support von
Substring.ch Logo
Valid XHTML 1.0!

Konfiguration

Diese Seite gibt einen Überblick über die Möglichkeiten ANI den eigenen Bedürfnissen anzupassen.
Die folgenden drei Kapitel erklären die Konfiguration des Bootmediums, des Microsoft Unattended Setups und der Post-Windows Installation.

^ nach oben

A - Bootmedium konfigurieren

A.1 - Bootparameter

A.1.1 - Installationsmodus

'new' (default), 'update', 'nonet'.

Beispiel
boot: new [ENTER]
Beschreibung
new
Dient zum Neuaufsetzen eines Clients, der noch nie mit ANI installiert wurde. Die Festplatte wird formatiert.
WARNUNG: Sämtliche Daten werden gelöscht!
update
Nur die Systempartition wird gelöscht. Es werden nur Dateien übers Netzwerk kopiert, die sich seit dem letzten Update der Mirrorpartition verändert haben.
Empfohlener Modus, wenn der Client bereits einmal mit ANI aufgesetzt wurde.
nonet
Die Installation geschieht von der Mirrorpartition. Es wird nicht versucht, diese übers Netz zu aktualisieren. Nur die Softwarepakete werden über das Netzwerk installiert.

A.1.2 - Runlevel

'2' (default), '3'.
HINWEIS: Wird ein Runlevel angegeben, muss auch immer ein Installationsmodus angegeben werden!

Beispiel
boot: update 3 [ENTER]
Beschreibung
1
Zur Zeit undefiniert
2
Installations-Modus. Sollte im normalen Betrieb immer verwendet werden!
3
Debug-Modus. Nur für Entwickler! Die Installation hält vor dem Starten der Windows-Installation an und es besteht die Möglichkeit, mit einer minimalen Linux-Shell Dateien zu ändern oder ähnliches.

A.2 - ani.cf0, ani.cf1 und ani.cf2

Auf der Bootdiskette befinden sich in dem Verzeichnis /config die Konfigurationsdateien ani.cf0, ani.cf1 und ani.cf2.
Mit dem Installationsmodus wird entschieden, welche der drei Konfiguratinsdateien massgeblich wird:

Konfigdatei:          Installationsmodus:
ani.cf0               new
ani.cf1               update
ani.cf2               nonet
Ausser für das Ändern des PWFLAGSs sollen diese Dateien nur für Debug-Zwecke editiert werden. Da für die Diskette das FAT-Format verwendet wird, können die Dateien auf der Linux-Bootdiskette auch unter Windows geändert werden.

A.2.1 - Post-Windows-Flags PWFLAGS

In den Dateien ani.cf0, ani.cf1 und ani.cf2 befindet sich ein Eintrag PWFLAGS=0 (Standardeinstellung). Mit PWFLAGS können derzeit zwei Features geregelt werden:

Flag:                 Wert:
mail und join         0
nomail und join       1
mail und joinoff      2
nomail und joinoff    3
Beispiel:

^ nach oben

B - Microsofts Unattended Setup konfigurieren

B.1 - unattended.tpl

Die Konfigurationen für das Unattended Setup werden in der Datei unattended.tpl vorgenommen. Die Datei befindet sich unter ~/Ai386/ani. Einen 'Guide' durch das Unattended Setup finden Sie hier für Windows 2000 bzw. Windows XP.
Die meisten Voreinstellungen sind für ANI angepasst und sollten nicht verändert werden. Dies betrifft insbesondere sämtliche Variablen, die in '$'-Zeichen gefasst sind, weil diese essentiell für ANI sind.

Die im folgenden aufgeführten Voreinstellungen sollten jedoch je nach Region bzw. verwendeteten OS (W2k/XP) angepasst werden.

B.1.1 - Sektionen [Unattended] und [Shell]

Die folgenden Einstellungen werden nur für Windows XP benötigt. Für den Fall, dass Windows 2000 Clients aufgesetzt werden sollen, können diese auskommentiert oder gelöscht werden. Die Einstellungen verursachen allerdings keine Problem mit Windows 2000 Clients.

---snip---
[Unattended]
    ...
    ;XP: Needed for XP - see <http://support.microsoft.com/?kbid=294801>.
    UnattendSwitch=Yes
    ...
---snip---
---snip---
[Shell]
    ; Use classic start menu
    DefaultStartPanelOff=Yes
    ; Use classic visual style
    DefaultThemesOff=Yes
---snip---

B.1.2 - Sektion [GuiUnattended]

In dieser Sektion sollte der Wert für den Key TimeZone angepasst werden. Die Voreinstellung ist 110 und steht für (GMZ +01:00) Amsterdam, Berlin, Bern.... Eine Liste der nummerischen Werte der Zeitzonen findet man in der Datei Unattended.doc auf der Windows CD oder direkt hier.

---snip---
[GuiUnattended]
    ...
    TimeZone=110
    ...
---snip---

B.1.3 - Sektion [RegionalSettings]

Diese Sektion bestimmt die Sprachunterstützung und die internationalen Einstellungen des Unattended Setups.
Eine vollständige Beschreibung der möglichen Einstellungen dieser Sektion sowie die entsprechenden Codes finden sich bei Microsoft. Eine Referenz über Tastaturen, Sprachen, Codepages und andere internationale Einstellungen finden Sie hier.
Folgende Voreinstellungen können verändert werden:

---snip---
[RegionalSettings]
    LanguageGroup=1
;   Language=00000409
    Language=00000807
---snip---

Die LanguageGroup hat den Wert für Westeuropa und die Vereinigten Staaten und Language den Wert für German_Swiss. Die auskommentierte Zeile würde die Spracheinstellung English_United_States (Tastatur-Layout) vornehmen.

^ nach oben

C - Post-Windows-Installation konfigurieren

Mit Post-Windows-Installation bezeichnen wir den Teil der Installation, der erst unter dem frisch installierten Windows durchgeführt wird.

C.1 - WINSET.INI bzw. WINSET.TPL (zentrale Konfigurationsdatei)

Die zentrale Konfigurationsdatei heisst 'winset.tpl' und befindet sich in dem Verzeichnis ~/Ai386/ani.
BEMERKUNG: Sämtliche Voreinstellungen in 'winset.tpl' sind für ein englisches Betriebssystem gemacht worden. Sofern eine andere Spache verwendet wird, müssen die betroffenen Pfadangaben entspreechend geändert werden (z.B. 'Program Files'(englisch) -> 'Programme'(deutsch)).
Einige Voreinstellungen in der Datei winset.tpl sind nur für Windows XP gültig. Wenn Windows 2000 Clients installiert werden sollen, sollten diese Einträge auskommentiert oder gelöscht werden. Die betroffenen Einträge sind gekennzeichnet mit den Kommentar ';XP:' in der vorangehenden Zeile.
Folgende Konfigurationen können vorgenommen werden:

C.1.1 - Sektion [versioninfo]

Die vorhandenen Keys 'version', 'release', 'insttype' und 'releasedate' dürfen nicht entfernt werden, weil diese für die Mailbenachrichtigung bzw. das Logging ausgewertet werden.
Die Werte können beliebig verändert werden.

C.1.2 - Sektion [mailnotification]

Initialisierung der Mail Benachrichtigung. Die Mailbenachrichtigung informiert per Email über den Verlauf der Installation.
Die vorhanden Keys werden ausgewertet und dürfen deshalb nicht gelöscht werden.
Die Werte sollten der eigenen Infrastruktur entsprechend angepasst werden.
Folgende Angaben müssen gemacht werden:

C.1.3 - Sektion [rmvdir]

Hier können sämtliche Verzeichnisse angegeben werden, die während der Installation gelöscht werden sollen.
Die Angabe der Verzeichniss müssen den vollständigen Pfad (z.B. '1=C:\Program Files\Outlook Express') enthalten.
WARNUNG: Sämtliche Unterverzeichnisse werden mitgelöscht.

C.1.4 - Sektion [mkdir]

Sämtliche hier angegebenen Verzeichnisse werden angelegt. Gut um Verzeichnisse mit Leerschlägen etc. zu erzeugen, welche sich nicht ans 8.3 DOS format halten.
Verzeichnisse können auch in der Installationsumgebung unter ~/Ai386/i386/$OEM$/$$ (Systemroot, normalerweise C:\WINNT\) bzw. ~/Ai386/i386/$OEM$/$1 (Root, normalerweise C:\) angelegt werden, aber nur in dem beschränkten 8.3 DOS format.

C.1.5 - Sektion [rmfile]

Hier können sämtliche Dateien angegeben werden, die während der Installation gelöscht werden sollen. Die Angabe der Verzeichniss müssen den vollständigen Pfad (z.B. '1=C:\Program Files\Common Files\System\directdb.dll') enthalten.

C.1.6 - Sektion [dynvar]

Die Sektion [dynvar] darf nicht editiert werden.
Die Werte dieser Sektion werden dynamisch erstetzt.
Die Variable $CLTYPE$ definiert eine Clientklasse und findet später bei der Software-Pakete-Installation wieder Verwendung. Siehe auch das Feld Clienttype im folgenden Screenshot unter Ablauf und Bedienung.

Die Variable $COMPNAME$ wird bei der Installation mit dem Computernamen ersetzt.

C.1.7 - Sektion [options]

Die Sektion [options] darf nicht editiert werden.
Die Werte dieser Sektion werden bei der Installation dynamisch mit den gleichnamigen Werten in ani.cfx erstetzt.

C.1.8 - Sektion [attrib]

Mittles dieser Sektion könen Datei-Attribute gesetzt werden. So können Dateien und Verzeichnisse versteckt werden.
Beispiel:

---snip---
[attrib]
C:\winnt\system32\cmd.exe=HIDDEN
C:\winnt\system32\grouppolicy\machine\scripts\scripts.ini=HIDDEN
C:\install=HIDDEN
C:\PNP=HIDDEN
C:\Programme=HIDDEN
---snip---
Neben HIDDEN können auch folgende Attribute gesetzt werden: ARCHIVE, HIDDEN, NORMAL, OFFLINE, READONLY, SYSTEM and TEMPORARY. Ihre Bedeutung kann am Besten mit einer Suche unter Google herausgefunden werden.

C.1.9 - Sektionen [DelRegKey <eindeutiger Name>]

Diese Sektionen definieren eine Sektionengruppe zu löschender Registry-Keys.
Für jeden zu löschenden Registry Key muss eine neue Sektion angelegt werden, die mit 'DelRegKey' und anschliessendem Leerzeichen beginnt.
Beispiel:

---snip---
[DelRegKey outlook_ex_1]
kroot=HKEY_LOCAL_MACHINE
kpath=Software\Microsoft\Outlook Express

[DelRegKey outlook_ex_2]
kroot=HKEY_LOCAL_MACHINE
kpath=Software\Microsoft\WAB
---snip---
WARNUNG: Registry Keys werden rekursiv gelöscht.

C.1.10 - Sektionen [DelRegVal <eindeutiger Name>]

Diese Sektionen definieren eine Sektionengruppe einzeln zu löschender Registry-Werte. Hierbei werden Wertname und Wert gelöscht.
Für jeden zu löschenden Registry Wert muss eine neue Sektion angelegt werden, die mit 'DelRegVal' und anschliessendem Leerzeichen beginnt.
Beispiel:

---snip---
[DelRegVal v1]
kroot=HKEY_LOCAL_MACHINE
kpath=Software\Microsoft\Outlook Express
vname=EinWertname
---snip---

C.1.11 - Sektionen [AddRegKey <eindeutiger Name>]

Diese Sektionen definieren eine Sektionengruppe einzeln anzulegender Registry-Keys. Es können sowohl isolierte Keys als auch Werte angelegt werden.
Für jeden anzulegenden Key oder Wert muss eine neue Sektion angelegt werden, die mit 'AddRegKey' und anschliessendem Leerzeichen beginnt.
Beispiel:

---snip---
[AddRegKey Startupscript]
kroot=HKEY_LOCAL_MACHINE
kpath=SOFTWARE\Policies\Microsoft\Windows\System\Scripts
vname=Startup
value=C:\WINNT\System32\GroupPolicy\Machine\Scripts
vtype=REG_SZ
---snip---
Für den Fall, dass nur leere, d.h. isolierte Keys angelegt werden sollen, können die Werte für 'vname', 'value' und 'vtype' leer bleiben.
Die Keys werden auch angelegt, wenn ein übergeordneter Key noch nicht existiert.

C.1.12 - Sektion [addlocalgroups]

Mit dieser Sektion können selbst definierte lokale Benutzergruppen auf dem Client eingerichtet werden.
Syntax: <local group name>=<group description>
Beispiel:

---snip---
Floppy-Users=Benutzer mit Zugriff auf das Diskettenlaufwerk
---snip---

C.1.13 - Sektion [fillgroup_lcl]

Mit dieser Sektion können lokale Benutzerkonten den lokalen Benutzergruppen zugewiesen werden.
Syntax: <lokale Grouppe>=<local user1 resp. local group1>,<local user2 resp. local group2>,...
Beispiel:

---snip---
[fillgroup_lcl]
;Fügt lokalen Benutzer 'anithing' der lokalen  Administratorengruppe hinzu:
Administrators=anithing                         

;Fügt lokalen Benutzer 'anithing' der lokalen Gruppe 'Floppy-Users' hinzu:
Floppy-Users=anithing
;...
---snip---
HINWEIS: Domänengruppen und -benutzer können lokalen Gruppen nur dann hinzu gefügt werden, wenn der PC Mitglied der Domäne ist oder eine gültige Vertrauensstellung existiert. Diese werden deshalb mittels der Sektion '[fillgroup_glb]' bearbeitet (s.u.).

C.1.14 - Sektion [fillgroup_glb]

Mit dieser Sektion können globale Benutzerkonten oder Benztzergruppen den lokalen Benutzergruppen zugewiesen werden.
Syntax: <local Group>=<domain>\<user1 resp. group1>,<domain>\<user2 resp. group2>,...
Dem Benutzer- oder Gruppennamen ist jeweils die zugehörige Domäne und ein Backslash voranzustellen.
Beispiel:

---snip---
[fillgroup_glb]
;Fügt Domäengruppe 'anidomain\CDROM-User_DLG' der lokalen Gruppe 'CDROM-Users' hinzu:
CDROM-Users=anidomain\CDROM-User-DLG

;Fügt Domänenbenutzer anidomain\anithing und die Domänengruppe 'anidomain\Floppy-User-DLG' 
; der lokalen Gruppe 'Floppy-Users' hinzu:
Floppy-Users=anidomain\anithing,anidomain\Floppy-User-DLG
;...
---snip---
HINWEIS: Domänengruppen und -benutzer können lokalen Gruppen nur dann hinzu gefügt werden, wenn der PC Mitglied der Domäne ist oder eine gültige Vertrauensstellung existiert.

C.2 - SWPACK.INI (Konfigurationsdatei für die Softwarepakete-Installation)

Die Datei SWPACK.INI liegt in dem Verzeichnis ~/APACK und steuert abhängig von Client-Klassen die Installation von Software.
Derzeit sind 26 Clientklassen (A bis Z) vordefiniert, die in 'swpack.ini' in der Sektion [CLTYPE] verwendet werden können ('ATYPE', 'BTYPE',...).
Siehe CONTENT und SWPACK.INI für weitere Informationen und das Feld Clienttype im folgenden Screenshot unter Ablauf und Bedienung wo der Benutzer die Client-Klasse eingibt.

C.3 - Sonderkonfigurationen

C.3.1 - Passwort und Name für den lokalen Administrator

Das normale Unattended Setup bietet die Möglichkeit, das Passwort für den lokalen Administrator in der Datei 'unattend.txt' festzulegen. Das Passwort liegt dort als 'plain text', d.h., das es jedermann lesen kann. Wird eine Installation abgebrochen ist praktisch jeder in der Lage so an das Passwort für den lokalen Administrator zu gelangen.
ANI bietet dehalb die Möglichkeit das Passwort mit 'prenet.exe' zu setzen. Ausserdem benennt 'prenet.exe' das Benutzerkonto des lokalen Administrators um und legt ein Dummy-Konto mit dem Namen 'Administrator' an. Da 'prenet.exe' in C programmiert wurde und nur binär vorliegt, ist es dem Noramlbenutzer nicht möglich an das Passwort zu gelangen.
Der Quellcode für prenet.exe liegt in dem Verzeichnis ~/SOURCES/prenet. Der Name und das Passwort des Administrators sind in der Datei ~/SOURCES/prenet/prenet.h definiert.
Folgende Werte sind voreingestellt: (ab ca. Zeile 12 in prenet.h)

---snip---
#define _OLD_ADMIN TEXT("administrator")
#define _NEW_ADMIN TEXT("anithing")  // oder ein anderer Name
#define _NEW_PASSWD TEXT("ani++")    // oder ein anderes Passwort
#define _DUMMY_PW TEXT("ANIgoes")    // Passwort des deaktivierten alten Kontos 'administrator'
---snip---
prenet.exe wurde mit Microsoft Visual Studio .NET (Microsoft Visual C++ .NET 69586-270-0000007-18846) kompiliert.