Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Dienste, Netzlaufwerke, XP vs Win7 (https://www.delphipraxis.net/138221-dienste-netzlaufwerke-xp-vs-win7.html)

gmc616 5. Aug 2009 10:56


Dienste, Netzlaufwerke, XP vs Win7
 
Hallo alle miteinander.

Ich habe einen Dienst geschrieben, der unter WinXP/2003Server wunderbar funktioniert, unter Win7 aber nicht. (welch Wunder ^^)

Der Dienst verbindet mittels WNetAddConnection2 und einem UserName mit Passwort ein Netzlaufwerk, da eine Komponente im Dienst zwingend einen Laufwerksbuchstaben braucht und keinen UNC-Path akzeptiert.

Der Dienst läuft auf Win7, ebenso wie auf XP, unter SYSTEM-Account.

Als Result von WNetAddConnection2 erhalte ich "1312: Eine angegebene Anmeldesitzung ist nicht vorhanden. Sie wurde gegebenenfalls bereits beendet"

Hä? :gruebel:

Was will Win7 mir damit sagen? Das mein Username und Passwort falsch ist? Isses aber nicht.
Wie schon gesagt, unter XP funktioniert das Ganze (zum gleichen 2003Server!).

Gibt es irgendwo mehr Informationen über die Einschränkungen (der Rechte usw. ) von Diensten auf Win7 gegenüber XP?
So sollen z.B. interaktive Dienste seit Vista nicht mehr möglich sein. Stimmt das? (vom Pro und Kontra mal abgesehen).

Gruß und Danke
gmc

wicht 5. Aug 2009 12:20

Re: Dienste, Netzlaufwerke, XP vs Win7
 
Zitat:

Gibt es irgendwo mehr Informationen über die Einschränkungen (der Rechte usw. ) von Diensten auf Win7 gegenüber XP?
So sollen z.B. interaktive Dienste seit Vista nicht mehr möglich sein. Stimmt das? (vom Pro und Kontra mal abgesehen).
Versuch mal, den Dienst als anderer Benutzer zu starten. Hilft das vielleicht weiter?
Soweit ich weiß sind interaktive Dienste weiterhin möglich, wenn der Dienst ein Fenster aufmacht verdunkelt sich aber der Bildschirm und man wird gefragt, ob man das Fenster des Dienstes jetzt sehen möchte oder ob man es ignorieren möchte. So war das glaube ich unter Vista, wie es bei 7 ist kann ich nicht genau sagen.

Angel4585 5. Aug 2009 12:30

Re: Dienste, Netzlaufwerke, XP vs Win7
 
Stimmen die Benutzerdaten die du der Methode übergibst? Und wird bei dem benutzer auch standardmäßig das angegebene Netzlaufwerk hergestellt?

gmc616 5. Aug 2009 14:03

Re: Dienste, Netzlaufwerke, XP vs Win7
 
Okay, das Problem ist gefunden.

Der XP-Rechner ist Mitglied einer/der Domäne, der Win7-Rechner nicht (warum auch immer ^^).

Um sich mit dem Win7-Rechner am Server anzumelden bzw. ein Netzlaufwerk zu mappen, reicht es dem BenutzerAccount den ServerNamen voran zu stellen. In Etwa so:
Delphi-Quellcode:
WNetAddConnection2(NetResource, '<ServerName>\<BenutzerName>','<Password>'), dwFlags);
Wobei der Backslash zwischen ServerName und Benutzer wichtig ist. Ich dachte eigentlich, dass man in so einem Fall das @ benutzt!?
Offensichtlich nicht, denn das war mein Fehler. Oder ist das neu??

Dem XP-Rechner scheint es egal zu sein, auch wenn ich nicht an der Domäne angemeldet bin, sondern nur am lokalen Rechner. Hier scheint es so als würde es reichen, dass der Rechner Domänen-Mitglied ist.

Nun ja. So gehts.

Grüße
gmc

Willmar.Heinrich 5. Aug 2009 14:07

Re: Dienste, Netzlaufwerke, XP vs Win7
 
<domain>\<account> ist schon so üblich, seitdem es Windows-Netzwerke gibt.

<server>\<account> dient zur Anmeldung am konkreten Server, wenn Du keinen Domänenaccount benutzen willst.

AndreFM 26. Nov 2009 13:06

Re: Dienste, Netzlaufwerke, XP vs Win7
 
Kann jemand mir sagen, warum ich erhalte NO_ERROR wenn ich WNetAddConnection2 benutze und eingebe ein Benutzer der gar nicht gibt?
Falls ich ein Benutzer eingebe die wirklich gibt, aber informiere ein falsches Kennwort, dann erhalte ich korrekte Fehler.
Danke


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz