Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 5793 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 ..
Ähnliche Inhalte
Entwicklung
Aufgabe zum überprüfen einer anderen Aufgabe (4)

Frage von tresha zum Thema Entwicklung ...

Batch & Shell
User kontext wechseln innerhalb eines powershell scripts (4)

Frage von instinctless zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch : alle Dateien eines Ordners bearbeiten (1)

Frage von deguonkel zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Server
Bilder aus dem Web mit CSV runterladen (30)

Frage von Yannosch zum Thema Server ...

LAN, WAN, Wireless
Gebäudeverkabelung 10Gigabit LWL (27)

Frage von raffzwo zum Thema LAN, WAN, Wireless ...

Windows Update
Novemberpatches und Nadeldrucker bereiten Kopfschmerzen (14)

Tipp von MettGurke zum Thema Windows Update ...