Änderungen von Dokument Eigene Autoconf-Rolle erstellen

Zuletzt geändert von Tom Altenbrunn am 2023/03/17 08:03

Von Version 34.1
bearbeitet von Tom Altenbrunn
am 2023/03/16 10:43
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 50.3
bearbeitet von Tom Altenbrunn
am 2023/03/16 16:53
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -13,7 +13,7 @@
13 13  [[image:image-20230315103418-1.png||height="103" width="1344" class="img-thumbnail"]]
14 14  
15 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:
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 17  
18 18  * bis Puppet-Version **1.4.x** : {{code language="bash"}}/var/lib/ld-autoconf/custom/{{/code}}
19 19  * ab Puppet-Version **1.5.x **:  {{code language="bash" layout="LINENUMBERS"}}/data/ld/autoconf/custom/{{/code}}
... ... @@ -28,7 +28,7 @@
28 28  
29 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 30  
31 -* **main.ps1** - Skript wird in allen Phasen ausgeführt, die innerhalb der Beschreibungsdatei {{box}}meta/logodidact.yml{{/box}} festgelegt sind
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 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 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 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.
... ... @@ -40,6 +40,11 @@
40 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 41  )))
42 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 +
43 43  ----
44 44  
45 45  
... ... @@ -118,7 +118,7 @@
118 118  (% style="color:#8e44ad" %) uuid:(%%) 52318636-c4f5-11ea-baf9-0bff00c66ff4
119 119   visible: true
120 120  (% style="color:#19177c" %) priority:(%%) 0
121 - applyAlways: false
126 + apply_always: false
122 122  (% style="color:#f1c40f" %) tags:(%%)
123 123   - CUSTOM
124 124  (% style="color:#e74c3c" %) vars:(%%)
... ... @@ -157,7 +157,7 @@
157 157  
158 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.
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.
161 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.
162 162  
163 163  
... ... @@ -291,68 +291,65 @@
291 291  
292 292  ----
293 293  
294 -(% class="wikigeneratedid" %)
295 -= =
296 296  
297 -= (% style="font-size:22px" %)__**Weiteres Beispiel: eigene AutoConf-Rolle zur "Deaktivierung der Suchhervorhebung in Windows"**__(%%) =
298 298  
299 -= =
301 += (% style="font-size:22px" %)__**Weiteres Beispiel: eigene AutoConf-Rolle zur „Deaktivierung der Suchhervorhebung in Windows“**__(%%) =
300 300  
301 -(((
302 -Im nachfolgenden Beispiel wird eine einfache Rolle zur Deaktivierung der Suchvorhebung in Windows deklariert. 
303 +Im nachfolgenden Beispiel wird eine einfache Rolle zur Deaktivierung der Suchvorhebung in Windows deklariert.
303 303  \\[[image:image-20230316103442-2.png||height="530" width="1142" class="img-thumbnail"]]
304 304  
305 305  ----
306 306  
307 -== (% style="font-size:16px" %)**Aufbau der Logodidact.yml:**(%%) ==
308 +== (% style="font-size:16px" %)**Aufbau der logodidact.yml**(%%) ==
308 308  
309 -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
310 -"**{{code language="bash"}}disableSearchHighlight{{/code}}**".
311 -
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 312  
313 +
313 313  {{code language="yaml" width="45%"}}
314 314  #logodidact.yml
315 315  
316 316  ld_info:
317 317   authors:
319 + - Tom Altenbrunn
318 318   - Olav Krapp
319 319   - Marcel Petersen
320 320   - Kerim Ekin
321 - company: SBE network solutions GmbH
322 - description: | #Beschreibung
323 - Die Suchhervorhebung in der Windows Suchleiste wird deaktiviert
324 - display_name: Windows Suchhervorhebung #Anzeigename im LD Control Center
325 - license: SBE
326 - uuid: fec4ff30-b2a6-407f-a6b3-0a621cd7eaf7 #einmalige UUID
327 - vars: #Deklaration der Variablen
328 - disableSearchHighlight: #Name der Variable
329 - display_name: Suchhervorhebung im Suchfeld deaktivieren #Anzeigename im LD Control Center
330 - optional: true #Auswahl optional
331 - type: BOOLEAN #Variablentyp Boolean = True/False
332 - value: false #Standardwert false
333 - visible: true #Sichtbarkeit der Variable im LD Control Center
334 - priority: 0 #Abarbeitungspriorität
335 - applyAlways: false #Rolle immer ausführen oder einmalig
336 - tags:
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:
337 337   - CUSTOM #Ausführungszeitpunkt während der/den Phase(n)
338 - systems:
340 + systems:
339 339   - WINDOWS #Betriebssystem
340 340  {{/code}}
341 341  
342 -== ==
343 -
344 344  ----
345 345  
346 -== (% style="font-size:16px" %)**Aufbau der main.ps1:**(%%) ==
346 +== (% style="font-size:16px" %)**Aufbau der main.ps1**(%%) ==
347 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 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.
349 -\\{{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.
350 350  
350 +{{code language="powershell"}}
351 +#main.ps1
352 +
351 351  Param
352 352  (
353 353   [parameter(Mandatory=$false)] #Variable zwingend erforderlich?
354 - [bool] #Variablentyp
355 - $disableSearchHighlight #Name der def. Variable aus logodidact.yml
356 + [bool] #Variablentyp
357 + $disableSearchHighlight #Name der def. Variable aus logodidact.yml
356 356  )
357 357  
358 358  $SystemVersion=[System.Environment]::OSVersion.Version #Hole Windows Systemversion
... ... @@ -359,23 +359,23 @@
359 359  
360 360  #Beginn des eigentlichen Codes
361 361  if ($SystemVersion.Major -eq 10 -and $SystemVersion.Build -ge 19044) {
362 - $val = [int]!$disableSearchHighlight
363 - Write-Verbose "Setting EnableDynamicContentInWSB to '$val'"
364 - [Microsoft.Win32.Registry]::SetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Search","EnableDynamicContentInWSB",$val,[Microsoft.Win32.RegistryValueKind]::DWord)
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)
365 365  } else {
366 - Write-Host "Feature ist erst ab dem Release 21H2 verfügbar."
367 -}{{/code}}
368 + Write-Host "Feature ist erst ab dem Release 21H2 verfügbar."
369 +}
370 +{{/code}}
368 368  
369 369  ----
370 370  
371 -== (% style="font-size:16px" %)**Einlesen der AutoConf-Rollen am Server:**(%%) ==
374 +== (% style="font-size:16px" %)**Einlesen der AutoConf-Rollen am Server**(%%) ==
372 372  
373 -[[image:image-20230316103224-1.png||height="128" width="1226" class="img-thumbnail"]]
376 +[[image:image-20230316110425-1.png||height="124" width="1186" class="img-thumbnail"]]
374 374  
375 -----
376 376  
377 -== (% style="font-size:16px" %)**Ansicht im LD Control Center:**(%%) ==
379 +== (% style="font-size:16px" %)**Ansicht im LD Control Center**(%%) ==
378 378  
379 -(% class="wikigeneratedid" %)
380 - [[image:image-20230316095106-2.png||class="img-thumbnail"]]
381 -)))
381 +[[image:image-20230316110525-2.png||class="img-thumbnail"]]
382 +
383 +
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