import argparse
import subprocess


def change_windows_password(new_password):
    try:
        # Aktuellen Benutzer ermitteln
        current_user = subprocess.check_output("whoami", shell=True, text=True).strip()
        print(f"Aktueller Benutzer: {current_user}")

        # Passwort ändern
        subprocess.run(
            ["net", "user", current_user, new_password],
            check=True
        )
        print(f"Das Passwort für den Benutzer '{current_user}' wurde erfolgreich geändert.")
    except subprocess.CalledProcessError as e:
        print("Fehler beim Ändern des Passworts.")
        print(e)


def parse_arguments():
    """Parst Kommandozeilenargumente."""
    parser = argparse.ArgumentParser(description="Windows Passwort ändern")
    parser.add_argument("--Password", type=str, required=True, help="Das neue Passwort als String")
    args = parser.parse_args()
    return args.Password


if __name__ == "__main__":
    new_password = parse_arguments()
    change_windows_password(new_password)
