Änderungen von Dokument Eigene Autoconf-Rolle erstellen
Zuletzt geändert von Tom Altenbrunn am 2023/03/17 08:03
Von Version 50.3
bearbeitet von Tom Altenbrunn
am 2023/03/16 16:53
am 2023/03/16 16:53
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Auf Version 10.3
bearbeitet von Jonas Mayer
am 2023/03/15 09:02
am 2023/03/15 09:02
Änderungskommentar:
Renamed from xwiki:Main.LD Deploy.Allgemein.Eigene Autoconf-Rolle erstellen2.WebHome
Zusammenfassung
-
Seiteneigenschaften (3 geändert, 0 hinzugefügt, 0 gelöscht)
-
Anhänge (0 geändert, 0 hinzugefügt, 11 gelöscht)
Details
- Seiteneigenschaften
-
- Titel
-
... ... @@ -1,1 +1,1 @@ 1 -Eigene Autoconf-Rolle erstellen 1 +Eigene Autoconf-Rolle erstellen2 - Dokument-Autor
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. TomAltenbrunn@sbede1 +XWiki.jonasmayer@sbede - Inhalt
-
... ... @@ -1,117 +1,21 @@ 1 - {{toc depth="3"/}}1 +Autoconf liegt wie der Vorgänger Ansible im ctrl-g1 Container und dient dazu, Einstellungen oder Konfigurationen auf die deployten Rechner zu übertragen, ohne ein Image dafür zu schreiben. 2 2 3 -- ---3 +Von SBE ausgelieferte Rollen befinden sich Im Pfad {{box}}/usr/lib/ld-autoconf/logodidact/roles/{{/box}}. 4 4 5 - =(%style="font-size:22px"%)__**Allgemeines**__(%%)=5 +Selbst erstellte Autoconf-Rollen müssen unter {{box}}/data/ld/autoconf/custom{{/box}} (bzw. früher vor Puppet-Version 1.5.x unter {{box}}/var/lib/ld-autoconf/custom/{{/box}}) abgelegt werden, damit diese nicht durch Updates überschrieben werden. 6 6 7 +Der Aufbau einer Autoconf-Rolle muss einer Struktur folgen, damit der Server diese Interpretieren kann. 7 7 8 - Autoconf liegtwie derVorgänger Ansibleimctrl-g1 Containerunddientdazu, individuelleEinstellungenwährenddes Deploymentsauf Rechner zu übertragen.Es könnenüber diesen Mechanismus nachträglichauch kleinere AnpassungenanClientsübertragenwerden,ohnedafürn neues Imageauf den Server hochzuladen.Somit lassensichrelativeinfach und flexibeldiverseAnpassungenan bestehenden Clients vornehmen.9 +Unterhalb der Regel muss ein Ordner mit Namen {{box}}meta{{/box}} mit einer {{box}}logodidact.yml{{/box}} liegen. In dieser Datei sind Name, Beschreibung, Ersteller sowie weitere Informationen zur Autoconf-Rolle festgelegt. 9 9 10 -LogoDIDACT ist standardmäßig bereits mit zahlreichen Autoconf-Rollen bestückt, die mitgeliefert werden, um ein möglichst breites Spektrum verschiedenster Anforderungen des allgemeinen Schulbetriebs abzudecken. 11 -Diese fest integrierten Rollen befinden sich im LXC-Container ctrl-g1 im Pfad {{box}}/usr/lib/ld-autoconf/logodidact/roles/{{/box}}. 12 12 13 - [[image:image-20230315103418-1.png||height="103"width="1344"class="img-thumbnail"]]12 +==== **Beispielaufbau der logodidact.yml:** ==== 14 14 15 - 16 -Darüber hinaus ist es Partnern und Kunden möglich, für spezielle / anwendungsspezifische Anforderungen eigene AutoConf-Rollen zu erstellen und im LD Control Center mit Clients zu verknüpfen. Dafür steht am LD-Server ein eigenes Verzeichnis zur Verfügung, welches sich ebenfalls im LXC-Container ctrl-g1 befindet und nicht durch Server-Updates beeinflusst oder überschrieben wird. Der genaue Speicherpfad hängt von der Puppet-Version des Servers ab: 17 - 18 -* bis Puppet-Version **1.4.x** : {{code language="bash"}}/var/lib/ld-autoconf/custom/{{/code}} 19 -* ab Puppet-Version **1.5.x **: {{code language="bash" layout="LINENUMBERS"}}/data/ld/autoconf/custom/{{/code}} 20 - 21 -Der Aufbau einer Autoconf-Rolle unterliegt einer vordefinierten Struktur, bestehend aus einer Beschreibungsdatei {{box}}meta/logodidact.yml{{/box}}, welche die Informationen zu Namen, Beschreibung, Ersteller, Variablen, usw. definiert, sowie zugehörige Skript-Dateien (PowerShell). Diese Skript-Dateien müssen - abhängig vom vorgesehen Ziel-Betriebssystem - in einem Unterordner {{box}} win/ {{/box}} (//Windows//) oder {{box}} lin/ {{/box}} (//Linux//) abgespeichert sein. Zusätzlich besteht auch die Möglichkeit, in einem weiteren Unterordner {{box}} files/ {{/box}} beliebige Dateien in der Autoconf-Rolle mitzuliefern, wie zum Beispiel Bilder, Videos, etc. 22 - 23 -__Der strukturelle Aufbau eines AutoConf-Verzeichnisses grafisch dargestellt:__ 24 - 25 -[[image:attach:autoconf-struktur.PNG||data-xwiki-image-style-border="true" data-xwiki-image-style-text-wrap="true" height="348" width="642" class="img-thumbnail"]] 26 - 27 ----- 28 - 29 -Für die Funktionalität der Autoconf-Rolle ist es also nötig, PowerShell-Skripte am Server abzuspeichern, die die Instruktionen an den Arbeitsstationen ausführen. Für diese Skripte sind folgende Dateinamen zulässig: 30 - 31 -* **main.ps1** - Skript wird in allen Phasen ausgeführt, die innerhalb der Beschreibungsdatei (% data-xwiki-non-generated-content="java.util.List" %){{box}}meta/logodidact.yml{{/box}}(%%) festgelegt sind. Eine solche Datei folgt dem Prinzip „in jeder Phase soll genau das gleiche stattfinden“. 32 -* (% style="color:#8e44ad" %)**setup.ps1**(%%) - Skript wird ausschließlich in der SETUP-Phase während des Deployments ausgeführt. In der Setup-Phase ist der Client noch veränderlich und besitzt noch keine Schutzfunktion, selbst wenn der Schutz aktiviert ist. 33 -* (% style="color:#8e44ad" %)**custom.ps1**(%%) - Skript wird ausschließlich in der CUSTOM-Phase ausgeführt. Dies geschieht sowohl 1x während des Deployments als auch später nach jedem Hochfahren des PCs 1x im Hintergrund. 34 -* (% style="color:#8e44ad" %)**user.ps1**(%%) - Skript wird ausschließlich in der USER-Phase ausgeführt. Diese Phase wird nicht direkt während des Deployments durchlaufen, sondern erst später während der Benutzeranmeldung an betriebsbereiten PCs. 35 -* (% style="color:#8e44ad" %)**audit.ps1**(%%) - Skript wird ausschließlich in der AUDIT-Phase ausgeführt. Das bedeutet erst dann, wenn man an einem Client in den Audit-Modus zur Imagebearbeitung wechselt. 36 -* **collect.ps1** - Sonderfall. Dieses Skript wird ausgeführt, wenn durch einen Anwender aktiv die Phase COLLECT zum Einsammeln von Einstellungen am Client aufgerufen wird. 37 - 38 -(% class="box warningmessage" %) 39 -((( 40 -(% style="font-size:12px" %)**Hinweis: **Skripte, die durch ihren Dateinamen auf einzelne Phasen eingeschränkt sind ((% style="color:#8e44ad; font-size:12px" %)lila eingefärbt(% style="font-size:12px" %)), dürfen sich inhaltlich zueinander unterscheiden. Dadurch kann eine Autoconf-Rolle sehr flexibel gestaltet werden und in den verschiedenen Phasen des Deployments unterschiedliche Aktionen ausführen. 41 -))) 42 - 43 - 44 - Nachfolgend sind grafisch die diversen Deploy-Phasen dargestellt, welche ein Client während des Imaging-Vorgangs durchläuft. Die Abarbeitung von AutoConf-Rollen beginnen ab der Phase "**Re-Setup**" . Anhand der Deploy-Phase kann somit auf die Verarbeitungsphase der Rolle rückgeschlossen werden. 45 - 46 - [[image:image-20230316155817-1.png||class="img-thumbnail"]] 47 - 48 ----- 49 - 50 - 51 -= (% style="font-size:22px" %)__**Beispielaufbau einer logodidact.yml**__(%%) = 52 - 53 - 54 -Eine Autoconf-Beispielvorlage liegt serverseitig im Unterordner {{box}}/data/ld/autoconf/custom/example/{{/box}} abgespeichert. Darin wird die Verwendung verschiedener Variablentypen aufgezeigt, die als Parameter an die Skript-Dateien weitergegeben werden können. Die Verwendung solcher Variablen innerhalb einer Autoconf-Rolle ist optional, je nach Zweck jedoch häufig sinnvoll. 55 - 56 -== (% style="font-size:16px" %)**Beispiel zur Deklaration einer Autoconf Variable in logodidact.yml**(%%) == 57 - 58 58 (% class="box" %) 59 59 ((( 60 -ld_info: 61 - display_name: Meine eigene Autoconf-Rolle 1 62 -(% style="color:#27ae60" %) # [...](%%) 63 -\\ vars: 64 - globalLogLevel: 65 - display_name: Loglevel 66 - optional: true 67 - type: ENUM 68 - values: 69 - - none 70 - - compact 71 - - detailed 72 - - verbose 73 -\\(% style="color:#27ae60" %) # [...] 74 -))) 75 - 76 -(% class="box infomessage" %) 77 -((( 78 -**Tipp:** Der Variablentyp ENUM aus dem Beispiel ergibt ein Dropdown-Menü, in dem man aus den vordefinierten 4 Werten (none / compact / detailed / verbose) auswählen kann. 79 -))) 80 - 81 ----- 82 - 83 - 84 -= (% style="font-size:22px" %)__**Neue AutoConf-Rollen nach Fertigstellung freigeben**__(%%) = 85 - 86 - 87 -Neue Autoconf-Rollen können am Server durch Aufruf des Befehls {{box}}update-autoconf-archive{{/box}} im LXC ctrl-g1 aktualisiert werden. Der Aufruf dieses Kommandos ist auch nach Änderungen an Autoconf-Rollen nötig. 88 -Alternativ werden alle Autoconf-Rollen auch zeitbasiert alle 4 Stunden am Server eingelesen. Dies passiert automatisch im Hintergrund. 89 - 90 -Über den Button "AutoConf Rollen neu einlesen" im LD Control Center (mit aktiviertem Expertenmodus) werden die neu erstellten Rollen im Anschluss sichtbar und sind wie gewohnt Betriebssystemen zuordenbar. 91 - 92 -(% class="box infomessage" %) 93 -((( 94 -Der Expertenmodus wird in den **Einstellungen (Zahnrad oben rechts) -> Entwickleroptionen -> Expertenmodus aktivieren** aktiv geschaltet. 95 -))) 96 - 97 -[[image:attach:autoconf.png||data-xwiki-image-style-border="true" class="img-thumbnail"]] 98 - 99 - 100 ----- 101 - 102 - 103 -= (% style="font-size:22px" %)__**Funktionsfertiges Beispiel: Rolle „WLAN Profil mit PSK anlegen“**__(%%) = 104 - 105 - 106 -Zum besseren Verständnis wird nachfolgend eine feste Autoconf-Rolle zur Konfiguration eines WLAN-Profils (SSID inkl. PSK) an Clients näher beleuchtet. 107 - 108 -(% class="box" %) 109 -((( 110 110 root@ctrl-g1:~~ # cat /usr/lib/ld-autoconf/logodidact/roles/ld_wlan_psk/meta/logodidact.yml 111 111 ))) 112 112 113 -== (% style="font-size:16px" %)**Struktureller Aufbau der logodidact.yml**(%%) == 114 - 115 115 (% class="box" %) 116 116 ((( 117 117 ld_info: ... ... @@ -118,15 +118,15 @@ 118 118 authors: 119 119 - Marcel Petersen 120 120 company: SBE network solutions GmbH 121 - (%style="color:#1abc9c"%)display_name:(%%)WLAN Profil mit PSK anlegen25 + display_name: WLAN Profil mit PSK anlegen 122 122 license: SBE 123 - (%style="color:#8e44ad"%)uuid:(%%)52318636-c4f5-11ea-baf9-0bff00c66ff427 + uuid: 52318636-c4f5-11ea-baf9-0bff00c66ff4 124 124 visible: true 125 - (%style="color:#19177c"%)priority:(%%)0126 - apply _always: false127 - (%style="color:#f1c40f"%)tags:(%%)29 + priority: 0 30 + applyAlways: false 31 + tags: 128 128 - CUSTOM 129 - (%style="color:#e74c3c"%)vars:(%%)33 + vars: 130 130 ssid: 131 131 display_name: SSID 132 132 optional: false ... ... @@ -135,44 +135,77 @@ 135 135 display_name: Passwort 136 136 optional: false 137 137 type: PASSWORD 138 - (%style="color:#2980b9"%)systems:(%%)42 + systems: 139 139 - WINDOWS 140 140 - LINUX 141 141 ))) 142 142 143 - (% style="color:#1abc9c" %)**display_name**(%%)= Anzeigename der Autoconf-Rolle im LD Control Center47 +display_name = Anzeigename der Autoconf-Rolle im LD Control Center 144 144 145 - (% style="color:#8e44ad" %)**uuid**(%%)= ID der Autoconf-Regel.Muss einmalig sein. Bei einer eigenen Autoconf-Rolle sollte der Wert am besten neu generiert werden. [[https:~~/~~/www.uuidgenerator.net/>>url:https://www.uuidgenerator.net/]]49 +uuid = ID der Autoconf-Regel, muss einmalig sein. Bei einer eigenen Autoconf-Rolle sollte der Wert am besten neu generiert werden. [[https:~~/~~/www.uuidgenerator.net/>>url:https://www.uuidgenerator.net/]] 146 146 147 - (% style="color:#19177c"%)**priority**(% style="color:#2980b9" %)** **(%%)= LegtdieVerarbeitungsreihenfolgederAutoconf-Rollegenüber weiteren Rollenfest, die in derselben Phase ausgeführt werden. BeigleicherPriorität findet die Abarbeitung alphabetisch statt.Eine höhere Priorität führt zu früherer Ausführung.51 +tags = beschreibt, in welchen Phasen die Autoconf-Regel ausgeführt wird. 148 148 149 - (%style="color:#f1c40f" %)**tags**(%%)=beschreibt,inwelchenPhasen die Autoconf-Regelausgeführt wird.53 +systems = Legt fest, welche Betriebssystem-Typen durch die Autoconf-Rolle unterstützt werden. Gültige Systeme sind: WINDOWS / LINUX 150 150 151 - (% style="color:#e74c3c" %)**vars**(%%)****= definiert mögliche Variablen, die den Skripten übergeben werden55 +vars = definiert mögliche Variablen, die den Skripten übergeben werden 152 152 153 -* display_name = Name der konfigurierbaren Variable im Control Center 154 -* optional = bestimmt, ob die Variable zwingend mit einem Wert belegt werden muss 155 -* type = bestimmt den Typ der Variable. Gültige Typen sind: STRING, PASSWORD, BOOLEAN, ENUM, ARRAY, INTEGER 156 -* example = Zeigt einen grau eingefärbten Beispieltext innerhalb der definierten Variable an, ohne dass dieser als Wert festgelegt ist (Hilfsmittel für Anwender). 57 + ~* display_name = Name der konfigurierbaren Variable im Control Center 157 157 158 - (%style="color:#2980b9"%)**systems**(%%)=Legtfest, welcheBetriebssystem-Typendurch dieAutoconf-Rolleunterstütztwerden.GültigeSystemesindWINDOWS / LINUX. DieRolle ausdemBeispielunterstütztbeide Betriebssysteme gleichzeitig.59 + ~* example = Zeigt einen grau eingefärbten Beispieltext innerhalb Variable an, ohne dass dieser als Wert festgelegt ist (Hilfsmittel für Anwender). 159 159 160 - ----61 + ~* optional = bestimmt, ob die Variable zwingend mit einem Wert belegt werden muss 161 161 63 + ~* type = bestimmt den Typ der Variable. Gültige Typen sind: STRING, PASSWORD, BOOLEAN, ENUM, ARRAY, INTEGER 162 162 163 -== (% style="font-size:16px" %)**Inhalt des PowerShell-Skripts main.ps1, das die Variablen entgegennimmt**(%%) == 164 164 165 -Im Unterverzeichnis {{box}} win/ {{/box}} oder {{box}} lin/ {{/box}} der Autoconf-Rolle können sich wie erläutert unterschiedliche PowerShell-Skripte zur Ausführung in den verschiedenen Phasen befinden. 166 -In dieser Rolle liegt konkret das allgemeingültige Skript {{box}}main.ps1{{/box}} vor, welches die Variablen als Parameter ##$ssid## und ##$psk## intern verwendet. 66 +**Beispiel für eine Variable:** 167 167 68 +(% class="box" %) 69 +((( 70 +globalLogLevel: 71 + display_name: Loglevel 72 + optional: true 73 + type: ENUM 74 + values: 75 + - none 76 + - compact 77 + - detailed 78 + - full 79 +))) 168 168 169 -(% style=" color:#19177c" %)**WindowsVariante**81 +(% style="font-size:12px" %)**Tipp:** Der Variablentyp ENUM aus dem Beispiel entspricht einem Dropdown-Menü, in dem man aus vordefinierte Werte auswählen kann: 170 170 171 -{{code language="text" width="50%"}} 83 + 84 +Für die Funktionalität der Autoconf-Rolle ist es nötig, PowerShell-Skripte am Server abzuspeichern, die die Instruktionen an den Arbeitsstationen ausführen. Diese Skripte liegen unterhalb der Autoconf-Rolle im Verzeichnis {{box}}win{{/box}}. Darin sind folgende Dateinamen zulässig: 85 + 86 +* **main.ps1** - Skript wird in allen Phasen ausgeführt, die innerhalb der Beschreibungsdatei {{box}}meta/logodidact.yml{{/box}} festgelegt sind 87 +* (% style="color:#8e44ad" %)**setup.ps1**(%%) - Skript wird ausschließlich in der SETUP-Phase während des Deployments ausgeführt. 88 +* (% style="color:#8e44ad" %)**custom.ps1**(%%) - Skript wird ausschließlich in der CUSTOM-Phase während des Deployments ausgeführt. 89 +* (% style="color:#8e44ad" %)**user.ps1**(%%) - Skript wird ausschließlich in der USER-Phase während des Deployments ausgeführt. 90 +* (% style="color:#8e44ad" %)**audit.ps1**(%%) - Skript wird ausschließlich in der AUDIT-Phase während des Deployments ausgeführt. 91 +* **collect.ps1** - Sonderfall. Dieses Skript wird ausgeführt, wenn durch einen Anwender aktiv die Phase COLLECT zum Einsammeln von Einstellungen am Client aufgerufen werden. 92 + 93 +(% style="font-size:12px" %)**Hinweis: **Skripte, die durch ihren Dateinamen auf die einzelnen Phasen eingeschränkt sind ((% style="color:#8e44ad; font-size:12px" %)lila eingefärbt(% style="font-size:12px" %)), können sich inhaltlich zueinander unterscheiden. Dadurch kann eine Autoconf-Rolle sehr flexibel gestaltet werden. 94 + 95 + 96 +==== **Beispielaufbau der main.ps1** ==== 97 + 98 +Im win-Verzeichnis können sich unterschiedliche Powershellskripte befinden. Der jeweilige Name der .ps1 Datei gibt an zu welcher Phase die Datei ausgeführt wird. 99 + 100 +{{code}} 101 +user.ps1 = user Phase, nach der Anmeldung 102 + 103 +custom.ps1 = custom Phase 104 + 105 +audit.ps1 = audit Phase 106 + 107 +setup.ps1 = setup Phase 108 + 109 +main.ps1 = alle Phasen 110 + 172 172 root@ctrl-g1:~ # cat /usr/lib/ld-autoconf/logodidact/roles/ld_wlan_psk/win/main.ps1 173 -{{/code}} 174 174 175 -{{code width="50%" language="powershell"}} 176 176 Param 177 177 ( 178 178 [parameter(Mandatory=$false)] ... ... @@ -225,159 +225,17 @@ 225 225 226 226 Remove-Item -Path $file -Force 227 227 } 228 -{{/code}} 229 229 230 - 231 -(% style="color:#19177c" %)**Linux Variante (Network Manager)** 232 - 233 -{{code language="text" width="50%"}} 234 -root@ctrl-g1:~ # cat /usr/lib/ld-autoconf/logodidact/roles/ld_wlan_psk/lin/main.ps1 166 +Param() = hier werden die übergebenen Parameter von meta/logodidact.yml zu lokale Variablen. 235 235 {{/code}} 236 236 237 -{{code language="powershell" width="50%"}} 238 -Param 239 -( 240 - [parameter(Mandatory=$false)] 241 - [String] 242 - $ssid, 243 - [parameter(Mandatory=$false)] 244 - [String] 245 - $psk 246 -) 169 +==== ==== 247 247 248 -if ($ssid -ne '' -and $psk -ne '') { 249 - if (Get-Command "nmcli" -ErrorAction SilentlyContinue) { 250 - # Check if kernel modules are up 251 - nmcli dev wifi rescan 252 - if ($LASTEXITCODE -ne 0) { 253 - Start-Sleep -Seconds 30 254 - } 255 - 256 - # Check again 257 - nmcli dev wifi rescan 258 - if ($LASTEXITCODE -ne 0) { 259 - Write-Verbose "Skipping role. There might be no WiFi device installed." 260 - exit 0 261 - } 262 - 263 - $config = "/etc/NetworkManager/system-connections/$ssid" 171 +==== **Neue AutoConf-Regel freigeben** ==== 264 264 265 - if (Test-Path -Path $config) { 266 - Write-Verbose "Removing '$config'" 267 - Remove-Item -Path $config -Recurse -Force 268 - } 173 +Neue Autoconf-Regel müssen mit dem Befehl {{box}}update-autoconf-archive{{/box}} eingelesen werden. 174 +Ansonsten werden die Autoconfrollen auch zeitbasiert (Alle 4 Stunden) neu eingelesen. 175 +Drücken Sie Im Controlcenter mit aktivieren Expertenmodus folgenden Knopfen, damit dort auch die neuen Autoconf-Regeln verfügbar werden. 269 269 270 - Write-Verbose "Connecting to '$ssid'" 271 - 272 - nmcli device wifi connect """$ssid""" password """$psk""" 273 - 274 - if ($LASTEXITCODE -eq 0) { 275 - Start-Sleep -Seconds 5 276 - nmcli con up """$ssid""" 277 - 278 - if ($LASTEXITCODE -ne 0) { 279 - Write-Verbose "Error: Credentials wrong?" 280 - 281 - if (Test-Path -Path $config) { 282 - Write-Verbose "Removing '$config'" 283 - Remove-Item -Path $config -Recurse -Force 284 - } 285 - } 286 - } 287 - 288 - Write-Verbose "Exiting with code: $LASTEXITCODE" 289 - exit $LASTEXITCODE 290 - } 291 - 292 - Write-Verbose "No suitable implementation found" 293 - exit 1 294 -} 295 -{{/code}} 296 - 297 ----- 298 - 299 - 300 - 301 -= (% style="font-size:22px" %)__**Weiteres Beispiel: eigene AutoConf-Rolle zur „Deaktivierung der Suchhervorhebung in Windows“**__(%%) = 302 - 303 -Im nachfolgenden Beispiel wird eine einfache Rolle zur Deaktivierung der Suchvorhebung in Windows deklariert. 304 -\\[[image:image-20230316103442-2.png||height="530" width="1142" class="img-thumbnail"]] 305 - 306 ----- 307 - 308 -== (% style="font-size:16px" %)**Aufbau der logodidact.yml**(%%) == 309 - 310 -Neben den allgemeinen Informationen über die Autoren (authors), Unternehmen (company), einer Beschreibung (description), dem Anzeigenamen (display_name) im LD Control Center, usw, beginnt im Abschnitt {{code language="bash"}}vars{{/code}} die eigentliche Definition der Variable 311 -"**{{code}}disableSearchHighlight{{/code}}**". 312 - 313 - 314 -{{code language="yaml" width="45%"}} 315 -#logodidact.yml 316 - 317 -ld_info: 318 - authors: 319 - - Tom Altenbrunn 320 - - Olav Krapp 321 - - Marcel Petersen 322 - - Kerim Ekin 323 - company: SBE network solutions GmbH 324 - description: | #Beschreibung 325 - Die Suchhervorhebung in der Windows Suchleiste wird deaktiviert 326 - display_name: Windows Suchhervorhebung #Anzeigename im LD Control Center 327 - license: SBE 328 - uuid: fec4ff30-b2a6-407f-a6b3-0a621cd7eaf7 #einmalige UUID 329 - vars: #Deklaration der Variablen 330 - disableSearchHighlight: #Name der Variable 331 - display_name: Suchhervorhebung im Suchfeld deaktivieren #Anzeigename im LD Control Center 332 - optional: true #Auswahl optional 333 - type: BOOLEAN #Variablentyp Boolean = True/False 334 - value: false #Standardwert false 335 - visible: true #Sichtbarkeit der Variable im LD Control Center 336 - priority: 0 #Abarbeitungspriorität 337 - apply_always: false 338 - tags: 339 - - CUSTOM #Ausführungszeitpunkt während der/den Phase(n) 340 - systems: 341 - - WINDOWS #Betriebssystem 342 -{{/code}} 343 - 344 ----- 345 - 346 -== (% style="font-size:16px" %)**Aufbau der main.ps1**(%%) == 347 - 348 -Danach erfolgt die Erstellung des ausführbaren Codes per Powershell. Im ersten Abschnitt (% style="color:#008000" %)**Param** (%%)werden die in der im vorigen Abschnitt definierten Variablen {{code}}vars{{/code}} aus der logodidact.yml aufgeführt und definiert. Bei der Variable "**{{code}}disableSearchHighlight{{/code}}**" handelt es sich um ein Boolean (True/False). Die Bedingung "**[parameter(Mandatory=$false)]**" setzt das Vorhandensein der Variable während dem Ablauf des Skriptes nicht als zwingend notwendig voraus, sodass bei einem darauffolgenden Verarbeitungsfehler o.ä. die Abarbeitung weiter erfolgt. 349 - 350 -{{code language="powershell"}} 351 -#main.ps1 352 - 353 -Param 354 -( 355 - [parameter(Mandatory=$false)] #Variable zwingend erforderlich? 356 - [bool] #Variablentyp 357 - $disableSearchHighlight #Name der def. Variable aus logodidact.yml 358 -) 359 - 360 -$SystemVersion=[System.Environment]::OSVersion.Version #Hole Windows Systemversion 361 - 362 -#Beginn des eigentlichen Codes 363 -if ($SystemVersion.Major -eq 10 -and $SystemVersion.Build -ge 19044) { 364 - $val = [int]!$disableSearchHighlight 365 - Write-Verbose "Setting EnableDynamicContentInWSB to '$val'" 366 - [Microsoft.Win32.Registry]::SetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Search","EnableDynamicContentInWSB",$val,[Microsoft.Win32.RegistryValueKind]::DWord) 367 -} else { 368 - Write-Host "Feature ist erst ab dem Release 21H2 verfügbar." 369 -} 370 -{{/code}} 371 - 372 ----- 373 - 374 -== (% style="font-size:16px" %)**Einlesen der AutoConf-Rollen am Server**(%%) == 375 - 376 -[[image:image-20230316110425-1.png||height="124" width="1186" class="img-thumbnail"]] 377 - 378 - 379 -== (% style="font-size:16px" %)**Ansicht im LD Control Center**(%%) == 380 - 381 -[[image:image-20230316110525-2.png||class="img-thumbnail"]] 382 - 177 +[[image:attach:autoconf.png||data-xwiki-image-style-border="true"]] 383 383
- autoconf-struktur.PNG
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.TomAltenbrunn@sbede - Größe
-
... ... @@ -1,1 +1,0 @@ 1 -36.5 KB - Inhalt
- image-20230315103418-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.TomAltenbrunn@sbede - Größe
-
... ... @@ -1,1 +1,0 @@ 1 -25.1 KB - Inhalt
- image-20230315120842-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.TomAltenbrunn@sbede - Größe
-
... ... @@ -1,1 +1,0 @@ 1 -34.9 KB - Inhalt
- image-20230316094933-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.TomAltenbrunn@sbede - Größe
-
... ... @@ -1,1 +1,0 @@ 1 -43.3 KB - Inhalt
- image-20230316095106-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.TomAltenbrunn@sbede - Größe
-
... ... @@ -1,1 +1,0 @@ 1 -47.8 KB - Inhalt
- image-20230316102252-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.TomAltenbrunn@sbede - Größe
-
... ... @@ -1,1 +1,0 @@ 1 -166.3 KB - Inhalt
- image-20230316102302-4.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.TomAltenbrunn@sbede - Größe
-
... ... @@ -1,1 +1,0 @@ 1 -166.3 KB - Inhalt
- image-20230316103224-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.TomAltenbrunn@sbede - Größe
-
... ... @@ -1,1 +1,0 @@ 1 -166.3 KB - Inhalt
- image-20230316103442-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.TomAltenbrunn@sbede - Größe
-
... ... @@ -1,1 +1,0 @@ 1 -201.2 KB - Inhalt
- image-20230316110425-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.TomAltenbrunn@sbede - Größe
-
... ... @@ -1,1 +1,0 @@ 1 -166.3 KB - Inhalt
- image-20230316110525-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.TomAltenbrunn@sbede - Größe
-
... ... @@ -1,1 +1,0 @@ 1 -48.3 KB - Inhalt