Änderungen von Dokument Eigene Autoconf-Rolle erstellen

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

Von Version 50.1
bearbeitet von Tom Altenbrunn
am 2023/03/16 15:35
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 28.1
bearbeitet von Jonas Mayer
am 2023/03/16 07:55
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Dokument-Autor
... ... @@ -1,1 +1,1 @@
1 -XWiki.TomAltenbrunn@sbede
1 +XWiki.jonasmayer@sbede
Inhalt
... ... @@ -2,6 +2,7 @@
2 2  
3 3  ----
4 4  
5 +
5 5  = (% style="font-size:22px" %)__**Allgemeines**__(%%) =
6 6  
7 7  
... ... @@ -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 (% 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 +* **main.ps1** - Skript wird in allen Phasen ausgeführt, die innerhalb der Beschreibungsdatei {{box}}meta/logodidact.yml{{/box}} festgelegt sind
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.
... ... @@ -95,7 +95,7 @@
95 95  ----
96 96  
97 97  
98 -= (% style="font-size:22px" %)__**Funktionsfertiges Beispiel: Rolle „WLAN Profil mit PSK anlegen“**__(%%) =
99 += (% style="font-size:22px" %)__**Weiteres, funktionsfertiges Beispiel: Rolle „WLAN Profil mit PSK anlegen“**__(%%) =
99 99  
100 100  
101 101  Zum besseren Verständnis wird nachfolgend eine feste Autoconf-Rolle zur Konfiguration eines WLAN-Profils (SSID inkl. PSK) an Clients näher beleuchtet.
... ... @@ -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 - apply_always: false
122 + applyAlways: 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.
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.
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  
... ... @@ -225,8 +225,8 @@
225 225  
226 226  (% style="color:#19177c" %)**Linux Variante (Network Manager)**
227 227  
228 -{{code language="text" width="50%"}}
229 -root@ctrl-g1:~ # cat /usr/lib/ld-autoconf/logodidact/roles/ld_wlan_psk/lin/main.ps1
229 +{{code width="50%" language="text"}}
230 +root@ctrl-g1:~ # cat /usr/lib/ld-autoconf/logodidact/roles/ld_wlan_psk/win/main.ps1
230 230  {{/code}}
231 231  
232 232  {{code language="powershell" width="50%"}}
... ... @@ -288,91 +288,3 @@
288 288   exit 1
289 289  }
290 290  {{/code}}
291 -
292 -----
293 -
294 -
295 -
296 -= (% style="font-size:22px" %)__**Weiteres Beispiel: eigene AutoConf-Rolle zur „Deaktivierung der Suchhervorhebung in Windows“**__(%%) =
297 -
298 -Im nachfolgenden Beispiel wird eine einfache Rolle zur Deaktivierung der Suchvorhebung in Windows deklariert.
299 -\\[[image:image-20230316103442-2.png||height="530" width="1142" class="img-thumbnail"]]
300 -
301 -----
302 -
303 -== (% style="font-size:16px" %)**Aufbau der logodidact.yml**(%%) ==
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}}disableSearchHighlight{{/code}}**".
307 -
308 -
309 -{{code language="yaml" width="45%"}}
310 -#logodidact.yml
311 -
312 -ld_info:
313 - authors:
314 - - Tom Altenbrunn
315 - - Olav Krapp
316 - - Marcel Petersen
317 - - Kerim Ekin
318 - company: SBE network solutions GmbH
319 - description: | #Beschreibung
320 - Die Suchhervorhebung in der Windows Suchleiste wird deaktiviert
321 - display_name: Windows Suchhervorhebung #Anzeigename im LD Control Center
322 - license: SBE
323 - uuid: fec4ff30-b2a6-407f-a6b3-0a621cd7eaf7 #einmalige UUID
324 - vars: #Deklaration der Variablen
325 - disableSearchHighlight: #Name der Variable
326 - display_name: Suchhervorhebung im Suchfeld deaktivieren #Anzeigename im LD Control Center
327 - optional: true #Auswahl optional
328 - type: BOOLEAN #Variablentyp Boolean = True/False
329 - value: false #Standardwert false
330 - visible: true #Sichtbarkeit der Variable im LD Control Center
331 - priority: 0 #Abarbeitungspriorität
332 - apply_always: false
333 - tags:
334 - - CUSTOM #Ausführungszeitpunkt während der/den Phase(n)
335 - systems:
336 - - WINDOWS #Betriebssystem
337 -{{/code}}
338 -
339 -----
340 -
341 -== (% style="font-size:16px" %)**Aufbau der main.ps1**(%%) ==
342 -
343 -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.
344 -
345 -{{code language="powershell"}}
346 -#main.ps1
347 -
348 -Param
349 -(
350 - [parameter(Mandatory=$false)] #Variable zwingend erforderlich?
351 - [bool] #Variablentyp
352 - $disableSearchHighlight #Name der def. Variable aus logodidact.yml
353 -)
354 -
355 -$SystemVersion=[System.Environment]::OSVersion.Version #Hole Windows Systemversion
356 -
357 -#Beginn des eigentlichen Codes
358 -if ($SystemVersion.Major -eq 10 -and $SystemVersion.Build -ge 19044) {
359 - $val = [int]!$disableSearchHighlight
360 - Write-Verbose "Setting EnableDynamicContentInWSB to '$val'"
361 - [Microsoft.Win32.Registry]::SetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Search","EnableDynamicContentInWSB",$val,[Microsoft.Win32.RegistryValueKind]::DWord)
362 -} else {
363 - Write-Host "Feature ist erst ab dem Release 21H2 verfügbar."
364 -}
365 -{{/code}}
366 -
367 -----
368 -
369 -== (% style="font-size:16px" %)**Einlesen der AutoConf-Rollen am Server**(%%) ==
370 -
371 -[[image:image-20230316110425-1.png||height="124" width="1186" class="img-thumbnail"]]
372 -
373 -
374 -== (% style="font-size:16px" %)**Ansicht im LD Control Center**(%%) ==
375 -
376 -[[image:image-20230316110525-2.png||class="img-thumbnail"]]
377 -
378 -
image-20230316094933-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.TomAltenbrunn@sbede
Größe
... ... @@ -1,1 +1,0 @@
1 -43.3 KB
Inhalt
image-20230316095106-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.TomAltenbrunn@sbede
Größe
... ... @@ -1,1 +1,0 @@
1 -47.8 KB
Inhalt
image-20230316102252-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.TomAltenbrunn@sbede
Größe
... ... @@ -1,1 +1,0 @@
1 -166.3 KB
Inhalt
image-20230316102302-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.TomAltenbrunn@sbede
Größe
... ... @@ -1,1 +1,0 @@
1 -166.3 KB
Inhalt
image-20230316103224-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.TomAltenbrunn@sbede
Größe
... ... @@ -1,1 +1,0 @@
1 -166.3 KB
Inhalt
image-20230316103442-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.TomAltenbrunn@sbede
Größe
... ... @@ -1,1 +1,0 @@
1 -201.2 KB
Inhalt
image-20230316110425-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.TomAltenbrunn@sbede
Größe
... ... @@ -1,1 +1,0 @@
1 -166.3 KB
Inhalt
image-20230316110525-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.TomAltenbrunn@sbede
Größe
... ... @@ -1,1 +1,0 @@
1 -48.3 KB
Inhalt