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

Administrative Aufgaben im User-Kontext innerhalb von Batch-Dateien

Frage Microsoft

Mitglied: Shiva99

Shiva99 (Level 1) - Jetzt verbinden

15.06.2011 um 15:40 Uhr, 5577 Aufrufe, 11 Kommentare

Bedingungen: Windows-Netzwerk, Active Directory, Clients von Win XP bis 7, Alle Benutzer haben normale USER/BENUTZER-Privilegien.

Um eine spezielle Software per BAT-Datei zu starten, müssen im Bedarfsfall (Abhängigkeiten werden vorher abgeprüft) einige Sachen nachinstalliert bzw. Einträge im Registry-Zweig HKLM verändert/hinzugefügt werden. Hierfür werden Admin-Rechte benötigt.
Wie stellt man das jetzt am besten an, ohne das Passwort eines Administrator-Kontos im Klartext irgendwo zu hinterlegen.
So etwas muss mit Windows-Boardmitteln möglich sein. Z.B. beim SAP-Installationsserver geht das auch, dass am Client im Benutzer-Kontext der SAP-GUI installiert/aktualisiert wird, wo definitiv Admin-Privilegien erforderlich sind. Dort hat man einfach einen Benutzer im AD angelegt, der diese Aufgabe dann übernimmt.
Die Sache mit der GPO-Softwareverteilung oder dem Taskplaner zu machen, fällt aus, da -wie gesagt- die Aktionen interaktiv und nur im Bedarfsfall gemacht werden sollen. RunAs scheidet meiner Meinung nach auch aus, da dort ein Kennwort hinterlegt sein muss oder abgefragt werden muss.
Das ganze muss vor allem unter Windows 7 sauber funktionieren. Kann man die UAC bei diesen Aktionen temporär ausschalten? Wenn nicht, ist auch OK. Die Benutzer gewöhnen sich dran. Ganz abschalten möchte ich UAC auch nicht.

Sicherlich ein alter Hut, aber ich finde nix Brauchbares im Netz.

Wer kann mir auf die Sprünge helfen?
Shiva99
Mitglied: Logan000
15.06.2011 um 16:08 Uhr
Moin Moin

Also für ...
die Aktionen interaktiv und nur im Bedarfsfall gemacht werden sollen.
Brauchst du den Benutzerkontext doch nicht. Da führst du deine Skripte per PSExec oder Powershell remote aus, oder Du machst gleich eine RDP session auf. Natürlich als Administrator.

Gruß L.
Bitte warten ..
Mitglied: Shiva99
15.06.2011 um 16:44 Uhr
Wie gesagt, es soll innerhalb eines Batch-Files laufen. Vielleicht habe ich mich nicht ganz richtig ausgedrückt.

Beispiel 1:
1. <Benutzer hat Menüpunkt 1 gewählt>
2. Prüfe auf VBA-Installation
3. Wenn nicht vorhanden, installiere VBA als Admin
4. Prüfe auf Registry-Eintrag
5. Wenn nicht vorhanden, setze Registry-Eintrag als Admin
6. Starte Haupt-Anwendung

Beispiel 2:
1. <Benutzer hat Menüpunkt 3 gewählt>
2. Prüfe auf DotNet3.5-Service-Pack
3. Wenn nicht vorhanden, installiere DotNet3.5SP als Admin
4. Prüfe auf Registry-Eintrag
5. Wenn vorhanden, lösche Registry-Eintrag als Admin
6. Starte Haupt-Anwendung

usw.

Ich will nichts remote (per psexec, PS oder RDP) machen. Es soll automatisiert am Client ablaufen.

Gruß, shiva99
Bitte warten ..
Mitglied: Clijsters
15.06.2011 um 18:21 Uhr
Hallo Shiva99,

wenn ich dich richtig verstehe, möchtest du also (kurz gefasst) innerhalb einer Batch einige Aktionen als Admin ausführen.

Mir würde aber keine Methode einfallen, es zu machen, ohne irgendwo Benutzer und Passwort zu hinterlegen.
Du könntest die Daten natürlich verschleiern, so dass es auf den ersten Blick nicht ersichtlich ist, oder die Rechte dieses Admin-Users so einschränken, dass die User mit den Daten nichts anfangen können.

Grundsätzlich kannst du die User-Daten überall hinterlegen, auch in Textdateien, einer Datenbank, oder was weiss ich...

Oder: Dein Batch merkt sich, dass es die benannten Sachen installieren muss, hinterlegt diese Info und dann wird remote (wenn du dich überreden lässt), am Besten automatisiert oder however ein Script gestartet, was die benötigten Aktionen ausführt...

Möglich ist es auf jeden Fall und Remote wäre die (meiner Meinung nach) beste Methode...


Gruß
Dominique
Bitte warten ..
Mitglied: TobiasP
15.06.2011 um 18:59 Uhr
Hallo!

Die Lösung steht hier; http://openbook.galileocomputing.de/microsoft_netzwerk/microsoft_netzwe ...

Man benutzt psexec um innerhalb eines Skript ein anderes Skript mit Admin-Rechten zu starten. Wie man das Passwort für dieses Konto verschlüsseln kann, ist dort ebenfalls erklärt.

