Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch mit Admin-Rechten starten

Frage Entwicklung Batch & Shell

Mitglied: MarcoBorn

MarcoBorn (Level 1) - Jetzt verbinden

30.08.2012 um 16:31 Uhr, 15285 Aufrufe, 9 Kommentare

Hallo Forum,
ich schreibe gerade ein VBA-Skript, wo an einer Stelle mit Hilfe des Shell-Befehls eine Batch-Datei aufgerufen werden soll. In der Batch-Datei sind Befehle, die nur mit Admin-Rechten ausgeführt werden können.

Ich bin lokaler Admin und kann über Rechtsklick und "Als Administrator ausführen" auch die Batch problemlos starten. In VBA kann ich jedoch keinen Parameter mitliefern, mit welchen Rechten die Datei gestartet werden soll.

Ich habe eine Verknüpfung auf die Batch angelegt und dort in den Einstellungen festgelegt, dass die Batch immer mit Admin-Rechten zu starten ist. Rufe ich die Verknüpfung im Explorer auf, läuft die Batch auch sauber durch. Starte ich die Verknüpfung per VBA-Shell-Befehl wird sie jedoch wieder mit normalen Nutzerrechten gestartet.

Gibt es ggf. noch einen anderen Weg, die Batch zu laufen zu bewegen? Oder kann ich auf die Batch verzichten und dem Shell-Befehl von VBA irgendwie doch mitteilen, dass die Befehle als Admin gestartet werden sollen?

Bin für jeden Tipp dankbar.


Vielen Dank im voraus,
M. Born
Mitglied: Pjordorf
30.08.2012 um 16:38 Uhr
Hallo,

Zitat von MarcoBorn:
Batch-Datei sind Befehle, die nur mit Admin-Rechten ausgeführt werden können.
Schlechte Idee. Da kann dann jeder das Passwort auslesen.

In VBA kann ich jedoch keinen Parameter mitliefern, mit welchen Rechten die Datei gestartet werden soll.
Warum nicht?

von VBA irgendwie doch mitteilen, dass die Befehle als Admin gestartet werden sollen?
Was hast du denn bis jetzt und wie rufst du die Batchdatei tatsächlich auf?

Gruß,
Peter
Bitte warten ..
Mitglied: MarcoBorn
30.08.2012 um 16:42 Uhr
Hallo Peter,
ich rufe die Datei wie folgt in VBA auf:
Shell "C:\Users\Born\Documents\SharpDevelop Projects\tools\reg.bat - Verknüpfung.lnk"

In der Batch selbst stehen folgende Befehle:

"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\tlbexp.exe" "C:\Users\Born\Documents\SharpDevelop Projects\FKGen\bin\Debug\FKGen.dll" /out:"C:\Users\Born\Documents\SharpDevelop Projects\FKGen\bin\Debug\FKGen.tlb"
"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\Gacutil.exe" /i "C:\Users\Born\Documents\SharpDevelop Projects\FKGen\bin\Debug\FKGen.dll"
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe" "C:\Users\Born\Documents\SharpDevelop Projects\FKGen\bin\Debug\FKGen.dll"

Wie gesagt, ich könnte die 3 Befehle auch manuell in VBA starten, wenn ich die Shell mit Admin-Rechten starten könnte. Irgendeine Idee, wo der Fehler liegt?

Gruß,
M. Born
Bitte warten ..
Mitglied: Pjordorf
30.08.2012 um 17:16 Uhr
Hallo,

Zitat von MarcoBorn:
Irgendeine Idee, wo der Fehler liegt?
Kein Fehler. Ist by Design so. Du solltest dir mal runas anschauen. Dann könnte dein
01.
Shell "runas /user:administrator /noprofile ""C:\Users\Born\Documents\SharpDevelop Projects\tools\reg.bat - Verknüpfung.lnk"""
so aussehen. Hier wird nach einem PWD gefragt. Oder du baust dir eine setup.exe. Aufgrund des Schlüsselworts Setup.exe wird auch die UAC angetriggert hier nach erhöhten Rechten zu fragen.

