m.marz
Goto Top

Starten einer EXE mittels LogonSkript schlägt ständig fehl

Hallo zusammen,

ich möchte gerne im Anmeldeskript eine Zeile schreiben, wo einfach eine EXE aus einem UNC-Pfad gestartet werden soll.
Die EXE soll einfach nur bestimmte DLL´s in der Windows Registry registriert werden.

Da wir in einer Umstellung sind und ich das nicht bei allen Rechnern machen kann und möchte, würde ich das im LogonSkript einbauen.

Zurzeit teste ich das alles noch auf einer TestVM Win10.

Die Zeile enthält einfach nur ein start "\\IP-des Servers\Pfad\Pfad mit Leerzeichen\Registrierung.EXE"

Leider schlägt der Versuch immer mit einem "nicht erfolgreich" ab.

Wenn ich aber in der VM die CMD als meinen Domänen Admin ausführe, klappt es auf anhieb.

Warum kann der Domänen-Admin die EXE mit der CMD ausführen und der lokale Admin nicht? mit welchen Rechten wird den ein Logonskript ausgeführt?

Hoffe auf Hilfe.

Lg

Content-Key: 327676

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

Ausgedruckt am: 19.03.2024 um 06:03 Uhr

Mitglied: emeriks
Lösung emeriks 27.01.2017 aktualisiert um 09:18:19 Uhr
Goto Top
Hi,
DLL's registrieren würde ich sowie nicht als Login-Script einbauen sondern als Startup-Skript. Beachte, dass dafür erhöte Rechte benötigt werden (Skript muss voll eleviert laufen).

Wenn Startup-Skript dann beachten, dass hierbei der Computer Lese-Rechte auf den Quell-Pfad haben muss.

Warum kann der Domänen-Admin die EXE mit der CMD ausführen und der lokale Admin nicht? mit welchen Rechten wird den ein Logonskript ausgeführt?
Wenn Du denn tatsächlich ein Logon-Skript meinst, dann läuft es mit den Rechten des sich anmeldenden Benutzers.

Mit "der lokale Admin" meinst Du nicht ein Mitglied der lokalen Administratoren sondern tatsächlich DEN lokalen Administrator? Falls ja: Dieser kann bloß dann "einfach so" auf eine Freigabe eines anderen Computers zugreifen, wenn der wer entweder das gleiche Passwort hat, wie der lokale Administrator des anderen Computers oder in seinem Passwort-Tresor (cmdkey) bereits Anmeldedarten gespeichert hat oder im Skript welche hinterlegt sind (nicht zu empfehlen!).

E.
Mitglied: Kraemer
Kraemer 27.01.2017 um 09:18:29 Uhr
Goto Top
Moin,

das klingt für mich nach einer Sache, die nur einmalig ausgeführt werden muss. Das würde ich Beispielsweise per psexec umsetzen.

Gruß Krämer
Mitglied: chgorges
chgorges 27.01.2017 um 09:56:26 Uhr
Goto Top
Zitat von @emeriks:

Hi,
DLL's registrieren würde ich sowie nicht als Login-Script einbauen sondern als Startup-Skript. Beachte, dass dafür erhöte Rechte benötigt werden (Skript muss voll eleviert laufen).

Wenn Startup-Skript dann beachten, dass hierbei der Computer Lese-Rechte auf den Quell-Pfad haben muss.

Jup, Logon-Skript = Ausführung im Benutzerkontext, Computerstartskript = Ausführung im Systemkontext.
Wenn du derartige Eingriffe ins System machst, dann scheitert das spätestens bei Benutzern mit eingeschränkten Rechten.
Mitglied: M.Marz
M.Marz 27.01.2017 um 10:05:54 Uhr
Goto Top
Danke für eure Antworten.

Ja das ist eine Sache die nur einmalig ausgeführt werden muss, aber keinen Schaden anrichtet wenn die eine Zeitlang mehrmals durchläuft.

Ich habe es ebenmal mit dem AnmeldeSkript probiert in der GPO unter der Benutzerkonfig/Windows-Einstellung.

Leider hat das auch nicht funktioniert.

Ich dachte Das Logonskript (Sysvol/Netlogon) führt die Codes als Admin aus.

Das bedeutet das ich irgendwas brauche, um die Aktion als Admin starten zu können.
Mitglied: chgorges
Lösung chgorges 27.01.2017 aktualisiert um 10:15:14 Uhr
Goto Top
Zitat von @M.Marz:

Danke für eure Antworten.

Ja das ist eine Sache die nur einmalig ausgeführt werden muss, aber keinen Schaden anrichtet wenn die eine Zeitlang mehrmals durchläuft.

