# Definieren Sie den Namen des Remote-Computers
$remoteComputer = Read-Host "Bitte geben Sie die Maschinennummer (Hostname oder IP) ein"

# Stellen Sie eine WMI-Verbindung zum Remote-Computer her
$credential = Get-Credential # Hier werden Sie aufgefordert, Benutzername und Passwort einzugeben

# Hauptloop, um Benutzerprofile zu löschen
do {
    # Abfrage der aktuellen angemeldeten Benutzer
    $currentlyLoggedInUser = Get-WmiObject -Class Win32_ComputerSystem -ComputerName $remoteComputer -Credential $credential

    # Ausgabe des aktuell angemeldeten Benutzers
    Write-Output "Aktuell angemeldeter Benutzer: $($currentlyLoggedInUser.UserName)"

    # Abfrage aller Benutzerprofile
    $query = "SELECT * FROM Win32_UserProfile"
    $userProfiles = Get-WmiObject -Class Win32_UserProfile -ComputerName $remoteComputer -Credential $credential

    # Ausgabe der Profilinformationen und Sammlung der Profilpfade in ein Array
    $profilePaths = @()
    foreach ($profile in $userProfiles) {
        Write-Output "Profil von Benutzer: $($profile.LocalPath)"
        $profilePaths += $profile.LocalPath
    }

    # Der Benutzer wählt ein Profil, das gelöscht werden soll
    $selectedProfile = $host.ui.PromptForChoice("Wählen Sie ein Profil zum Löschen", "Wählen Sie das Benutzerprofil, das Sie löschen möchten:", $profilePaths, 0)

    # Korrektes Formatieren des Pfades für die WMI-Abfrage
    $formattedPath = $profilePaths[$selectedProfile] -replace '\\', '\\'

    # Bestätigen der Löschung
    $confirmation = $host.ui.PromptForChoice("Bestätigung", "Sind Sie sicher, dass Sie das Profil `'$formattedPath'` löschen möchten?", @("Ja", "Nein"), 1)

    if ($confirmation -eq 0) {
        # Administrative Rechte sind erforderlich
        $deleteProfile = Get-WmiObject -Class Win32_UserProfile -Filter "LocalPath = '$formattedPath'" -ComputerName $remoteComputer -Credential $credential
        $deleteProfile.Delete()
        Write-Output "Profil `'$formattedPath'` wurde gelöscht."
    } else {
        Write-Output "Löschung abgebrochen."
    }

    # Abfrage, ob der Benutzer ein weiteres Profil löschen möchte
    $continue = $host.ui.PromptForChoice("Weitermachen", "Möchten Sie ein weiteres Benutzerprofil löschen?", @("Ja", "Nein"), 1)
} while ($continue -eq 0)

Write-Output "Programm beendet."