Habe ich seit Jahren im Einsatz, ist relativ einfach und funktioniert super.

Gruß

Tobias
Bitte warten ..
Mitglied: Clijsters
15.06.2011 um 19:04 Uhr
Wie man das Passwort für dieses Konto verschlüsseln kann, ist dort ebenfalls erklärt.

Und wenn er die exe ausführt wird die Bat in ein temp. Verzeichnis für jeden lesbar extrahiert (?)

Das macht es doch nicht sicherer, oder?
Bitte warten ..
Mitglied: TobiasP
15.06.2011 um 19:49 Uhr
@Dominique01520
Soweit ich weiß, ist das Passwort zu keiner Zeit lesbar.
Bitte warten ..
Mitglied: Clijsters
15.06.2011 um 19:56 Uhr
Bat2Exe Konverter müssen doch wohl gezwungenermaßen das BAT-File irgendwo ablegen, um dieses dann auszuführen.

In dem Moment, in dem das Batch ausgeführt wird, ist es für Jedermann lesbar (Rechte Maustaste ->Bearbeiten) Wo es sich genau versteckt, weiss ich nicht. Normalerweise irgendwo im TEMP-Ordner...
Bitte warten ..
Mitglied: TobiasP
15.06.2011 um 20:57 Uhr
Die Batch-Datei darf ja lesbar sein, das Passwort steht verschlüsselt nur in der EXE -
und die wird nicht in eine Batch-Datei umgewandelt.

Kennst du das Tool oder vermutest du das nur?
Bitte warten ..
Mitglied: Clijsters
15.06.2011 um 21:49 Uhr
[OT]
Das Problem ist einfach, ich habe in zwei Personen gedacht.
Die eine Person las das Verschlüsseln, die andere das compilieren.
Die, die das compilieren und Kompirimieren las, ging davon aus, das PW ist in der ursprünglichen Bat als PT hinterlegt...
Und wollte dann einen halbprduktiven Beitrag leisten, der diese Erkenntnis preisgibt...
Bitte warten ..
Mitglied: Shiva99
15.06.2011 um 22:22 Uhr
Danke für die Lösungsansätze.
Der "Bat To Exe Converter" sieht sehr vielversprechend aus.
Nach parallelen Recherchen habe ich auch noch das Tool "runasspc.exe" gefunden. In Verbindung mit "elevate.exe" scheint es auch eine saubere Lösung für UAC-geplagte zu sein. Werde mich morgen mal damit beschäftigen.
Danke erst mal an alle hier. Melde mich zurück, wenn ich neue Erkenntnisse habe.

Shiva99
Bitte warten ..
Mitglied: Friemler
15.06.2011 um 23:39 Uhr
Hallo Tobias,

allen diesen Batch-Nach-Exe-Konvertern ist gemein, dass sie nicht etwa den Code des Batchscripts compilieren, sondern als Daten in die erzeugte EXE einbinden. Die EXE besteht weiterhin aus einem kurzen Programm, die den Code des Batchscripts in eine temporäre Datei schreibt und dann CMD mit der Anweisung startet, die erzeugte Batchdatei auszuführen.

Die im von Dir geposteten Link verwendete Methode, die erzeugte EXE mit UPX zu komprimieren, verhindert nur, dass die dem Anwender übergebene EXE in einen Hexeditor geladen und somit Benutzer und Passwort ausgelesen werden kann.

Wenn diese EXE gestartet wird, wird der Unpacker von UPX ausgeführt, der die in der Datei enthaltene EXE im Speicher auspackt und startet. Jetzt läuft also die ursprüngliche vom Batch-Nach-EXE-Konverter erstellte EXE. Diese muss den enthaltenen Code (das Batchscript mit dem PSExec-Aufruf) in eine Datei schreiben, die dann CMD als Parameter übergeben und damit ausgeführt wird.

=> Zumindest während der Ausführung des Batchfiles existiert irgendwo auf der Festplatte, höchstwahrscheinlich im TEMP-Verzeichnis, das Batchfile mit dem PSExec-Aufruf inkl. Benutzer und Passwort im Klartext.

Die einzige Möglichkeit das zu verhindern bestünde darin, dass die vom Batch-Nach-EXE-Konverter erzeugte EXE das Script nicht in eine Datei schreibt, sondern das ganze Script Zeile für Zeile durch den Operator & verkettet und mit der Option /c als Parameter an CMD übergibt. Diese Methode würde schon bei einem einfachen IF-Befehl, der durch die Verwendung von Klammern über mehrere Zeilen verteilt ist, fehlschlagen. Ich halte es deshalb für unwahrscheinlich, dass der Programmierer eines Batch-Nach-EXE-Konverters versuchen würde, diesen Weg zu gehen.

=> Es sieht so aus, als ob Du das, was Du da empfiehlst, selbst nicht verstanden hast.

Gruß
Friemler
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Batch & Shell
gelöst Per Batch Dateien in einen Ordner - ext. Festplatte übertragen (2)

Frage von tocksick zum Thema Batch & Shell ...

Windows Server
Zuordnung von Netzlaufwerken mit Hilfe von Batch-Dateien (4)

Frage von doc-jochim zum Thema Windows Server ...

Heiß diskutierte Inhalte
Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (9)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...