Ich habe es ebenmal mit dem AnmeldeSkript probiert in der GPO unter der Benutzerkonfig/Windows-Einstellung.

Leider hat das auch nicht funktioniert.

Ich dachte Das Logonskript (Sysvol/Netlogon) führt die Codes als Admin aus.

Das bedeutet das ich irgendwas brauche, um die Aktion als Admin starten zu können.

Denkfehler.

GPO Anmeldeskript=Logonskript=Benutzerkontext.

Du musst das als Computerstartskript ausführen. Nur hierüber wird es im System/Computerkontext (höchste Ebene) ausgeführt.

Kleine Denkbrücke:
- Alles, was vor dem Anmeldefenster passiert, ist Systembezogen=Systemkontext=Höchste Ebene=GPO Computerstartskript
- Alles, was nach dem Anmeldefenster passiert, ist Benutzerbezogen=Benutzerkontext=Niedrigere Ebende=GPO Anmeldeskript=LogonSkript
Mitglied: emeriks
emeriks 27.01.2017 um 10:18:11 Uhr
Goto Top
Ich habe es ebenmal mit dem AnmeldeSkript probiert in der GPO unter der Benutzerkonfig/Windows-Einstellung.

Leider hat das auch nicht funktioniert.

Ich dachte Das Logonskript (Sysvol/Netlogon) führt die Codes als Admin aus.
Wie hattest Du es denn vorher gemacht? Einfach im Netlogon ablegen reicht nicht. Für Benutzer müsste man dann mindestens am Benutzerobjekt noch das Anmeldescript eintragen. Besser aber per GPO. Aber für Dein Vorhaben eh ungeeignet.

Das bedeutet das ich irgendwas brauche, um die Aktion als Admin starten zu können.
Eben --> Startup-Script!
Mitglied: M.Marz
M.Marz 27.01.2017 aktualisiert um 10:26:39 Uhr
Goto Top
Habe dein Komi eben gelesen.

ich bin gerade dabei dies auszuprobieren als Computer-Startup Skript.

Habe im Code mal folgendes rein geschrieben:

::Hier soll der Rechner eine EXE starten die ich erstellt habe, damit er sich das X Laufwerk mappt als DomänenUser mit Zugriffsrechten.

start \\Freigabe zu meinem Rechner\Pfad\Laufwerkmappen.exe

:: Nun müsste hier ja der Computer die Verbindung mit dem Laufwerk haben, damit es nun weitergehen kann.

call "X:\Pfad mit Leerzeichen\Registrierung.exe" > c:\users\reg.log

::Hier möchte ich das der Computer nun im Pfad X:\Pfad mit Leerzeichen die exe aufruft und startet.

:: Das Ergebnis soll in der Testphase im Ordner Users hinterlegt werden.

Sind da noch fehler drin?

Leider sehe ich nur eine leere reg.log Datei im ordner users.
Mitglied: emeriks
emeriks 27.01.2017 um 10:48:59 Uhr
Goto Top
Du willst die DLL's über UNC-Pfad registrieren? Ist das eine Anwendung, welche dann auch direkt von einer Freigabe gestartet werden soll?
Falls ja: Ich würde nicht über Laufwerksbuchstabe registrieren sodern direkt über den UNC. Die EXE kann man sicher auch über
\\server\freigabe\pfad\datei.exe
ausführen.
Das Ergebnis soll in der Testphase im Ordner Users hinterlegt werden.
Hä? Du meinst die Konsolen-Ausgabe des Befehls in ein Logfile umleiten?
So etwa?
\\server\freigabe\pfad\datei.exe >%SystemDrive%\Users\datei.log
Mitglied: M.Marz
M.Marz 27.01.2017 um 11:13:25 Uhr
Goto Top
Ja ich meinte die Konsolen-Ausgabe. Darin steht nämlich drin ob die DLL´s registriert wurden sind oder nicht.

Ja es ist auch eine Anwendung die vom Netz aufgerufen wird.

Mit dem Computerskript klappt es nun nachdem ich auch die Freigabeberechtigung auf Authentifizierte Benutzer (Lesen) eingestellt habe.

Die Konsolen-Ausgaben habe ich mir in einer Freigabe gelenkt die bei mir auf dem Rechner liegt, damit ich das in der Anfangsphase begleiten kann.

Gibt es vielleicht eine besser geeignete Gruppe als die der Authentifizierten Benutzer, damit das Computersystem auf die Freigabe des Server zugreifen kann und die Registrierung vornehmen kann?

Habe bereits Domänencomputer benutzt, dies hat dann nicht funktioniert.

Das weis ich deshalb, weill ich die EXE versucht habe manuell über die CMD zu starten. Zugriff verweigert.

