Ich würde das ganze mit dem Starten als anderer Benutzer sein lassen. Es genügt, wenn du einen Dienst schreibst, der das übernimmt und den so konfigurierst, dass er als anderer Benutzer läuft (der, der die Rechte hat). Das sollte über die Softwareverteilung klappen, sofern es eine gibt, oder ansonsten mit einem Aufruf der sc.exe mit Adminrechten erledigt sein. Du brauchst dann nur den Dienst per
IPC steuern.