Benutzer mit den meisten Antworten
CMD als Administrator starten, um Batchdatei korrekt auszuführen (Windows 7)

Frage
-
Hallo,
Ich hoffe einer von euch kann mir helfen. Folgende Problemstellung:
Auf einem Windows 7 Rechner mit aktivierter UAC soll eine Batchdatei aufgerufen werden, die auf die Windows-Tools "fsutil" und "diskpart" zugreift. Die Batchdatei wird automatisch von einer GUI-Applikation gestartet, die in C++ programmiert ist. Der Aufruf der Batchdatei durch die GUI-Applikation ist mit
system("batchdatei.bat");
realisiert.
Da die Batchdatei als erstes das Programm fsutil aufruft, bricht die Batchbearbeitung ab, da für fsutil die Konsole (cmd) als Administrator gestartet werden muss.
Der Benutzer der die Batchdatei aufruft hat Administrator-Rechte. "Von Hand", also rechter Mausklick auf cmd.exe und "als Administrator ausführen" startet auch eine Konsole als Administrator. Darin lässt sich anschließend auch die Batchdatei korrekt ausführen.
Da der Batch-Aufruf allerdings aus einer Applikation kommen und außerdem noch ohne eine Benutzereingabe stattfinden soll, hilft mir das starten einer Konsole als Administrator über die rechte Maustaste nicht weiter.
Vielleicht hat jemand einen Lösungsansatz oder ein ähnliches Problem.
Gruß und Dankeschön,
BNestler
Montag, 13. Januar 2014 08:29
Antworten
-
Hi,
Am 13.01.2014 09:29, schrieb BNestler:
[...] Der Benutzer der die Batchdatei aufruft hat Administrator-Rechte.
Starte die Applikation mit "CTRL-LinkShift-Enter" dann wird sie elevated gestartet und auch alle Aktionen aus dieser heraus.
Alternativ: Integriere eine Manifest Datei für die Applikation, sodass sie autom. nach der Elevation fragt.
Tschö
Mark
Mark Heitbrink - MVP Windows Server - Group Policy
Homepage: http://www.gruppenrichtlinien.de - deutsch
GPO Tool: http://www.reg2xml.com - Registry Export File Converter- Als Antwort markiert BNestler Dienstag, 14. Januar 2014 09:03
Montag, 13. Januar 2014 10:52
Alle Antworten
-
Hallo,
ich würde den cmd Aufruf mit einem runas starten:
runas /user:LokalerComputername\administrator cmd
MfG, Maikel Gädker Sollte meine Antwort hilfreich oder die Lösung zum Problem sein, würde ich mich über eine entsprechende Bewertung freuen! If my answer was helpful or it solved your problem, I'm glad about a rating!
Montag, 13. Januar 2014 09:18 -
Im Prinzip bräuchte ich ein Tool, möglichst von Microsoft, welches bei einem angemeldeten Benutzer (mit Administrator-Rechten) das cmd.exe im Administrator-Modus startet. Da cmd.exe ja Teil von Windows ist, lassen sich die Kompatibilitätseinstellungen nicht direkt vornehmen.Montag, 13. Januar 2014 09:21
-
Hi,
Am 13.01.2014 09:29, schrieb BNestler:
[...] Der Benutzer der die Batchdatei aufruft hat Administrator-Rechte.
Starte die Applikation mit "CTRL-LinkShift-Enter" dann wird sie elevated gestartet und auch alle Aktionen aus dieser heraus.
Alternativ: Integriere eine Manifest Datei für die Applikation, sodass sie autom. nach der Elevation fragt.
Tschö
Mark
Mark Heitbrink - MVP Windows Server - Group Policy
Homepage: http://www.gruppenrichtlinien.de - deutsch
GPO Tool: http://www.reg2xml.com - Registry Export File Converter- Als Antwort markiert BNestler Dienstag, 14. Januar 2014 09:03
Montag, 13. Januar 2014 10:52 -
> *system("batchdatei.bat"); *Bin zwar kein Programmierer, aber "verb runas" wäre der Suchbegriff, umSubprozesse elevated zu starten:
Martin
Mal ein GUTES Buch über GPOs lesen?
NO THEY ARE NOT EVIL, if you know what you are doing: Good or bad GPOs?
And if IT bothers me - coke bottle design refreshment :))Montag, 13. Januar 2014 11:11 -
Am 13.01.2014 schrieb BNestler:
Auf einem Windows 7 Rechner mit aktivierter UAC soll eine Batchdatei aufgerufen werden, die auf die Windows-Tools "*fsutil*" und "*diskpart*" zugreift. Die Batchdatei wird automatisch von einer GUI-Applikation gestartet, die in C++ programmiert ist. Der Aufruf der Batchdatei durch die GUI-Applikation ist mit
system("batchdatei.bat");
realisiert.
Da die Batchdatei als erstes das Programm fsutil aufruft, bricht die Batchbearbeitung ab, da für fsutil die Konsole (cmd) als Administrator gestartet werden muss.Du kannst dir dieses Tool ansehen:
http://www.robotronic.de/runasspc.html Dabei ist das Passwort
verschlüsselt abgelegt.Die andere Variante ist eine geplante Aufgabe anzulegen, und die dann
anstatt der Batch Datei aufzurufen.
http://kb.lexo.ch/2012/04/starten-eines-cmd-bat-skripts-in-der-windows-aufgabenplanung-mit-administrator-rechten-als-nicht-angemeldeter-admin-benutzer/
Servus
Winfried
Gruppenrichtlinien
WSUS Package Publisher
HowTos zum WSUS Package Publisher
NNTP-Bridge für MS-ForenMontag, 13. Januar 2014 17:54 -
Danke für eure Lösungsmöglichkeiten. Ich konnte mit der Aussage von Mark, einfach die Applikation als Admin zu starten (da alle Subanwendungen auch Admin-Rechte haben) am meisten erreichen. Jetzt muss ich nur noch herausbekommen, wieso die Batchdatei nicht ausgeführt werden kann. Die Applikation und auch die Batch-Datei liegen auf einem Netzlaufwerk und ich vemute, dass deshalb die Batchdatei nicht ausgeführt wid.Dienstag, 14. Januar 2014 08:15
-
Die Applikation und auch die Batch-Datei liegen auf einem Netzlaufwerk und ich vemute, dass deshalb die Batchdatei nicht ausgeführt wird.
Bei Ausführung als Admin erfolgt der Netzwerkzugriff auch mit den Credentials dieses Kontos. Wenn dieses Konto keine Anmeldung an dem Netzlaufwerk hat kann kein Zugriff erfolgen. Das passiert mir auch regelmässig wenn ich etwas von einem Netzlaufwerk als Admin installieren will. Da hilft nur vorher (ins tmp) kopieren oder der User (Admin) muss sich separat am Netzlw anmelden.
Dienstag, 18. August 2015 11:10