Änderungen von Dokument Eigene Autoconf-Rolle erstellen

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

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