Änderungen von Dokument Eigene Autoconf-Rolle erstellen
Zuletzt geändert von Tom Altenbrunn am 2023/03/17 08:03
Von Version 31.1
bearbeitet von Tom Altenbrunn
am 2023/03/16 10:39
am 2023/03/16 10:39
Ä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, 9 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,112 +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 {{box}}meta/logodidact.yml{{/box}} festgelegt sind 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 - 45 - 46 -= (% style="font-size:22px" %)__**Beispielaufbau einer logodidact.yml**__(%%) = 47 - 48 - 49 -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. 50 - 51 -== (% style="font-size:16px" %)**Beispiel zur Deklaration einer Autoconf Variable in logodidact.yml**(%%) == 52 - 53 53 (% class="box" %) 54 54 ((( 55 -ld_info: 56 - display_name: Meine eigene Autoconf-Rolle 1 57 -(% style="color:#27ae60" %) # [...](%%) 58 -\\ vars: 59 - globalLogLevel: 60 - display_name: Loglevel 61 - optional: true 62 - type: ENUM 63 - values: 64 - - none 65 - - compact 66 - - detailed 67 - - verbose 68 -\\(% style="color:#27ae60" %) # [...] 69 -))) 70 - 71 -(% class="box infomessage" %) 72 -((( 73 -**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. 74 -))) 75 - 76 ----- 77 - 78 - 79 -= (% style="font-size:22px" %)__**Neue AutoConf-Rollen nach Fertigstellung freigeben**__(%%) = 80 - 81 - 82 -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. 83 -Alternativ werden alle Autoconf-Rollen auch zeitbasiert alle 4 Stunden am Server eingelesen. Dies passiert automatisch im Hintergrund. 84 - 85 -Ü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. 86 - 87 -(% class="box infomessage" %) 88 -((( 89 -Der Expertenmodus wird in den **Einstellungen (Zahnrad oben rechts) -> Entwickleroptionen -> Expertenmodus aktivieren** aktiv geschaltet. 90 -))) 91 - 92 -[[image:attach:autoconf.png||data-xwiki-image-style-border="true" class="img-thumbnail"]] 93 - 94 - 95 ----- 96 - 97 - 98 -= (% style="font-size:22px" %)__**Funktionsfertiges Beispiel: Rolle „WLAN Profil mit PSK anlegen“**__(%%) = 99 - 100 - 101 -Zum besseren Verständnis wird nachfolgend eine feste Autoconf-Rolle zur Konfiguration eines WLAN-Profils (SSID inkl. PSK) an Clients näher beleuchtet. 102 - 103 -(% class="box" %) 104 -((( 105 105 root@ctrl-g1:~~ # cat /usr/lib/ld-autoconf/logodidact/roles/ld_wlan_psk/meta/logodidact.yml 106 106 ))) 107 107 108 -== (% style="font-size:16px" %)**Struktureller Aufbau der logodidact.yml**(%%) == 109 - 110 110 (% class="box" %) 111 111 ((( 112 112 ld_info: ... ... @@ -113,15 +113,15 @@ 113 113 authors: 114 114 - Marcel Petersen 115 115 company: SBE network solutions GmbH 116 - (%style="color:#1abc9c"%)display_name:(%%)WLAN Profil mit PSK anlegen25 + display_name: WLAN Profil mit PSK anlegen 117 117 license: SBE 118 - (%style="color:#8e44ad"%)uuid:(%%)52318636-c4f5-11ea-baf9-0bff00c66ff427 + uuid: 52318636-c4f5-11ea-baf9-0bff00c66ff4 119 119 visible: true 120 - (%style="color:#19177c"%)priority:(%%)029 + priority: 0 121 121 applyAlways: false 122 - (%style="color:#f1c40f"%)tags:(%%)31 + tags: 123 123 - CUSTOM 124 - (%style="color:#e74c3c"%)vars:(%%)33 + vars: 125 125 ssid: 126 126 display_name: SSID 127 127 optional: false ... ... @@ -130,44 +130,77 @@ 130 130 display_name: Passwort 131 131 optional: false 132 132 type: PASSWORD 133 - (%style="color:#2980b9"%)systems:(%%)42 + systems: 134 134 - WINDOWS 135 135 - LINUX 136 136 ))) 137 137 138 - (% style="color:#1abc9c" %)**display_name**(%%)= Anzeigename der Autoconf-Rolle im LD Control Center47 +display_name = Anzeigename der Autoconf-Rolle im LD Control Center 139 139 140 - (% 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/]] 141 141 142 - (% 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. 143 143 144 - (%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 145 145 146 - (% style="color:#e74c3c" %)**vars**(%%)****= definiert mögliche Variablen, die den Skripten übergeben werden55 +vars = definiert mögliche Variablen, die den Skripten übergeben werden 147 147 148 -* display_name = Name der konfigurierbaren Variable im Control Center 149 -* optional = bestimmt, ob die Variable zwingend mit einem Wert belegt werden muss 150 -* type = bestimmt den Typ der Variable. Gültige Typen sind: STRING, PASSWORD, BOOLEAN, ENUM, ARRAY, INTEGER 151 -* 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 152 152 153 - (%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). 154 154 155 - ----61 + ~* optional = bestimmt, ob die Variable zwingend mit einem Wert belegt werden muss 156 156 63 + ~* type = bestimmt den Typ der Variable. Gültige Typen sind: STRING, PASSWORD, BOOLEAN, ENUM, ARRAY, INTEGER 157 157 158 -== (% style="font-size:16px" %)**Inhalt des PowerShell-Skripts main.ps1, das die Variablen entgegennimmt**(%%) == 159 159 160 -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. 161 -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:** 162 162 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 +))) 163 163 164 -(% 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: 165 165 166 -{{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 + 167 167 root@ctrl-g1:~ # cat /usr/lib/ld-autoconf/logodidact/roles/ld_wlan_psk/win/main.ps1 168 -{{/code}} 169 169 170 -{{code width="50%" language="powershell"}} 171 171 Param 172 172 ( 173 173 [parameter(Mandatory=$false)] ... ... @@ -220,158 +220,17 @@ 220 220 221 221 Remove-Item -Path $file -Force 222 222 } 223 -{{/code}} 224 224 225 - 226 -(% style="color:#19177c" %)**Linux Variante (Network Manager)** 227 - 228 -{{code language="text" width="50%"}} 229 -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. 230 230 {{/code}} 231 231 232 -{{code language="powershell" width="50%"}} 233 -Param 234 -( 235 - [parameter(Mandatory=$false)] 236 - [String] 237 - $ssid, 238 - [parameter(Mandatory=$false)] 239 - [String] 240 - $psk 241 -) 169 +==== ==== 242 242 243 -if ($ssid -ne '' -and $psk -ne '') { 244 - if (Get-Command "nmcli" -ErrorAction SilentlyContinue) { 245 - # Check if kernel modules are up 246 - nmcli dev wifi rescan 247 - if ($LASTEXITCODE -ne 0) { 248 - Start-Sleep -Seconds 30 249 - } 250 - 251 - # Check again 252 - nmcli dev wifi rescan 253 - if ($LASTEXITCODE -ne 0) { 254 - Write-Verbose "Skipping role. There might be no WiFi device installed." 255 - exit 0 256 - } 257 - 258 - $config = "/etc/NetworkManager/system-connections/$ssid" 171 +==== **Neue AutoConf-Regel freigeben** ==== 259 259 260 - if (Test-Path -Path $config) { 261 - Write-Verbose "Removing '$config'" 262 - Remove-Item -Path $config -Recurse -Force 263 - } 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. 264 264 265 - Write-Verbose "Connecting to '$ssid'" 266 - 267 - nmcli device wifi connect """$ssid""" password """$psk""" 268 - 269 - if ($LASTEXITCODE -eq 0) { 270 - Start-Sleep -Seconds 5 271 - nmcli con up """$ssid""" 272 - 273 - if ($LASTEXITCODE -ne 0) { 274 - Write-Verbose "Error: Credentials wrong?" 275 - 276 - if (Test-Path -Path $config) { 277 - Write-Verbose "Removing '$config'" 278 - Remove-Item -Path $config -Recurse -Force 279 - } 280 - } 281 - } 282 - 283 - Write-Verbose "Exiting with code: $LASTEXITCODE" 284 - exit $LASTEXITCODE 285 - } 286 - 287 - Write-Verbose "No suitable implementation found" 288 - exit 1 289 -} 290 -{{/code}} 291 - 292 ----- 293 - 294 -= (% style="font-size:22px" %)__**Beispiel: eigene AutoConf-Rolle zur "Deaktivierung der Suchhervorhebung in Windows"**__(%%) = 295 - 296 -= = 297 - 298 -((( 299 -Im nachfolgenden Beispiel wird eine einfache Rolle zur Deaktivierung der Suchvorhebung in Windows deklariert. 300 -\\[[image:image-20230316103442-2.png||height="530" width="1142" class="img-thumbnail"]] 301 - 302 ----- 303 - 304 -== (% style="font-size:16px" %)**Aufbau der Logodidact.yml:**(%%) == 305 - 306 -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 307 -"**{{code language="bash"}}disableSearchHighlight{{/code}}**". 177 +[[image:attach:autoconf.png||data-xwiki-image-style-border="true"]] 308 308 309 - 310 -{{code language="yaml" width="45%"}} 311 -#logodidact.yml 312 - 313 -ld_info: 314 - authors: 315 - - Olav Krapp 316 - - Marcel Petersen 317 - - Kerim Ekin 318 - company: SBE network solutions GmbH 319 - description: | #Beschreibung 320 - Die Suchhervorhebung in der Windows Suchleiste wird deaktiviert 321 - display_name: Windows Suchhervorhebung #Anzeigename im LD Control Center 322 - license: SBE 323 - uuid: fec4ff30-b2a6-407f-a6b3-0a621cd7eaf7 #einmalige UUID 324 - vars: #Deklaration der Variablen 325 - disableSearchHighlight: #Name der Variable 326 - display_name: Suchhervorhebung im Suchfeld deaktivieren #Anzeigename im LD Control Center 327 - optional: true #Auswahl optional 328 - type: BOOLEAN #Variablentyp Boolean = True/False 329 - value: false #Standardwert false 330 - visible: true #Sichtbarkeit der Variable im LD Control Center 331 - priority: 0 #Abarbeitungspriorität 332 - applyAlways: false #Rolle immer ausführen oder einmalig 333 - tags: 334 - - CUSTOM #Ausführungszeitpunkt während der/den Phase(n) 335 - systems: 336 - - WINDOWS #Betriebssystem 337 -{{/code}} 338 - 339 -== == 340 - 341 ----- 342 - 343 -== (% style="font-size:16px" %)**Aufbau der main.ps1:**(%%) == 344 - 345 -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 Variaben {{code language="bash"}}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. 346 -\\{{code language="powershell"}}#main.ps1 347 - 348 -Param 349 -( 350 - [parameter(Mandatory=$false)] #Variable zwingend erforderlich? 351 - [bool] #Variablentyp 352 - $disableSearchHighlight #Name der def. Variable aus logodidact.yml 353 -) 354 - 355 -$SystemVersion=[System.Environment]::OSVersion.Version #Hole Windows Systemversion 356 - 357 -if ($SystemVersion.Major -eq 10 -and $SystemVersion.Build -ge 19044) { 358 - $val = [int]!$disableSearchHighlight 359 - Write-Verbose "Setting EnableDynamicContentInWSB to '$val'" 360 - [Microsoft.Win32.Registry]::SetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Search","EnableDynamicContentInWSB",$val,[Microsoft.Win32.RegistryValueKind]::DWord) 361 -} else { 362 - Write-Host "Feature ist erst ab dem Release 21H2 verfügbar." 363 -}{{/code}} 364 - 365 ----- 366 - 367 -== (% style="font-size:16px" %)**Einlesen der AutoConf-Rollen am Server:**(%%) == 368 - 369 -[[image:image-20230316103224-1.png||height="128" width="1226" class="img-thumbnail"]] 370 - 371 ----- 372 - 373 -== (% style="font-size:16px" %)**Ansicht im LD Control Center:**(%%) == 374 - 375 -(% class="wikigeneratedid" %) 376 - [[image:image-20230316095106-2.png||class="img-thumbnail"]] 377 -)))
- 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