Benutzer mit den meisten Antworten
Dienst ohne Admin Rechte starten

Frage
-
Guten Abend,
wir mussten einen Rechner austauschen (Windows 10 Pro). Auf dem neuen Rechner läuft mein Code nicht mehr.
Darin wird ein Diernst gestartetCode:If mService.Status <> ServiceProcess.ServiceControllerStatus.Running Then 'Dienst läuft nicht Dim ts As New TimeSpan(0, 0, 20) mService.Start() 'Dienst starten mService.WaitForStatus(ServiceControllerStatus.Running, ts) '20 Sekunden warten, ob Dienst gestartet werden kann End If
Es kommt bei Usern mit eingeschränkten Rechten (und das sind so gut wie alle unserer Mitarbeiterinnen) die Fehlermeldung, dass der Dienst auf diesem Rechner nicht gestartet werden kann. Wir haben andere WIN 10 Rechner, auf denen es problemlos läuft. Was ist da bloss an neuen Rechnern anders als an unseren 3 Jahre alten? Da haben wir in dieser Richtung nichts unternehmen müssen. Ich befürchte, dass unseren Anwendern bei einem neuen Rechner das gleiche passiert.
Geht subinacl unter WIN 10 noch? Hab probiert
subinacl.exe /service /grant=Britta=PTO
aber da kommt nur eine Fehlermeldung.
Wollte aus vb.net heraus mit runas arbeiten. Aber ich habe nicht herausgefunden, wie man damit einen Dienst starten kann. Es funktioniert wohl nur bei einem normalen Prozess.
Könnt ihr mir etwas empfehlen, um das Problem zu beheben? Danke!
Antworten
-
Am 30.09.2019 schrieb norbert3:
Nun hat's gefunkt. Im Link von Winfried zur Doku von subinacl hab ich die richtige Syntax gefunden. Und es funktioniert! Ich hatte bezweifelt, dass man subinacl unter WIN 10 verwenden kann, da es schon unter XP lief. Daher habe ich die Tests damit zu früh aufgegeben. Aber es ist wirklich ein tolles Tool! Der Befehl lautet
subinacl.exe /service "ServiceBioSFTP" /GRANT=Britta=PTO
Danke Winfried nochmal für Deine vorzügliche Hilfe!Freut mich für Dich und Danke für die Rückmeldung. :)
Servus
Winfried
WSUS Package Publisher:
https://github.com/DCourtel/Wsus_Package_Publisher
HowTos zum WSUS Package Publisher
https://www.wsus.de/wsus-package-publisher/
GPO's: http://www.gruppenrichtlinien.de
NNTP-Bridge für MS-Foren:
https://github.com/JochenKalmbach/communitybridge
GP-PACK - PRIVACY AND TELEMETRIE: http://www.gp-pack.com/- Als Antwort markiert norbert3 Sonntag, 6. Oktober 2019 09:40
Alle Antworten
-
Am 29.09.2019 schrieb norbert3:
wir mussten einen Rechner austauschen (Windows 10 Pro). Auf dem neuen Rechner läuft mein Code nicht mehr.
Darin wird ein Diernst gestartetWelche genau W10 Version ist im Einsatz? Alter und neuer Rechner
sind interessat. Sind das jeweils OEM Installation oder eigene
Installationen? Welcher AV-Scanner ist im Einsatz?Code:
If mService.Status <> ServiceProcess.ServiceControllerStatus.Running Then 'Dienst läuft nicht Dim ts As New TimeSpan(0, 0, 20) mService.Start() 'Dienst starten mService.WaitForStatus(ServiceControllerStatus.Running, ts) '20 Sekunden warten, ob Dienst gestartet werden kann End If
Es kommt bei Usern mit eingeschränkten Rechten (und das sind so gut wie alle unserer Mitarbeiterinnen) die Fehlermeldung, dass der Dienst auf diesem Rechner nicht gestartet werden kann. Wir haben andere WIN 10 Rechner, auf denen es problemlos läuft. Was ist da bloss an neuen Rechnern anders als an unseren 3 Jahre alten? Da haben wir in dieser Richtung nichts unternehmen müssen. Ich befürchte, dass unseren Anwendern bei einem neuen Rechner das gleiche passiert.
Mit welchem Benutzerkonto läuft der Dienst? Als eingeschränkter User
oder als SYSTEM?aber da kommt nur eine Fehlermeldung.
Falls sie nicht geheim ist, bitte hier posten.
Wollte aus vb.net heraus mit runas arbeiten. Aber ich habe nicht herausgefunden, wie man damit einen Dienst starten kann. Es funktioniert wohl nur bei einem normalen Prozess.
Ein Dienst läuft mit einem dafür zugelassenen Konto. Im Grunde kann
das jedes Konto sein, das Konto muss nur die dafür benötigten Rechte
haben. Das Konto muss das Recht 'Anmelden als Dienst' haben. Details
dazu gibt es in diesem Artikel:
https://docs.microsoft.com/de-de/windows/security/threat-protection/security-policy-settings/log-on-as-a-serviceServus
Winfried
WSUS Package Publisher:
https://github.com/DCourtel/Wsus_Package_Publisher
HowTos zum WSUS Package Publisher
https://www.wsus.de/wsus-package-publisher/
GPO's: http://www.gruppenrichtlinien.de
NNTP-Bridge für MS-Foren:
https://github.com/JochenKalmbach/communitybridge
GP-PACK - PRIVACY AND TELEMETRIE: http://www.gp-pack.com/ -
Danke! Unglaublich, wie viel Du zu dem Problem sagen kannst. Ich fress mich jetzt mal durch:
neuer Rechner WIN 10 Pro Version 1809 scheint OEM?
Mit welchem Benutzerkonto läuft der Dienst? Als eingeschränkter User oder als SYSTEM?
Wie bekomme ich das raus? Sorry, bin kein Profi ...
Falls sie nicht geheim ist, bitte hier posten.
SeSecurityPrivilege : Zugriff verweigert
WARNUNG: Unable to set SeSecurityPrivilege privilege
Error OpenSCManager : Zugriff verweigert
Das Konto muss das Recht 'Anmelden als Dienst' haben
Wie stelle ich das ein? Den Artikel hab ich (noch) nicht verstanden ...
-
Am 29.09.2019 schrieb norbert3:
Danke! Unglaublich, wie viel Du zu dem Problem sagen kannst. Ich fress mich jetzt mal durch:
Wenn man einen Dienst programmiert, sollte man sich damit IMO
auskennen. ;)neuer Rechner WIN 10 Pro Version 1809 scheint OEM?
Nein, ich meinte damit die Tatsache, ist der Rechner gekauft,
aufgestellt und benutzt worden, oder wurde er gekauft und neu
installiert und erst dann eingesetzt?Mit welchem Benutzerkonto läuft der Dienst? Als eingeschränkter User oder als SYSTEM?
Wie bekomme ich das raus? Sorry, bin kein Profi ...Dazu muss man kein Profi sein, ist in den Eigenschaften des Dienstes
zu finden. Windows Taste + R drücken > services.msc [ENTER]. HIer den
Dienst suchen und schauen was bei Anmelden als bei dem Dienst drin
steh.Falls sie nicht geheim ist, bitte hier posten.
SeSecurityPrivilege : Zugriff verweigert
WARNUNG: Unable to set SeSecurityPrivilege privilege
Error OpenSCManager : Zugriff verweigertSonst nichts? Keine Fehlernummer? Ist OpenSCManager der Dienst um den
es geht?Das Konto muss das Recht 'Anmelden als Dienst' haben
Wie stelle ich das ein? Den Artikel hab ich (noch) nicht verstanden ...Einem normalen Benutzer möchte man das Recht auch nicht geben. Damit
erhöhst Du die Rechte des angemeldeten Users und verringerst die
Sicherheit des Unternehmens um einen nicht kleinen Faktor. Willst Du
das wirklich?
Servus
Winfried
WSUS Package Publisher:
https://github.com/DCourtel/Wsus_Package_Publisher
HowTos zum WSUS Package Publisher
https://www.wsus.de/wsus-package-publisher/
GPO's: http://www.gruppenrichtlinien.de
NNTP-Bridge für MS-Foren:
https://github.com/JochenKalmbach/communitybridge
GP-PACK - PRIVACY AND TELEMETRIE: http://www.gp-pack.com/ -
Komisch - sobald ich einen neuen Beitrag schreibe, ist plötzlich alles da.
1. Rechner ist neu gekauft. Ist ein HP Laptop. War alles vorinstalliert. Haben am System, nichts geändert.
2. Dienst heisst ServiceBioSFTP. Anmelden als Lokales Systemkonto. Haken nicht drin bei "Datenaustausch zw. Dienst u. Desktop"
3. keine Fehlernummer bei subinacl, aber die Syntax ist bestimmt falsch
4. Ja, ich will das wirklich (muss!), sonst können die Mitarbeiterinnen nicht arbeiten. Der Dienst soll nicht automatisch starten. Und es handelt sich wirklich nur um einzigen Dienst, der erlaubt werden soll.
Grüße Norbert
-
Am 30.09.2019 schrieb norbert3:
Komisch - sobald ich einen neuen Beitrag schreibe, ist plötzlich alles da.
Ein paar wenige User hier posten über die sog. NNTP-Bridge. MSFT
kriegt es einfach nicht hin, unsere Postings immer gleich erscheinen
zu lassen.1. Rechner ist neu gekauft. Ist ein HP Laptop. War alles vorinstalliert. Haben am System, nichts geändert.
Welche genaue Build haben denn die Rechner, bei denen es funktioniert?
Neu gekaufte Rechner installiert man, ohne die Mal- bzw. Crapware des
Herstellers. Und HP ist neben Lenovo für mich einer der schlimmsten
Hersteller.
Was ist Crapware? https://de.wikipedia.org/wiki/Crapware Und was ist
Malware? https://de.wikipedia.org/wiki/Schadprogramm2. Dienst heisst ServiceBioSFTP. Anmelden als Lokales Systemkonto. Haken nicht drin bei "Datenaustausch zw. Dienst u. Desktop"
Also kann es nicht an den Usern liegen, sondern am Code. Ist der
Dienst nur für eine bestimmte .Net Version kompiliert? Was macht der
Dienst beim ersten Aufruf? Wird auf eine Freigabe im Netzwerk
zugegriffen? Das riecht auch nach SFTP, sind die Ports in der Firewall
nach außen geöffnet?3. keine Fehlernummer bei subinacl, aber die Syntax ist bestimmt falsch
Die Syntax kann man in der Dokumentation nachlesen:
https://social.technet.microsoft.com/wiki/contents/articles/51625.subinacl-a-complete-solution-to-configure-security-permission.aspx
Du musst die CMD auch mit Rechtsklick > Ausführen als Administrator
öffnen und dann erst loslegen.4. Ja, ich will das wirklich (muss!), sonst können die Mitarbeiterinnen nicht arbeiten. Der Dienst soll nicht automatisch starten. Und es handelt sich wirklich nur um einzigen Dienst, der erlaubt werden soll.
Da der Dienst mit dem User LocalSystem läuft, hat er alle Rechte die
er braucht. Du musst an anderer Stelle suchen.Du wirst den Dienst debuggen müssen:
https://docs.microsoft.com/de-de/dotnet/framework/windows-services/how-to-debug-windows-service-applications
https://docs.microsoft.com/de-de/visualstudio/debugger/how-to-debug-the-onstart-method?view=vs-2019
https://stackoverflow.com/questions/125964/easier-way-to-debug-a-windows-serviceDas musste ich noch nie tun, da kann leider nichts, außer der Doku von
MSFT, dazu beitragen.Servus
Winfried
WSUS Package Publisher:
https://github.com/DCourtel/Wsus_Package_Publisher
HowTos zum WSUS Package Publisher
https://www.wsus.de/wsus-package-publisher/
GPO's: http://www.gruppenrichtlinien.de
NNTP-Bridge für MS-Foren:
https://github.com/JochenKalmbach/communitybridge
GP-PACK - PRIVACY AND TELEMETRIE: http://www.gp-pack.com/- Als Antwort vorgeschlagen Winfried.Sonntag Mittwoch, 2. Oktober 2019 18:23
-
Komisch - sobald ich einen neuen Beitrag schreibe, ist plötzlich alles da.
Das liegt daran, dass Winfried sehr wahrscheinlich über die NNTP Bridge postet. Alle Beiträge, die so reinkommen, sind im Forum erst nach einem weiteren Posting über das Forum selbst sichtbar. (Und nach meinem Posting war dann auch Winfrieds letzte Antwort mit derselben Erklärung zu sehen^^)
Warum das so ist, weiß ich nicht, ist aber (leider) schon lange so.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport- Bearbeitet Stefan FalzModerator Montag, 30. September 2019 08:29
-
Hab am Wochenende mal alle 5 Rechner untersucht. Wie ich dachte ist es gar nicht. Mein Vb-Code mService.Start() funktioniert nur auf den WIN 7 Rechnern. Hier kann ich auch als eingeschränkter User mit der Desktop-App die Dienste starten, stoppen, anhalten. Ob hier schon früher einmal jemand dran rumgeschraubt hat, weiss ich nicht mehr.
Auf allen WIN 10 Rechnern ist das nicht so. Als Admin komme ich mit der Desktop-App an die Dienste und kann sie steuern. Aber hier funktioniert auch mein Code nicht. Wirft die Exception, dass der Dienst nicht gestartet werden kann. Als eingeschränkter User geht gar nichts. Hab heute die Mitarbeiterinnen befragt und erfahren, dass sie die Funktion auf den WIN 10 Rechnern bisher nie benutzt haben. Hab ich als Chef einfach nicht gewusst. Erst wo ich jetzt einen neuen Rechner aufsetzen muss, kam das ans Tageslicht.
Hätte gern das Problem gelöst. Könnte ich, wenn ich den Dienst auf "automatisch starten" stelle. Möchte ich aber möglichst nicht, da damit der Rechner in Abständen den Labor-Server pollt und nach neuen Befunden sucht und diese herunterlädt. Das geht schief, wenn mein Praxisprogramm nicht läuft. Deshalb soll der Dienst im Code gestartet werden.
-
Nun hat's gefunkt. Im Link von Winfried zur Doku von subinacl hab ich die richtige Syntax gefunden. Und es funktioniert! Ich hatte bezweifelt, dass man subinacl unter WIN 10 verwenden kann, da es schon unter XP lief. Daher habe ich die Tests damit zu früh aufgegeben. Aber es ist wirklich ein tolles Tool! Der Befehl lautet
subinacl.exe /service "ServiceBioSFTP" /GRANT=Britta=PTO
Danke Winfried nochmal für Deine vorzügliche Hilfe!
Schöne Grüße Norbert
-
Am 30.09.2019 schrieb norbert3:
Nun hat's gefunkt. Im Link von Winfried zur Doku von subinacl hab ich die richtige Syntax gefunden. Und es funktioniert! Ich hatte bezweifelt, dass man subinacl unter WIN 10 verwenden kann, da es schon unter XP lief. Daher habe ich die Tests damit zu früh aufgegeben. Aber es ist wirklich ein tolles Tool! Der Befehl lautet
subinacl.exe /service "ServiceBioSFTP" /GRANT=Britta=PTO
Danke Winfried nochmal für Deine vorzügliche Hilfe!Freut mich für Dich und Danke für die Rückmeldung. :)
Servus
Winfried
WSUS Package Publisher:
https://github.com/DCourtel/Wsus_Package_Publisher
HowTos zum WSUS Package Publisher
https://www.wsus.de/wsus-package-publisher/
GPO's: http://www.gruppenrichtlinien.de
NNTP-Bridge für MS-Foren:
https://github.com/JochenKalmbach/communitybridge
GP-PACK - PRIVACY AND TELEMETRIE: http://www.gp-pack.com/- Als Antwort markiert norbert3 Sonntag, 6. Oktober 2019 09:40