Zu beiden Problemen gibt es saubere Bordmittel-Lösungen, die in der Regel besser funktionieren als RunAsTool bzw. der Registry-Trick.
**Zu 1 – UAC-Prompt umgehen (Aufgabenplanung statt RunAsTool)**
Der saubere Weg ist die Aufgabenplanung, nicht RunAsTool. RunAsTool startet das Skript zwar mit den hinterlegten Admin-Credentials, aber UAC fragt trotzdem, sobald der Zielprozess Elevation anfordert – das lässt sich nicht zuverlässig „wegschalten", ohne UAC systemweit zu schwächen.
Stattdessen:
1. Aufgabenplanung öffnen → „Aufgabe erstellen…" (nicht „einfache Aufgabe").
2. Im Reiter *Allgemein*: Benutzerkonto auf einen Admin setzen, Häkchen bei *Unabhängig von der Benutzeranmeldung ausführen* (falls möglich) und **„Mit höchsten Privilegien ausführen"** aktivieren.
3. Im Reiter *Aktionen*: dein Batch-Skript hinterlegen.
4. Im Reiter *Bedingungen*: „Nur starten, wenn der Computer im Netzbetrieb ist" abschalten, sonst läuft die Aufgabe auf Notebooks evtl. nicht.
5. Im Reiter *Einstellungen*: „Beim Bedarf ausführen zulassen" muss an sein.
Dann legst du für den normalen Benutzer eine ganz normale Verknüpfung an, die nur das hier aufruft:
```
schtasks /run /tn "NameDerAufgabe"
```
`schtasks` selbst läuft als normaler Benutzer, ohne UAC. Es signalisiert nur dem Aufgabenplanungsdienst, dass die Aufgabe gestartet werden soll – und der Dienst führt sie dann mit den in der Aufgabe hinterlegten Admin-Credentials aus. Damit ist UAC effektiv umgangen, ohne dass du das System aufweichst.
**Zu 2 – Skript beim Herunterfahren**
Du hast recht: In der Aufgabenplanung gibt es keinen „Shutdown"-Trigger (nur „beim Anmelden", „beim Start" usw.). Der korrekte Mechanismus ist die Gruppenrichtlinie – aber **nicht** über den von dir gewählten Registry-Pfad. Dieser Pfad wird vom GP-Service verwaltet; manuell gesetzte Einträge dort werden ignoriert oder überschrieben.
Stattdessen:
1. `gpedit.msc` öffnen (Win 11 Pro hat das).
2. *Computerkonfiguration → Windows-Einstellungen → Skripts (Start/Herunterfahren) → Herunterfahren* öffnen.
3. Doppelklick auf „Herunterfahren", *Hinzufügen…* und dein Batch-Skript auswählen.
Wichtig: Das Skript läuft dann als `SYSTEM`, nicht als Benutzer – das ist für `pnputil`/`devcon`/`Disable-PnpDevice` aber sogar günstiger, weil SYSTEM mehr darf als ein normaler Admin.
**Die häufigste Ursache, warum das trotzdem nicht zu funktionieren scheint, ist der Schnellstart.** Mit aktiviertem Schnellstart (Hybrid Shutdown) wird beim „Herunterfahren" der Kernel hibernated, kein echter Shutdown – und damit laufen Shutdown-Skripte teils gar nicht. Abschalten unter:
*Systemsteuerung → Energieoptionen → Auswählen, was beim Drücken des Netzschalters geschehen soll → „Einige Einstellungen sind momentan nicht verfügbar" anklicken → Häkchen bei „Schnellstart aktivieren" entfernen.*
Zum Debuggen kannst du außerdem in gpedit unter *Computerkonfiguration → Administrative Vorlagen → System → Skripts* die Option **„Anweisungen in Skripts für das Herunterfahren beim Ausführen anzeigen"** auf *Aktiviert* setzen – dann siehst du beim Shutdown ein Fenster mit der laufenden Skriptausgabe und merkst sofort, ob das Skript überhaupt anspringt.
Noch ein Tipp zum Skript selbst: Falls du mit `pnputil /disable-device "<InstanceId>"` arbeitest, ist die InstanceId stabiler als die Hardware-ID, wenn du ein bestimmtes Gerät meinst. Auflisten lassen kannst du sie mit `pnputil /enum-devices /connected`.