Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   ForceDirectories geht mit Metzwerklaufwerk unter Win 10 nicht. (https://www.delphipraxis.net/199351-forcedirectories-geht-mit-metzwerklaufwerk-unter-win-10-nicht.html)

just beginner 17. Jan 2019 15:54

ForceDirectories geht mit Metzwerklaufwerk unter Win 10 nicht.
 
Hallö,

ich habe auf ein Windows10 64 Bit Rechner ein Netzwerklaufwerk eingebunden (Laufwerk Z).
Jetzt versuche mit meiner Anwendung (32 Bit und Adminrechte) mit System.SysUtils.ForceDirectories(Z:\bla\blaa) ein Verzeichnis zu erstellen. Rückgabewert von ForceDirectories ist false und Verzeichnis ist nicht erstellt.
ForceDirectories(C:\bla\bla) geht es aber.

Auf ein Windows 7 32 Bit Rechner geht auch ForceDirectories(Z:\bla\blaa).

Was mache ich falsch?

HolgerX 17. Jan 2019 16:27

AW: ForceDirectories geht mit Metzwerklaufwerk unter Win 10 nicht.
 
Hmm..

Ich gehe davon aus, das Z: ein Netzwerklaufwerk ist..

Wie hast Du dieses den gemapt?

Wenn dieses als normaler User/Admin (ohne elevated) erfolgt ist und Du dann als elevated Admin darauf versuchst zuzugreifen, dann wird dies scheitern, da Windows hier unterscheidet, ob User oder elevated User..
Dies sind für Windows 2 verschiedene Benutzer und nur der eine hat das Laufwerk gemapt.. ;)

just beginner 17. Jan 2019 16:35

AW: ForceDirectories geht mit Metzwerklaufwerk unter Win 10 nicht.
 
Das Netzwerklaufwerk Z ist ist mit einem anderen Benutzer gemapt als der auf den Rechner angemeldet ist.
Der am Rechner angemeldete User hat Adminrechte.
Unter den Netzwerklaufwerkeigenschaften von Z: sehe ich das es für „Jeden“ aktiv ist.
Über den Explorer kann ich auch Verzeichnisse auf Z: anlegen.

hoika 17. Jan 2019 16:39

AW: ForceDirectories geht mit Metzwerklaufwerk unter Win 10 nicht.
 
Hallo,
was sagt denn GetLastError?
Bestimmt "Zugriff verweigert" oder so ähnlich.

Über den Explorer kann ich auch Verzeichnisse auf Z: anlegen.
Wie rufst Du denn ForceDirectories im Explorer auf, wenn es dort ja gehen soll?
Verzeichnis anlegen <> ForceDirectories

Interessant ist folgender Thread, dort ganz unten,
wo steht, dass Delphi gar nicht die Windows-Funktion benutzt.
https://stackoverflow.com/questions/...-returns-false

Dalai 17. Jan 2019 16:44

AW: ForceDirectories geht mit Metzwerklaufwerk unter Win 10 nicht.
 
Netzlaufwerke waren schon immer (seit XP) nutzerspezifisch. Seit Vista trifft das sogar auf Netzlaufwerke zu, die in einem Programm verbunden wurden, das als Administrator (via UAC) läuft. Insofern sind Netzlaufwerke nicht nur nutzerspezifisch sondern an ein Token gebunden.

Wenn deine Anwendung unter einem anderen Nutzer läuft, wirst du das Laufwerk dort nochmal verbinden müssen. Das ließe sich übrigens ermitteln, indem du einfach prüfst, ob das Laufwerk bzw. Dateien darauf existieren, bevor du ForceDirectories machst ;). Die Anregung als Code:
Delphi-Quellcode:
if FileExists('Z:\bla\*.*') then
    ShowMessage('Da gibts was');
if ForceDirectories('Z:\bla') then
    ShowMessage('wurde angelegt');
Grüße
Dalai

HolgerX 17. Jan 2019 16:47

AW: ForceDirectories geht mit Metzwerklaufwerk unter Win 10 nicht.
 
Hmm..

Zitat:

Zitat von just beginner (Beitrag 1423474)
Das Netzwerklaufwerk Z ist ist mit einem anderen Benutzer gemapt als der auf den Rechner angemeldet ist.
Der am Rechner angemeldete User hat Adminrechte.
Unter den Netzwerklaufwerkeigenschaften von Z: sehe ich das es für „Jeden“ aktiv ist.
Über den Explorer kann ich auch Verzeichnisse auf Z: anlegen.


Adminrechte <> Elevated..

Windows-Explorer wird (normalerweise) unelevated gestartet.
Starte den Elevated und das Z: ist nicht mehr vorhanden!

Mapping gilt immer nur für den User (elevated und unelevated sind VERSCHIEDENE User, auch bei gleichem Namen) der auch das Mapping ausgeführt hat!

just beginner 18. Jan 2019 11:20

AW: ForceDirectories geht mit Metzwerklaufwerk unter Win 10 nicht.
 
Hallö,

das mit den Adminrechten und Elevated war das Problem. Danke HolgerX

Hier war ich die Lösung:

http://blog.adminweb.at/netzlaufwerk...icht-sichtbar/
https://docs.microsoft.com/en-us/pre...844140(v=ws.10)

Nach einem Neustart des Rechners das Netzwerklaufwerk nicht erreichbar(rotes Kreuz im Explorer)
Problem war das: https://www.borncity.com/blog/2018/0...netzlaufwerke/

Das hat geholfen:

https://windowsunited.de/loesung-win...htig-anzeigen/



Gruß

generic 21. Jan 2019 14:27

AW: ForceDirectories geht mit Metzwerklaufwerk unter Win 10 nicht.
 
In dem MS Link fehlt am Ende eine Klammer zu. Der Darstellungstext ist richtig.
https://docs.microsoft.com/en-us/pre...44140(v=ws.10)

just beginner 22. Jan 2019 08:44

AW: ForceDirectories geht mit Metzwerklaufwerk unter Win 10 nicht.
 
Danke generic.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:41 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