
8377
06.02.2008, aktualisiert am 08.02.2008
skriptgesteuert Benutzer kontext wechseln?
Hallo alle zusammen,
ist es möglich, aus einem Batchskript heraus z.B. ein zweites zu starten, welches unter einem anderen Benutzerkontext läuft, nämlich dem des gerade angemeldeten?
Hintergrund ist der, dass ich ein per Taskplaner (unterm Admin-Account) ausgeführtes Batchskript dazu bringen möchte, im Fehlerfall dem gerade angemeldeten User z.B. ein Komandozeilenfenster mit einer Warnung auf den Desktop zu zaubern. Mit 'runas' geht's nicht, da 'runas' die Eingabe des Benutzerpassworts erwartet.
Wär' schön, wenn mir da einer weiterhelfen könnte. Hab' auch schon alles möglich ausprobiert, bisher leider mit wenig Erfolg.
Grüße Thomas
ist es möglich, aus einem Batchskript heraus z.B. ein zweites zu starten, welches unter einem anderen Benutzerkontext läuft, nämlich dem des gerade angemeldeten?
Hintergrund ist der, dass ich ein per Taskplaner (unterm Admin-Account) ausgeführtes Batchskript dazu bringen möchte, im Fehlerfall dem gerade angemeldeten User z.B. ein Komandozeilenfenster mit einer Warnung auf den Desktop zu zaubern. Mit 'runas' geht's nicht, da 'runas' die Eingabe des Benutzerpassworts erwartet.
Wär' schön, wenn mir da einer weiterhelfen könnte. Hab' auch schon alles möglich ausprobiert, bisher leider mit wenig Erfolg.
Grüße Thomas
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 80052
Url: https://administrator.de/forum/skriptgesteuert-benutzer-kontext-wechseln-80052.html
Ausgedruckt am: 22.04.2025 um 18:04 Uhr
5 Kommentare
Neuester Kommentar
Nein, habe ich nicht, aber das Feature, das Du Dir wünscht, würde ein solches Sicherheitsloch reißen.
Workaround:
Neuen Dienst anlegen, Berechtigung LocalSystem, mit Berechtigung zum Datenaustausch zwischen Dienst und Desktop.
Dieser Dienst ließt beim Starten eine Datei aus und zeigt den Inhalt an (Batch-Datei die Notepad aufruft im einfachsten Fall, die mit srvany.exe zum Dienst machen).
Dann aus dem anderen Skript die Datei mit der Message füllen und den neuen Dienst starten.
Workaround:
Neuen Dienst anlegen, Berechtigung LocalSystem, mit Berechtigung zum Datenaustausch zwischen Dienst und Desktop.
Dieser Dienst ließt beim Starten eine Datei aus und zeigt den Inhalt an (Batch-Datei die Notepad aufruft im einfachsten Fall, die mit srvany.exe zum Dienst machen).
Dann aus dem anderen Skript die Datei mit der Message füllen und den neuen Dienst starten.
Hallo Thomas,
verstehe ich das richtig: es läuft ständig (oder bei der Anmeldung ?) ein Batch-File (BAT oder CMD), das bei einem bestimmten Ereignis (oder immer?) eine Meldung an den Nutzer geben soll ?
Falls ja, alle aus der Batch gestarteten Prozesse erben die Rechte, mit der das Batch gestartet wurde. Notepad oder andere Programme, die auf den Standard-Dialog für das Öffnen und Speichern von Dateien zurückgreifen verbieten sich dann von selbst.
(Hier können Dateien im 'Öffnen'-Dialog kopiert, umbenannt, gelöscht werden.)
Unklar ist mir allerdings, warum die Meldung im Benutzerkontext ausgegeben werden muss.
Falls das zwingend so sein muss, dann weiss ich dafür leider keine Lösung!
Mein Vorschlag:
- nimm eine Lösung, bei der die Rechte keine Rolle spielen.
Zum Beispiel:
- erstelle eine Text-Datei WARNUNG.VBS, schreibe (mit Notepad) rein
WScript.Echo "Dies ist eine Warnung"
- dann rufe diese in Deinem Batch auf mit
wscript WARNUNG.VBS (bzw. wscript %ganzerPfad%\WARNUNG.VBS
Falls Dir dieses weiterhilft, so kann das auch noch verfeinert werden.
verstehe ich das richtig: es läuft ständig (oder bei der Anmeldung ?) ein Batch-File (BAT oder CMD), das bei einem bestimmten Ereignis (oder immer?) eine Meldung an den Nutzer geben soll ?
Falls ja, alle aus der Batch gestarteten Prozesse erben die Rechte, mit der das Batch gestartet wurde. Notepad oder andere Programme, die auf den Standard-Dialog für das Öffnen und Speichern von Dateien zurückgreifen verbieten sich dann von selbst.
(Hier können Dateien im 'Öffnen'-Dialog kopiert, umbenannt, gelöscht werden.)
Unklar ist mir allerdings, warum die Meldung im Benutzerkontext ausgegeben werden muss.
Falls das zwingend so sein muss, dann weiss ich dafür leider keine Lösung!
Mein Vorschlag:
- nimm eine Lösung, bei der die Rechte keine Rolle spielen.
Zum Beispiel:
- erstelle eine Text-Datei WARNUNG.VBS, schreibe (mit Notepad) rein
WScript.Echo "Dies ist eine Warnung"
- dann rufe diese in Deinem Batch auf mit
wscript WARNUNG.VBS (bzw. wscript %ganzerPfad%\WARNUNG.VBS
Falls Dir dieses weiterhilft, so kann das auch noch verfeinert werden.