Änderungen von Dokument Eigene Autoconf-Rolle erstellen
Zuletzt geändert von Tom Altenbrunn am 2023/03/17 08:03
Von Version 32.1
bearbeitet von Tom Altenbrunn
am 2023/03/16 10:40
am 2023/03/16 10:40
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Auf Version 27.1
bearbeitet von Jonas Mayer
am 2023/03/16 07:48
am 2023/03/16 07:48
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Zusammenfassung
-
Seiteneigenschaften (2 geändert, 0 hinzugefügt, 0 gelöscht)
-
Anhänge (0 geändert, 0 hinzugefügt, 6 gelöscht)
Details
- Seiteneigenschaften
-
- Dokument-Autor
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. TomAltenbrunn@sbede1 +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 ... ... @@ -95,9 +95,17 @@ 95 95 ---- 96 96 97 97 98 -= (% style="font-size:22px" %)__**Funktionsfertiges Beispiel: Rolle „WLAN Profil mit PSK anlegen“**__(%%) = 99 99 100 100 101 + 102 + 103 + 104 + 105 + 106 + 107 += (% style="font-size:22px" %)__**Weiteres, funktionsfertiges Beispiel: Rolle „WLAN Profil mit PSK anlegen“**__(%%) = 108 + 109 + 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. 102 102 103 103 (% class="box" %) ... ... @@ -117,7 +117,7 @@ 117 117 license: SBE 118 118 (% style="color:#8e44ad" %) uuid:(%%) 52318636-c4f5-11ea-baf9-0bff00c66ff4 119 119 visible: true 120 -(% style="color:#19177c" %) 129 + (% style="color:#19177c" %)priority:(%%) 0 121 121 applyAlways: false 122 122 (% style="color:#f1c40f" %) tags:(%%) 123 123 - CUSTOM ... ... @@ -157,17 +157,16 @@ 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 -In dieser Rolle liegt konkret das allgemeingültige Skript {{box}}main.ps1{{/box}} vor, welches die Variablen als Parameter ##$ssid## und ##$psk## intern verwendet. 169 +Im Unterverzeichnis {{box}} win/ {{/box}} oder {{box}} lin/ {{/box}} der Autoconf-Rolle können sich unterschiedliche PowerShell-Skripte zur Ausführung in den Phasen befinden. In dieser Rolle liegt das allgemeingültige Skript {{box}}main.ps1{{/box}} vor, welches die Variablen als Parameter ##$ssid## und ##$psk## intern verwendet. 162 162 171 +(% class="box" %) 172 +((( 173 +(% style="color:#27ae60" %)# Windows Variante(%%) 174 +root@ctrl-g1:~~ # cat /usr/lib/ld-autoconf/logodidact/roles/ld_wlan_psk/win/main.ps1 175 +))) 163 163 164 -(% style="color:#19177c" %)**Windows Variante** 165 165 166 -{{code language="text" width="50%"}} 167 -root@ctrl-g1:~ # cat /usr/lib/ld-autoconf/logodidact/roles/ld_wlan_psk/win/main.ps1 168 -{{/code}} 169 - 170 -{{code width="50%" language="powershell"}} 178 +{{code width="50%"}} 171 171 Param 172 172 ( 173 173 [parameter(Mandatory=$false)] ... ... @@ -222,157 +222,18 @@ 222 222 } 223 223 {{/code}} 224 224 233 +==== ==== 225 225 226 - (% style="color:#19177c"%)**LinuxVariante (Network Manager)**235 +==== ==== 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 230 -{{/code}} 237 +==== ==== 231 231 232 -{{code language="powershell" width="50%"}} 233 -Param 234 -( 235 - [parameter(Mandatory=$false)] 236 - [String] 237 - $ssid, 238 - [parameter(Mandatory=$false)] 239 - [String] 240 - $psk 241 -) 239 +==== ==== 242 242 243 -if ($ssid -ne '' -and $psk -ne '') { 244 - if (Get-Command "nmcli" -ErrorAction SilentlyContinue) { 245 - # Check if kernel modules are up 246 - nmcli dev wifi rescan 247 - if ($LASTEXITCODE -ne 0) { 248 - Start-Sleep -Seconds 30 249 - } 250 - 251 - # Check again 252 - nmcli dev wifi rescan 253 - if ($LASTEXITCODE -ne 0) { 254 - Write-Verbose "Skipping role. There might be no WiFi device installed." 255 - exit 0 256 - } 257 - 258 - $config = "/etc/NetworkManager/system-connections/$ssid" 241 +==== ==== 259 259 260 - if (Test-Path -Path $config) { 261 - Write-Verbose "Removing '$config'" 262 - Remove-Item -Path $config -Recurse -Force 263 - } 243 +==== ==== 264 264 265 - Write-Verbose "Connecting to '$ssid'" 266 - 267 - nmcli device wifi connect """$ssid""" password """$psk""" 268 - 269 - if ($LASTEXITCODE -eq 0) { 270 - Start-Sleep -Seconds 5 271 - nmcli con up """$ssid""" 245 +==== ==== 272 272 273 - if ($LASTEXITCODE -ne 0) { 274 - Write-Verbose "Error: Credentials wrong?" 275 - 276 - if (Test-Path -Path $config) { 277 - Write-Verbose "Removing '$config'" 278 - Remove-Item -Path $config -Recurse -Force 279 - } 280 - } 281 - } 282 - 283 - Write-Verbose "Exiting with code: $LASTEXITCODE" 284 - exit $LASTEXITCODE 285 - } 286 - 287 - Write-Verbose "No suitable implementation found" 288 - exit 1 289 -} 290 -{{/code}} 291 - 292 ----- 293 - 294 -= (% style="font-size:22px" %)__**Beispiel: eigene AutoConf-Rolle zur "Deaktivierung der Suchhervorhebung in Windows"**__(%%) = 295 - 296 -= = 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 - 302 ----- 303 - 304 -== (% style="font-size:16px" %)**Aufbau der Logodidact.yml:**(%%) == 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 - 309 - 310 -{{code language="yaml" width="45%"}} 311 -#logodidact.yml 312 - 313 -ld_info: 314 - authors: 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 - applyAlways: false #Rolle immer ausführen oder einmalig 333 - tags: 334 - - CUSTOM #Ausführungszeitpunkt während der/den Phase(n) 335 - systems: 336 - - WINDOWS #Betriebssystem 337 -{{/code}} 338 - 339 -== == 340 - 341 ----- 342 - 343 -== (% style="font-size:16px" %)**Aufbau der main.ps1:**(%%) == 344 - 345 -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. 346 -\\{{code language="powershell"}}#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 -}{{/code}} 365 - 366 ----- 367 - 368 -== (% style="font-size:16px" %)**Einlesen der AutoConf-Rollen am Server:**(%%) == 369 - 370 -[[image:image-20230316103224-1.png||height="128" width="1226" class="img-thumbnail"]] 371 - 372 ----- 373 - 374 -== (% style="font-size:16px" %)**Ansicht im LD Control Center:**(%%) == 375 - 376 -(% class="wikigeneratedid" %) 377 - [[image:image-20230316095106-2.png||class="img-thumbnail"]] 378 -))) 247 +==== ====
- 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