Gruß,
Peter
Bitte warten ..
Mitglied: MarcoBorn
31.08.2012 um 08:50 Uhr
Hallo Peter,
mit Runas hatte ich auch schon mal experimentiert, aber irgendwie die Syntax nicht richtig gehabt. Dein o.g. Code funktioniert leider auch nicht. Er fragt nach dem Passwort, dann wird die Shell geschlossen, aber die Befehle scheinen nicht durchgelaufen zu sein. Gibt es eventuell Alternativen?

Viele Grüße,
M. Born
Bitte warten ..
Mitglied: Pjordorf
31.08.2012 um 13:55 Uhr
Hallo,

Zitat von MarcoBorn:
aber irgendwie die Syntax nicht richtig gehabt.
Sollte aber jetzt nicht mehr das Problem sein, oder?

Dein o.g. Code funktioniert leider auch nicht.
Doch, das tut er. Ich habe allerdings direkt eine Batchdatei getestet, keine Verknüpfung

Zuerst prüfe das du auch den richtigen Benutzer in korrekter Schreibweise verwendest. Ein runas -? hilft da. Teste es im CMD Fenster aus.
runas /user:Domäne\Benutzer /noprofile "E:\Daten\Testdaten\Testbatch.bat"
Inhalt der Testbatch.bat ist
01.
pause 
02.
 
03.
cls 
04.
set 
05.
pause 
06.
 
07.
dir e: /p 
08.
pause 
09.
 
Du kannst natürlich auch /user:benutzer@domäne.suffix nehmen. Es bleibt dir überlassen. Wenn das korrekt funktioniert kannst du es mit einer Verknüpfung testen. Du solltest dann den Hinweis bekommen das die .lnk Datei keine gültige Win32 Anwendung ist.
runas /user:Domäne\Benutzer /noprofile "E:\Daten\Testdaten100\weiterer Ordner\Testbatch.bat.lnk"
Dieses kann gelöst werden indem du die .lnk Datei folgenderweise aufrufst
runas /user:Domäne\Benutzer /noprofile "rundll32 shell32.dll,ShellExec_RunDLL E:\Daten\Testdaten100\weiterer Ordner\Testbatch.bat.lnk"
.
Und jetzt verpacken wir das ganze für deinen VBA aufruf
01.
Shell "runas /user:Domäne\Benutzer /noprofile ""rundll32 shell32.dll,ShellExec_RunDLL C:\Users\Born\Documents\SharpDevelop Projects\tools\reg.bat - Verknüpfung.lnk""
Es kann allerdings sein das dir das ü wegen unterschiedliche Zeichensätze schwierigkeiten macht.

So sollte es jetzt gehen.

Gruß,
Peter
Bitte warten ..
Mitglied: MarcoBorn
03.09.2012 um 15:30 Uhr
Hallo Peter,
nochmals Danke. Ich komme leider erst in ein paar Tagen dazu, hier weiter zu testen, da ein anderes Projekt mir keine Zeit lässt, hier weiter zu basteln. Ich melde mich dann noch mal, ob es geklappt hat.

Viele Grüße,
M. Born
Bitte warten ..
Mitglied: MarcoBorn
13.09.2012 um 13:13 Uhr
Hallo Peter,
ich habe heute Deinen Code getestet und es funktioniert endlich.

Vielen, vielen Dank.
M. Born
Bitte warten ..
Mitglied: Pjordorf
13.09.2012 um 14:14 Uhr
Hallo,

Zitat von MarcoBorn:
und es funktioniert endlich.
Machst du dann bitte noch ein http://www.administrator.de/faq/32 dran? Danke.

Gruß,
Peter
Bitte warten ..
Mitglied: MarcoBorn
13.09.2012 um 19:51 Uhr
Danke für den Hinweis, hatte ich vergessen.
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Windows 7
USB Stick Padlock V2 wird nur mit Admin Rechten erkannt. (3)

Frage von Philipl zum Thema Windows 7 ...

Windows 7
Dataline Office benötigt zum starten Admin-Rechte (3)

Frage von ingoue zum Thema Windows 7 ...

Batch & Shell
gelöst Batch, Aufgabe mit höchsten Previlegien soll Outlook "normal" starten (6)

Frage von Zunaras zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch erst starten wenn bestimmte Datei vorhanden ist (7)

Frage von pdiddo zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...