TUX_der_Pinguin 10 Geschrieben 6. September 2013 Melden Teilen Geschrieben 6. September 2013 Hallo, ich habe einen Dienst geschrieben der ein Netzlaufwerk mappt, der Zugriff vom Dienst auf das Laufwerk funktioniert wunderbar aber der Angemeldete Benutzer sieht entweder ein "Nichtverbundenes Netzlaufwerk" oder gar nichts im Explorer. Es geht hierbei um Windows XP Professional SP3, es wird ein Benutzer mit eingeschränkten Konto angemeldet. Im ersten Schritt habe ich den Dienst im Kontext des Systemkonto ausgeführt, dann taucht das Laufwerk im Explorer auf aber als "Nichtverbundenes Netzlaufwerk". Im zweiten Schritt lasse ich den Dienst unter dem gleichen Benutzerkonto laufen welches auch angemeldet ist, jetzt ist das Laufwerk gar nicht mehr zu sehen. Mein letzter Versuch wäre es noch dem Dienst zu sagen das er das Laufwerk dauerhaft (Persistent) mappen soll, aber so wirklich glaube ich nicht das das die Lösung ist. Sehr merkwürdig, ich hoffe jemand von euch hat einen Tipp woran das liegen mag. Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 6. September 2013 Melden Teilen Geschrieben 6. September 2013 Hallo, wo, wann wird denn der Dienst gestartet, das Netzlaufwerk verbunnden, vor oder nach der Anmeldung des Benutzers? Zitieren Link zu diesem Kommentar
zahni 554 Geschrieben 6. September 2013 Melden Teilen Geschrieben 6. September 2013 Das Laufwerk wird in einem anderen Kontext gemappt. Das Verhalten ist normal und kann nicht geändert werden. PS: So etwas macht man nicht. Zitieren Link zu diesem Kommentar
TUX_der_Pinguin 10 Geschrieben 6. September 2013 Autor Melden Teilen Geschrieben 6. September 2013 (bearbeitet) Das Laufwerk wird in einem anderen Kontext gemappt. Das Verhalten ist normal und kann nicht geändert werden. Im 1. Fall des Systemkonto ist es ein andere Kontext und da verstehe ich sogar etwas das das Laufwerk als "Nichtverbundenes Netzlaufwerk" im Explorer aufgeführt wird. Wieso aber im 2. Fall wenn der Dienst unter dem gleichen Benutzerkonto läuft wie auch die Anmeldung das das Laufwerk komplett unsichtbar ist. Verstehe ich überhaupt nicht. PS: So etwas macht man nicht. Ich verstehe nicht so genau was du meinst, was man nicht machen sollte? Das mappen von einem Dienst aus oder unter einem anderen Benutzerkontext. Und wieso sollte man das nicht tun? bearbeitet 6. September 2013 von TUX_der_Pinguin Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 6. September 2013 Melden Teilen Geschrieben 6. September 2013 (bearbeitet) Das mappen von einem Dienst aus oder unter einem anderen Benutzerkontext. Und wieso sollte man das nicht tun? Hallo, ich denke, Zahni meint, man macht nicht, weil es nicht funktioniert, weil es so nicht vorgesehen ist, weil es so normalerweise keinen Sinn macht. Ein Netzlaufwerk ist seit alters her für Benutzer gedacht in Peer-to-Peer und Clients-Server-Systemen, die PC's sebst brauchten sowas nicht, brauchen sie auch heute nicht, denn sie können sehr gut mit UNC.Pfaden umgehen. Weshalb machst Du das? Was iist das für ein spezieller Fall? bearbeitet 6. September 2013 von lefg Zitieren Link zu diesem Kommentar
Sunny61 807 Geschrieben 6. September 2013 Melden Teilen Geschrieben 6. September 2013 Wieso aber im 2. Fall wenn der Dienst unter dem gleichen Benutzerkonto läuft wie auch die Anmeldung das das Laufwerk komplett unsichtbar ist. Weil der Dienst ja schon vor der eigentlichen Anmeldung startet, somit wären es also 2 Anmeldungen. Ich verstehe nicht so genau was du meinst, was man nicht machen sollte? Das mappen von einem Dienst aus oder unter einem anderen Benutzerkontext. Und wieso sollte man das nicht tun? Erzähl doch etwas über den Sinn des Dienstes. Weshalb mußt du ein LW mappen? Willst Du auf eine Source zugreifen? Wenn ja, nimm den UNC-Pfad, ist sowieso viel flexibler. Zitieren Link zu diesem Kommentar
zahni 554 Geschrieben 6. September 2013 Melden Teilen Geschrieben 6. September 2013 @Tux, Das ist irgendein Sicherheits-Feature, dass mit XP eingeführt wurde. Dienste können seit XP auch nicht mehr ohne weiteres ein GUI-Fenster öffnen. Zitieren Link zu diesem Kommentar
Sunny61 807 Geschrieben 6. September 2013 Melden Teilen Geschrieben 6. September 2013 Dienste können seit XP auch nicht mehr ohne weiteres ein GUI-Fenster öffnen. Geht 'nur noch' als Local System, dort kann man noch anhaken: Datenaustausch zwischen Dienst + Desktop zulassen. Dann kommt die GUI. Zitieren Link zu diesem Kommentar
zahni 554 Geschrieben 6. September 2013 Melden Teilen Geschrieben 6. September 2013 Das funktioniert meiner Meinung nach nur bis Windows 2000. Seit XP muss eine entsprechende GUI im Kontext des jeweiligen Benutzers gestartet werden. Der Haken dort ist eigentlich überflüssig... Zitieren Link zu diesem Kommentar
Sunny61 807 Geschrieben 7. September 2013 Melden Teilen Geschrieben 7. September 2013 Das funktioniert meiner Meinung nach nur bis Windows 2000. Seit XP muss eine entsprechende GUI im Kontext des jeweiligen Benutzers gestartet werden. Funktioniert mit W7 immer noch wenn die passende GUI vorhanden. Hatte es erst vergangene Woche mit einer Accss ACCDB versucht, klappt einwandfrei. ;) Zitieren Link zu diesem Kommentar
zahni 554 Geschrieben 7. September 2013 Melden Teilen Geschrieben 7. September 2013 (bearbeitet) K.a., warum das geht: http://msdn.microsoft.com/en-us/library/windows/desktop/ms683502(v=vs.85).aspx Zitat "Important Services cannot directly interact with a user as of Windows Vista. Therefore, the techniques mentioned in the section titled Using an Interactive Service should not be used in new code." PS: ok, das wird von "NoInteractiveServices" gesteuert. Scheinbar gibt es hier unterschiedliche Default-Setting, je nach Windows-Version: http://blogs.technet.com/b/home_is_where_i_lay_my_head/archive/2012/10/09/windows-8-interactive-services-detection-error-1-incorrect-function.aspx Generell tendiere ich aber dazu, so was nicht zu erlauben. Alle dort laufenden Anwendungen dürfen Alles. Da lässt man doch kein Office laufen ;) bearbeitet 7. September 2013 von zahni Zitieren Link zu diesem Kommentar
Sunny61 807 Geschrieben 7. September 2013 Melden Teilen Geschrieben 7. September 2013 Da gibt es mehrere Access Datenbanken die täglich Dateien in Datenbanken importieren, das Handling innerhalb der Access DB ist einfacher als extra einen Dienst dafür zu schreiben. Und einen Dienst kann ich nicht debuggen. Die Access Runtime reicht für diese Fälle vollkommen aus. Und es ist natürlich nur ein Server der nur dafür da ist. ;) Zitieren Link zu diesem Kommentar
TUX_der_Pinguin 10 Geschrieben 10. September 2013 Autor Melden Teilen Geschrieben 10. September 2013 Also noch mal etwas mehr Erklärung zum Dienst selbst. Der Dienst soll Dateien auf einem Server ablegen können. Dazu benötigt der Dienst zugriff auf den Server und da ist es viel flexibler wenn man ein Netzlaufwerk mappt da man dabei einen Benutzer angeben kann der unabhängig vom aktuellen (Anmeldung) Benutzer ist und auch vom Benutzer unter dem der Dienst läuft. Falls sich der Benutzer oder das Passwort der Freigabe ändert müsste man auch den Dienst umkonfigurieren und das ist alles andere von flexibel. Ich weiß nicht ob es eine Möglichkeit gibt auf einen UNC Pfad unter einem anderen Benutzerkontext zu zugreifen. Wenn ich das richtig sehe klappt das nur wenn der Dienst unter dem gleichen Kontext läuft wie die Freigabe auf dem Server. Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 10. September 2013 Melden Teilen Geschrieben 10. September 2013 Ich weiß nicht ob es eine Möglichkeit gibt auf einen UNC Pfad unter einem anderen Benutzerkontext zu zugreifen. Hallo, ob sich die Sache als Aufgabe betrachten und mit der Aufgabenplanung, dem Taskmanager handhaben lässt? Zitieren Link zu diesem Kommentar
TUX_der_Pinguin 10 Geschrieben 10. September 2013 Autor Melden Teilen Geschrieben 10. September 2013 Mit der Aufgabenplanung komme ich da auch nicht weiter. Dafür habe ich jetzt eine Lösung wie man sich an eine Netzwerk Ressource mit Benutzername/Passwort anmelden kann ohne ein Laufwerk zu zuweisen. net use \\server\share Bzw. mit der Windows API Funktion WNetAddConnection2 Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.