Windows LAPS-Benutzer über Remediations (Wartungen) anlegen

In diesem Beitrag geht es um die Erstellung des Windows LAPS-Benutzers über (proaktive) Remediations. Der Benutzer, den Sie über Windows LAPS verwalten möchten, wird nicht automatisch erstellt. Dieser Blog und das Skript helfen Ihnen, dies zu tun.

Voraussetzungen

Sie haben die Windows LAPS-Richtlinie bereits konfiguriert m365simple - Intune LAPS. Sie haben eine passende Lizenz für Remediations

Die Skripte

Die Remediation besteht aus 2 Skripten. Das Erkennungsskript und das Remediationsskript.

Das Erkennungsskript erkennt, ob der Windows LAPS-Benutzer bereits vorhanden ist, und das Remediationsskript erstellt den Benutzer und fügt ihn der Gruppe der lokalen Administratoren hinzu.

Dies ist das Erkennungsskript:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
Start-Transcript -Path "$env:ProgramData\Microsoft\IntuneManagementExtension\Logs\LAPSLocalAdmin_Detect.log" -Append
$LAPSAdmin = "ENTER_NAME_OF_ADMINUSER"
$Query = Get-WmiObject -Class Win32_UserAccount -Filter "LocalAccount=True"
If ($Query.Name -notcontains $LAPSAdmin) {
    Write-Output "User: $LAPSAdmin does not existing on the device"
        
    Exit 1
}
Else {
    Write-Output "User $LAPSAdmin exists on the device"
    Exit 0
}
Stop-Transcript

Dies ist das Remediationsskript:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Start-Transcript -Path "$env:ProgramData\Microsoft\IntuneManagementExtension\Logs\LAPSLocalAdmin_Remediate.log" -Append

$LAPSAdmin = "ENTER_NAME_OF_ADMINUSER"
$Group = Get-WmiObject -Query "Select * From Win32_Group Where LocalAccount = TRUE And SID = 'S-1-5-32-544'"
$GroupName = $Group.Name
$PassWord = 'INSERT_COMPLEXPASSWORD_HERE'

$Query = Get-WmiObject -Class Win32_UserAccount -Filter "LocalAccount=True"

If ($Query.Name -notcontains $LAPSAdmin) {

    Write-Output "User: $LAPSAdmin does not existing on the device, creating user"
    
    try {
        Net User $LAPSAdmin $PassWord /Add
        Write-Output "Added Local User $LAPSAdmin"

        net localgroup $GroupName $LAPSAdmin /add
        Write-Output "Added Local User $LAPSAdmin to Administrators"
        Exit 0

    }
    catch {
        Write-Error "Couldn't create user"
        Exit 1
    }

}
Else {
    Write-Output "User $LAPSAdmin exists on the device"
    Exit 0
}

Stop-Transcript

Es wäre einfacher mit dem Microsoft.PowerShell.LocalAccounts PowerShell Modul gewesen, aber leider kann dies nicht im Systemkontext genutzt werden, da dann nicht auf die lokale Administratorengruppe zugegriffen werden kann. Daher musste ich CMD-Befehle verwenden, um den Benutzer zu erstellen und ihn zu den lokalen Administratoren hinzuzufügen. Ich nutze an für die lokale Admingruppe nicht die Bezeichnung, sondern die SID der Gruppe (SID = ‘S-1-5-32-544), da die Bezeichnung der Gruppe für jede Lokalisierung anders lautet und ich das Skript auf allen OS Sprachen nutzen möchte.

Beide Skripte sind auch über Github verfügbar. Dies ist der Link für das Erkennungsskript und dies ist der Link für das Remediationsskript. Beide Skripte werden auch in einem Zip-Archiv bereitgestellt.

Erstellen der Remediation (Wartung)

Melden Sie sich am Intune-Portal an und gehen Sie zu Geräte und anschließend zu Wartungen:

  • Klicken Sie auf Skriptpaket erstellen und geben Sie einen Namen ein
  • wählen Sie die Erkennungs- und Wiederherstellungsskript aus > laden Sie die beiden Konfigurationsdateien hoch und stellen Sie die Richtlinie bereit.

Status

Der Status “Problem behoben” wird angezeigt, wenn der Benutzer nicht vorhanden war und danach erstellt wurde. Der Status “ohne Probleme” bedeutet, dass der Benutzer bereits vorhanden ist.

Logfiles

Auf dem Gerät werden zudem Protokolldateien erstellt. Diese werden im Ordner “C:\ProgramData\Microsoft\IntuneManagementExtension\Logs" angelegt.

Inhalt der Logfiles

LAPSLocalAdmin_Remediate.log

LAPSLocalAdmin_Detect.log

Hier geht es zum ersten Teil der LAPS-Einrichtung Intune LAPS