Änderungen von Dokument Eigene Autoconf-Rolle erstellen
Zuletzt geändert von Tom Altenbrunn am 2023/03/17 08:03
Von Version 29.2
bearbeitet von Tom Altenbrunn
am 2023/03/16 10:24
am 2023/03/16 10:24
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Auf Version 50.4
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,71 +292,88 @@ 292 292 293 293 ---- 294 294 295 -= (% style="font-size:22px" %)__**Beispiel: eigene AutoConf-Rolle zur "Deaktivierung der Suchhervorhebung in Windows"**__(%%) 296 - = 297 297 298 -((( 299 -Im nachfolgenden Beispiel wird eine einfache Rolle zur Deaktivierung der Suchvorhebung in Windows deklariert. 300 -\\[[image:attach:windowSearchHiglight-PNG.PNG||height="487" width="1051" class="img-thumbnail"]] 301 301 301 += (% style="font-size:22px" %)__**Weiteres Beispiel: eigene AutoConf-Rolle zur „Deaktivierung der Suchhervorhebung in Windows“**__(%%) = 302 302 303 -== (% style="font-size:16px" %)**Aufbau der Logodidact.yml:**(%%) == 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"]] 304 304 305 -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 306 -"**{{code language="bash"}}disableSearchHighlight{{/code}}**". 306 +---- 307 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 + 308 308 {{code language="yaml" width="45%"}} 309 309 #logodidact.yml 310 310 311 311 ld_info: 312 312 authors: 319 + - Tom Altenbrunn 313 313 - Olav Krapp 314 314 - Marcel Petersen 315 315 - Kerim Ekin 316 - 317 - 318 - 319 - 320 - 321 - 322 - 323 - 324 - 325 - 326 - 327 - 328 - 329 - 330 - Always: false#Rolle immer ausführen oder einmalig331 - 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: 332 332 - CUSTOM #Ausführungszeitpunkt während der/den Phase(n) 333 - 340 + systems: 334 334 - WINDOWS #Betriebssystem 335 335 {{/code}} 336 336 337 -(% style="font-size:16px" %)**Aufbau der main.ps1:**(%%) 338 -\\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. 339 -\\{{code language="powershell"}}#main.ps1 344 +---- 340 340 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 + 341 341 Param 342 342 ( 343 343 [parameter(Mandatory=$false)] #Variable zwingend erforderlich? 344 - 345 - 356 + [bool] #Variablentyp 357 + $disableSearchHighlight #Name der def. Variable aus logodidact.yml 346 346 ) 347 347 348 348 $SystemVersion=[System.Environment]::OSVersion.Version #Hole Windows Systemversion 349 - 361 + 362 +#Beginn des eigentlichen Codes 350 350 if ($SystemVersion.Major -eq 10 -and $SystemVersion.Build -ge 19044) { 351 - 352 - 353 - 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) 354 354 } else { 355 - Write-Host "Feature ist erst ab dem Release 21H2 verfügbar." 356 -}{{/code}} 368 + Write-Host "Feature ist erst ab dem Release 21H2 verfügbar." 369 +} 370 +{{/code}} 357 357 358 -\\\\(% style="font-size:16px" %)**Einlesen der AutoConf-Rollen am Server:**(%%) 359 -[[image:image-20230316102252-3.png||height="122" width="1167"]] 360 -\\Ansicht im LD Control Center nach erfolgreichem Import der AutoConf-Rolle: 361 -\\[[image:image-20230316095106-2.png||class="img-thumbnail"]] 362 -))) 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 + 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