anmelder
Goto Top

Batch mit Adminrechten soll Batch ohne Adminrechte aufrufen

Hallo,

meine Batch benötigt Adminrechte. Diese Batch soll jetzt, bisher habe ich es mit start versucht, eine Batch aufrufen die ohne Adminrechte laufen soll weil Cryptomator Laufwerke in der Adminconsole nicht existent sind. Kann man das ohne VB Scripte lösen?

Gruß,

Content-ID: 604602

Url: https://administrator.de/contentid/604602

Ausgedruckt am: 22.11.2024 um 02:11 Uhr

NordicMike
NordicMike 15.09.2020 um 11:31:26 Uhr
Goto Top
Kurz und Schmerzlos: runas
NetzwerkDude
NetzwerkDude 15.09.2020 um 11:32:17 Uhr
Goto Top
runas /user:normaluser cmd

normaluser = username von dem user unter dem du die cmd starten willst
anmelder
anmelder 15.09.2020 um 12:03:27 Uhr
Goto Top
runas hat 2 Probleme:

1. runas fragt nach einem Passwort für den angegebenen Benutzer den ich %USERNAME% entnommen habe. Dieses Passwort existiert aber auf dem Testrechner nicht und ein Return führt zu dem Fehler "Falsches Passwort"

2. runas scheint keine Wait Option zu haben, das Script muß aber anhalten bis die aufgerufene Batch beendet wurde.
beidermachtvongreyscull
beidermachtvongreyscull 15.09.2020 um 13:02:29 Uhr
Goto Top
Ja. Aus meiner Sicht geht das über einen indirekten Trigger.

Stelle es Dir so vor:

Die Batch ohne Adminrechte soll z.B. einmalig laufen und eine Aktion durchführen.
Sie könnte per Standard im Autostart im richtigen Nutzerkontext gestartet werden und prüft mittels Schleife regelmäßig das Vorhandensein eines Triggers. Hier reicht das Vorhandensein einer Triggerdatei.

IF EXISTS FILE ...

Wenn diese da ist, dann soll die Batch Ihre Aufgaben durchziehen und terminieren. Die Triggerdatei soll dabei gelöscht werden.

Die Triggerdatei wird über die Adminbatch einfach erstellt.

Einfach, lowtech, möglich

Gruß
bdmvg
anmelder
anmelder 15.09.2020 aktualisiert um 13:17:53 Uhr
Goto Top
Das geht leider nicht. Es ist ein Sicherungsprogramm das selten und nur nach Bedarf gestartet wird, nicht regelmäßig.

Die fehlende Wait Funktion könnte ich notfalls mit einer Schleife und einer in der aufgerufenen Batch gesetzten Variable oder einem Pause Befehl basteln.

Aber kennt jemand eine Lösung für ein nicht existentes Passwort in dem runas Befehl? Der Befehl muß doch benutzbar sein, die meisten Privatnutzer dürften kein Passwort gesetzt haben und bekämen einen Fehler.
NordicMike
NordicMike 15.09.2020 um 13:29:11 Uhr
Goto Top
Leg doch einen Benutzer nur dafür an. Mit Passwort selbstverständlich.
TK1987
Lösung TK1987 15.09.2020 aktualisiert um 13:47:49 Uhr
Goto Top
Moin,

Zitat von @anmelder:
Aber kennt jemand eine Lösung für ein nicht existentes Passwort in dem runas Befehl? Der Befehl muß doch benutzbar sein, die meisten Privatnutzer dürften kein Passwort gesetzt haben und bekämen einen Fehler.
Kommt drauf an, was genau du da tun willst. Wenn ein Skript mit Administratorrechten gestartet wurde, kann man ein anderes mit Standardrechten ohne Passwortabfrage starten:
runas /trustlevel:0x20000 "cmd /c C:\Pfad\zum\anderen\Skript.bat"  
Ob das in deinem Fall etwas bringt ist jedoch fraglich.

Wenn du von einem Skript, welches mit normalen Rechten gestartet wurde, ein Skript mit Adminrechten starten willst, bleibt (ohne ein Administratorpasswort zu setzen) nur entweder dies mit einem Powershell-Befehl zu tun
powershell start -verb runas cmd '/c "C:\Pfad\zur\Adminbatch.bat"'  
(dann erscheint die UAC-Abfrage) - oder halt eine Aufgabe in der Aufgabenplanung mit Administratorrechten anzulegen. Diese kann dann auch mit Standardrechten getriggert werden.

