Änderungen von Dokument Eigene Autoconf-Rolle erstellen

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

Von Version 30.1
bearbeitet von Tom Altenbrunn
am 2023/03/16 10:33
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 50.2
bearbeitet von Tom Altenbrunn
am 2023/03/16 16:40
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

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  
... ... @@ -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}} 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“.
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**"
45 +
46 + [[image:image-20230316155817-1.png]]
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 - applyAlways: false
126 + 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}} 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.
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,82 +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 - company: SBE network solutions GmbH
318 - description: | #Beschreibung
319 - Die Suchhervorhebung in der Windows Suchleiste wird deaktiviert
320 - display_name: Windows Suchhervorhebung #Anzeigename im LD Control Center
321 - license: SBE
322 - uuid: fec4ff30-b2a6-407f-a6b3-0a621cd7eaf7 #einmalige UUID
323 - vars: #Deklaration der Variablen
324 - disableSearchHighlight: #Name der Variable
325 - display_name: Suchhervorhebung im Suchfeld deaktivieren #Anzeigename im LD Control Center
326 - optional: true #Auswahl optional
327 - type: BOOLEAN #Variablentyp Boolean = True/False
328 - value: false #Standardwert false
329 - visible: true #Sichtbarkeit der Variable im LD Control Center
330 - priority: 0 #Abarbeitungspriorität
331 - applyAlways: false #Rolle immer ausführen oder einmalig
332 - 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:
333 333   - CUSTOM #Ausführungszeitpunkt während der/den Phase(n)
334 - systems:
340 + systems:
335 335   - WINDOWS #Betriebssystem
336 336  {{/code}}
337 337  
338 -== ==
344 +----
339 339  
340 -== (% style="font-size:16px" %)**Aufbau der main.ps1:**(%%) ==
346 +== (% style="font-size:16px" %)**Aufbau der main.ps1**(%%) ==
341 341  
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.
342 342  
343 -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.
344 -\\{{code language="powershell"}}#main.ps1
350 +{{code language="powershell"}}
351 +#main.ps1
345 345  
346 346  Param
347 347  (
348 348   [parameter(Mandatory=$false)] #Variable zwingend erforderlich?
349 - [bool] #Variablentyp
350 - $disableSearchHighlight #Name der def. Variable aus logodidact.yml
356 + [bool] #Variablentyp
357 + $disableSearchHighlight #Name der def. Variable aus logodidact.yml
351 351  )
352 352  
353 353  $SystemVersion=[System.Environment]::OSVersion.Version #Hole Windows Systemversion
354 -
361 +
362 +#Beginn des eigentlichen Codes
355 355  if ($SystemVersion.Major -eq 10 -and $SystemVersion.Build -ge 19044) {
356 - $val = [int]!$disableSearchHighlight
357 - Write-Verbose "Setting EnableDynamicContentInWSB to '$val'"
358 - [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)
359 359  } else {
360 - Write-Host "Feature ist erst ab dem Release 21H2 verfügbar."
361 -}{{/code}}
368 + Write-Host "Feature ist erst ab dem Release 21H2 verfügbar."
369 +}
370 +{{/code}}
362 362  
372 +----
363 363  
364 -== (% style="font-size:16px" %)**Einlesen der AutoConf-Rollen am Server:**(%%) ==
374 +== (% style="font-size:16px" %)**Einlesen der AutoConf-Rollen am Server**(%%) ==
365 365  
366 -[[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"]]
367 367  
368 -==
369 -(% style="font-size:16px" %)**Ansicht im LD Control Center:**(%%) ==
370 370  
371 -(% class="wikigeneratedid" %)
372 - [[image:image-20230316095106-2.png||class="img-thumbnail"]]
373 -)))
379 +== (% style="font-size:16px" %)**Ansicht im LD Control Center**(%%) ==
380 +
381 +[[image:image-20230316110525-2.png||class="img-thumbnail"]]
382 +
383 +
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