Änderungen von Dokument Eigene Autoconf-Rolle erstellen
Zuletzt geändert von Tom Altenbrunn am 2023/03/17 08:03
Von Version 29.5
bearbeitet von Tom Altenbrunn
am 2023/03/16 10:28
am 2023/03/16 10:28
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Auf 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
Zusammenfassung
-
Seiteneigenschaften (1 geändert, 0 hinzugefügt, 0 gelöscht)
-
Anhänge (0 geändert, 4 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Inhalt
-
... ... @@ -2,7 +2,6 @@ 2 2 3 3 ---- 4 4 5 - 6 6 = (% style="font-size:22px" %)__**Allgemeines**__(%%) = 7 7 8 8 ... ... @@ -14,7 +14,7 @@ 14 14 [[image:image-20230315103418-1.png||height="103" width="1344" class="img-thumbnail"]] 15 15 16 16 17 -Darüber hinaus ist es Partnern und Kunden möglich, für spezielle / anwendungsspezifische Anforderungen eigene Auto conf-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: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: 18 18 19 19 * bis Puppet-Version **1.4.x** : {{code language="bash"}}/var/lib/ld-autoconf/custom/{{/code}} 20 20 * ab Puppet-Version **1.5.x **: {{code language="bash" layout="LINENUMBERS"}}/data/ld/autoconf/custom/{{/code}} ... ... @@ -29,7 +29,7 @@ 29 29 30 30 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: 31 31 32 -* **main.ps1** - Skript wird in allen Phasen ausgeführt, die innerhalb der Beschreibungsdatei {{box}}meta/logodidact.yml{{/box}} 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“. 33 33 * (% 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. 34 34 * (% 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. 35 35 * (% 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. ... ... @@ -41,6 +41,11 @@ 41 41 (% 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. 42 42 ))) 43 43 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 + 44 44 ---- 45 45 46 46 ... ... @@ -119,7 +119,7 @@ 119 119 (% style="color:#8e44ad" %) uuid:(%%) 52318636-c4f5-11ea-baf9-0bff00c66ff4 120 120 visible: true 121 121 (% style="color:#19177c" %) priority:(%%) 0 122 - apply Always: false126 + apply_always: false 123 123 (% style="color:#f1c40f" %) tags:(%%) 124 124 - CUSTOM 125 125 (% style="color:#e74c3c" %) vars:(%%) ... ... @@ -158,7 +158,7 @@ 158 158 159 159 == (% style="font-size:16px" %)**Inhalt des PowerShell-Skripts main.ps1, das die Variablen entgegennimmt**(%%) == 160 160 161 -Im Unterverzeichnis {{box}} win/ {{/box}} 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. 162 162 In dieser Rolle liegt konkret das allgemeingültige Skript {{box}}main.ps1{{/box}} vor, welches die Variablen als Parameter ##$ssid## und ##$psk## intern verwendet. 163 163 164 164 ... ... @@ -292,75 +292,88 @@ 292 292 293 293 ---- 294 294 295 -= (% style="font-size:22px" %)__**Beispiel: eigene AutoConf-Rolle zur "Deaktivierung der Suchhervorhebung in Windows"**__(%%) = 296 296 297 -= = 298 298 299 -((( 300 -Im nachfolgenden Beispiel wird eine einfache Rolle zur Deaktivierung der Suchvorhebung in Windows deklariert. 301 -\\[[image:attach:windowSearchHiglight-PNG.PNG||height="487" width="1051" class="img-thumbnail"]] 301 += (% style="font-size:22px" %)__**Weiteres Beispiel: eigene AutoConf-Rolle zur „Deaktivierung der Suchhervorhebung in Windows“**__(%%) = 302 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"]] 303 303 304 - == (% style="font-size:16px" %)**Aufbau der Logodidact.yml:**(%%) ==306 +---- 305 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}}**". 308 +== (% style="font-size:16px" %)**Aufbau der logodidact.yml**(%%) == 308 308 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 + 309 309 {{code language="yaml" width="45%"}} 310 310 #logodidact.yml 311 311 312 312 ld_info: 313 313 authors: 319 + - Tom Altenbrunn 314 314 - Olav Krapp 315 315 - Marcel Petersen 316 316 - Kerim Ekin 317 - 318 - 319 - 320 - 321 - 322 - 323 - 324 - 325 - 326 - 327 - 328 - 329 - 330 - 331 - Always: false#Rolle immer ausführen oder einmalig332 - 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: 333 333 - CUSTOM #Ausführungszeitpunkt während der/den Phase(n) 334 - 340 + systems: 335 335 - WINDOWS #Betriebssystem 336 336 {{/code}} 337 337 344 +---- 338 338 346 +== (% style="font-size:16px" %)**Aufbau der main.ps1**(%%) == 339 339 340 -(% style="font-size:16px" %)**Aufbau der main.ps1:**(%%) 341 -\\Danach erfolgt die Erstellung des ausführbaren Codes per Powershell. Im ersten Abschnitt Param werden die in der im vorigen Abschnitt definierten Variaben "vars" aus der logodidact.yml aufgeführt und definiert. Bei der Variable "disableSearchHighlight" 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. 342 -\\{{code language="powershell"}}#main.ps1 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. 343 343 350 +{{code language="powershell"}} 351 +#main.ps1 352 + 344 344 Param 345 345 ( 346 346 [parameter(Mandatory=$false)] #Variable zwingend erforderlich? 347 - 348 - 356 + [bool] #Variablentyp 357 + $disableSearchHighlight #Name der def. Variable aus logodidact.yml 349 349 ) 350 350 351 351 $SystemVersion=[System.Environment]::OSVersion.Version #Hole Windows Systemversion 352 - 361 + 362 +#Beginn des eigentlichen Codes 353 353 if ($SystemVersion.Major -eq 10 -and $SystemVersion.Build -ge 19044) { 354 - 355 - 356 - 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) 357 357 } else { 358 - Write-Host "Feature ist erst ab dem Release 21H2 verfügbar." 359 -}{{/code}} 368 + Write-Host "Feature ist erst ab dem Release 21H2 verfügbar." 369 +} 370 +{{/code}} 360 360 372 +---- 361 361 362 -(% style="font-size:16px" %)**Einlesen der AutoConf-Rollen am Server:**(%%) 363 -\\[[image:image-20230316102252-3.png||height="122" width="1167"]] 364 -\\Ansicht im LD Control Center nach erfolgreichem Import der AutoConf-Rolle: 365 -\\[[image:image-20230316095106-2.png||class="img-thumbnail"]] 366 -))) 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 + 383 +
- image-20230316103224-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.TomAltenbrunn@sbede - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +166.3 KB - Inhalt
- image-20230316103442-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.TomAltenbrunn@sbede - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +201.2 KB - Inhalt
- image-20230316110425-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.TomAltenbrunn@sbede - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +166.3 KB - Inhalt
- image-20230316110525-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.TomAltenbrunn@sbede - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +48.3 KB - Inhalt