Gruß Thomas
NordicMike
NordicMike 15.09.2020 um 13:51:56 Uhr
Goto Top
Nach dem "start" kann man auch ein "/wait" hinzufügen...
TK1987
TK1987 15.09.2020 aktualisiert um 13:57:00 Uhr
Goto Top
Zitat von @NordicMike:
Nach dem "start" kann man auch ein "/wait" hinzufügen...
-wait bei Powershell, sonst greift er wieder auf den cmd-Befehl zu - und der Rest funktioniert nicht mehr
Dr.Bit
Dr.Bit 15.09.2020 um 13:56:03 Uhr
Goto Top
Zitat von @anmelder:

Das geht leider nicht. Es ist ein Sicherungsprogramm das selten und nur nach Bedarf gestartet wird, nicht regelmäßig.

Welche Art Sicherungsprogramm? Nur eine Batch (robocopy) oder ein echtes wie Veeam. Welche Art von Sicherung soll denn gemacht werden? Vielleicht hat es ja gar keinen Sinn ohne Adminrechte zu arbeiten.

🖖
DerWoWusste
DerWoWusste 15.09.2020 um 15:18:54 Uhr
Goto Top
Hi.

Darf ich fragen, wann Du sowas gebrauchst? War für mich in all den Jahren noch nie nötig. Was der User automatisiert gesetzt bekommt, wird in seinem Kontext per Skript (Anmeldeskript oder geplanter Task) ausgeführt und fertig.
anmelder
anmelder 15.09.2020 aktualisiert um 16:07:50 Uhr
Goto Top
Ich habe jetzt
runas /trustlevel:0x20000 "cmd /c kopieren.bat"  
verwendet und die geöffnete Konsole ist mit "wird als Rechnername/Nutzername mit eingeschränkten Rechten ausgeführt" überschrieben. Man könnte also annehmen daß das Problem gelöst ist aber in der kopieren.bat schlägt schon ein einfacher DIR fehl weil das Cryptomator Laufwerk angeblich nicht vorhanden ist, welches nur in der Standardkonsole verfügbar ist.

Was ist also der Unterschied zwischen einer Eingabeaufforderung, die über das Startmenü gestartet wird und einer die mit runas geöffnet wird? Offenbar sind sie nicht völlig identisch, kann man da noch irgendwelche Einstellungen verändern?

Ich kopiere nur mit Robocopy aber das Script benutzt auch CHKDSK und das verlangt im Ziel Adminrechte. Es ist also egal ob ich wie oben vorgeschlagen das Programm normal ausführe und dann Adminrechte für CHKDSK anfordere oder erst Adminrechte erteile um dann Robocopy eingeschränkte Rechte zu geben. Ich habe mich einfach nur so entschieden weil ich lernen wollte wie man auf niedrigere Rechte umschaltet. Wenn es aber nicht geht, das Problem vermute ich ist Cryptomator, mache ich es anders.
TK1987
TK1987 15.09.2020 um 16:21:07 Uhr
Goto Top
Zitat von @anmelder:
Ich habe jetzt
runas /trustlevel:0x20000 "cmd /c kopieren.bat"  
verwendet und die geöffnete Konsole ist mit "wird als Rechnername/Nutzername mit eingeschränkten Rechten ausgeführt" überschrieben. Man könnte also annehmen daß das Problem gelöst ist aber in der kopieren.bat schlägt schon ein einfacher DIR fehl weil das Cryptomator Laufwerk angeblich nicht vorhanden ist, welches nur in der Standardkonsole verfügbar ist.
Deswegen hatte ich schon geschrieben, dass dies dein Problem vermutlich nicht lösen wird.
Was ist also der Unterschied zwischen einer Eingabeaufforderung, die über das Startmenü gestartet wird und einer die mit runas geöffnet wird? Offenbar sind sie nicht völlig identisch, kann man da noch irgendwelche Einstellungen verändern?
Der Unterschied ist, das du quasi weiterhin in der Administratorsitzung unterwegs bist... das Skript aber in dieser mit eingeschränkten Rechten läuft.

... weil Cryptomator Laufwerke in der Adminconsole nicht existent sind
Das hat rein technisch nichts mit der Adminconsole zu tun. Die Laufwerke sind halt "nur" in der aktuellen Benutzersitzung verbunden - man könnte diese auch in der Administratorsitzung verbinden - wie das geht kann ich dir allerdings nicht sagen, da ich mich mit Cryptomator nicht auskenne.
anmelder
anmelder 15.09.2020 um 17:37:40 Uhr
Goto Top
Gut, dann mache ich es andersherum. Falls mal jemand genaueres über Cryptomator weiß oder es in künftigen Versionen irgendeine Lösung gibt freue ich mich aber über eine Antwort, auch wenn Jahre vergangen sind.

Dank an alle.
Gruß,