LG
Mitglied: emeriks
emeriks 27.01.2017 aktualisiert um 11:20:45 Uhr
Goto Top
Habe bereits Domänencomputer benutzt, dies hat dann nicht funktioniert.

Das weis ich deshalb, weill ich die EXE versucht habe manuell über die CMD zu starten. Zugriff verweigert.
Witzbold! Sorry ...
Ist doch logisch! Wenn Du nur der Gruppe Domänencomputer Rechte einräumst, dann hast Du als Benutzer dort keinen Zugriff mehr. Oder bist Du ein Computer?

Freigabe: Jeder --> Vollzugriff
NTFS: Administratoren --> Vollzugriff; SYSTEM --> Vollzugriff; ggf. Gruppe der Admin-User Vollzugriff oder Lesen; Domänencomputer --> Nur-Lesen
Mitglied: M.Marz
M.Marz 27.01.2017 um 11:22:34 Uhr
Goto Top
Hallo Emeriks,

ich sagte ja nicht das ich die anderen ACL entfernt habe, sondern nur, dass ich die Gruppe Domänencomputer mit aufgenommen habe.

Müsste also die "Authentifizierte Benutzer" Gruppe drin bleiben mit lese Rechte?
Mitglied: emeriks
emeriks 27.01.2017 um 11:39:14 Uhr
Goto Top
Müsste also die "Authentifizierte Benutzer" Gruppe drin bleiben mit lese Rechte?
Wieso, Du hast doch "nichts" entfernt ....
Nein. Du musst nur dafür sorgen, das der Benutzer, mit welchem Du es versuchst, dort min. Leserechte hat. Wo ist da das Verständnisproblem? Kennst Du bloß diese beiden Gruppen?
Mitglied: M.Marz
M.Marz 27.01.2017 um 11:47:04 Uhr
Goto Top
Wenn ich das als ComputerstartupSkript ausführe, dann wird die Aktion ja als Computersystem ausgeführt und nicht mehr als User.

Ich würde deshalb gerne eine Sicherheitsgruppe finden, die am besten für solche Computersystemkontexte zur Verfügung steht.

Die Gruppe AB umfasst ja viel mehr wie nur Computerkonten.

Das ist doch nicht so schwer zu verstehen oder?
Mitglied: M.Marz
M.Marz 27.01.2017 um 11:47:44 Uhr
Goto Top
Die Gruppe AB war vorher nicht drin gewesen.
Mitglied: emeriks
emeriks 27.01.2017 um 12:11:06 Uhr
Goto Top
Wenn ich das als ComputerstartupSkript ausführe, dann wird die Aktion ja als Computersystem ausgeführt und nicht mehr als User.

Ich würde deshalb gerne eine Sicherheitsgruppe finden, die am besten für solche Computersystemkontexte zur Verfügung steht.

Die Gruppe AB umfasst ja viel mehr wie nur Computerkonten.

Das ist doch nicht so schwer zu verstehen oder?
Du selbst hast geschrieben:
Habe bereits Domänencomputer benutzt, dies hat dann nicht funktioniert.
Das weis ich deshalb, weill ich die EXE versucht habe manuell über die CMD zu starten. Zugriff verweigert.
Und hier hast Du definitiv eine Fehler gemacht weil es so definitiv funktionieren würde. Und darauf habe ich geantwortet.
Du vergleichst Äppel mit Birnen und willst es nicht einsehen. Nachts ist's kälter als draussen .... Schon klar.
Du arbeitetst mit "Domänencomputer" und redest gleichzeitig von "weill ich die EXE versucht habe manuell". Du bist kein Mitglied dieser Gruppe also ist hier schon Dein Denkfehler und das versuche ich, Dir zu vermitteln.

Das weis ich deshalb, weill ich die EXE versucht habe manuell über die CMD zu starten. Zugriff verweigert.
Du hast es also gar nicht erst versucht, den PC zu starten und ihn das Script ausführen zu lassen. Oder?
Mitglied: M.Marz
M.Marz 27.01.2017 um 12:20:16 Uhr
Goto Top
Ich glaube du solltest den Text nochmal ganz genau durchlesen.

Es funktioniert nun und dafür bedanke ich mich bei euch.

Die Ecke an dem Ding nun ist, damit es funktioniert, muss die gruppe Authentifizierter Benutzer Lese Zugriff haben.

Die Gruppe beinhaltet z. B auch normale Domänen User die ich nicht mit drin haben möchte.

Deshalb frage ich euch, welche Gruppe besser geeignet wäre als die A B gruppe.

Lg.
Mitglied: emeriks
emeriks 27.01.2017 um 12:30:38 Uhr
Goto Top
zum letzen Mal: Domänencomputer.