Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   Delphi Wie geht "ChDir" für Netzlaufwerke?? (https://www.delphipraxis.net/53444-wie-geht-chdir-fuer-netzlaufwerke.html)

Saarpoint 16. Sep 2005 18:33


Wie geht "ChDir" für Netzlaufwerke??
 
Hallo!

Stehe gerade völlig auf'm Schlauch:

Ich möchte nicht via Dialog, sondern via Befehl auf ein Serverlaufwerk wechseln.

Ich möchte z.B. auf das Server-Laufwerk "G", aber mit chdir('g:\') lande ich ja
auf'm CardReader-Laufwerk des eigenen PC's.

Ich wusste es mal, aber hatte schon lange nichts mehr mit Netzlaufwerken zu tun.
Mustte man hierfür einen doppelten Slash angeben ('g:\\'), oder wie?

Für diese simple Frage, sorry... :oops:

Andy

marabu 16. Sep 2005 18:47

Re: Wie geht "ChDir" für Netzlaufwerke??
 
Hi Andy,

wenn die adminsitrativen Freigaben nicht abgeschaltet wurden, dann erreichst du Laufwerk G auf dem Server über den UNC-Namen \\server\g$

Grüße vom marabu

Saarpoint 16. Sep 2005 20:05

Re: Wie geht "ChDir" für Netzlaufwerke??
 
Kannst Du mir das näher erläutern?
Hab ehrlich gesagt kein Plan, was Du mir damit sagen willst.

Fast alle in der Firma (bestimmte Benutzergruppen) können
auf diesem Laufwerk schreiben/lesen.

Ich möchte dort eine Datei speichern, wovon anschließend alle
anderen Lesen können, da sie nicht auf meinen lokalen PC zugreifen
können/dürfen.

Andy

marabu 16. Sep 2005 20:15

Re: Wie geht "ChDir" für Netzlaufwerke??
 
Die einen stellen eine permanente Laufwerkverbindung her (Windows Explorer:Netzlaufwerk verbinden) und sprechen das Laufwerk später über einen Laufwerksbuchstaben an. Diesen Prozess könnte man auch über das Login-Script automatisieren. Wenn du ohne Laufwerksverbindung zugreifen möchtest, dann geschieht das unter direkter Verwendung des UNC-Namens der Freigabe (Universal Naming Convention). Unter NT4 gab es die sogenannten administrativen Freigaben - das waren Freigaben der Laufwerke, der Name bestehend aus dem Buchstaben und einem Dollarzeichen um die Anzeige im Browser zu verhindern.

Die meisten Programme sind heute nicht mehr auf DOS-Dateinamen (mit Laufwerksbuchstaben) angewiesen und beherrschen UNC. Auch dein Programm kann so eine Datei schreiben:

Delphi-Quellcode:
var
  fs: TFileStream;
begin
  fs := TFileStream.Create('\\server\g$\saarpoint.txt', fmCreate);
  // schreib halt was rein ...
  fs.Free;
end;
Du kannst natürlich auch per NET USE z: \\server\g$ zuerst eine Verbindung herstellen.

marabu

Saarpoint 16. Sep 2005 20:43

Re: Wie geht "ChDir" für Netzlaufwerke??
 
Also wenn der Pc hochfährt, dann öffnet sich kurz das DOS-Fenster wo,
ich glaube die Datei heisst "netlogon.exe" die Laufwerke anmeldet.

Anschließend stehen die Laufwerke ganz normal (als Netzwerk-Laufwerk-Symbol)
auf dem Arbeitsplatz/Explorer zur Verfügung.

Ich hatte mal hier im Büro einfach einen zweiten Rechner direkt mit meinem verbunden
und konnte z.B. auf MS-DOS-Ebene mit "cd .." auf das Laufwerk des anderen PC's wechseln.

Ich weiß halt nur dass das Laufwerk "G" für den Datenaustausch ist, allerdings weiß
ich nicht den Namen des Servers. Da das Laufwerk ja von den Admins sowieso für alle
bereit gestellt wird, dachte ich, ich könnte darauf genau so zugreifen, wie mein
kleiner Versuch mit den zwei Rechnern.

Bin zwar schon ein alter Hase, aber Netzwerk-Anwendungen hab ich noch nicht geschrieben.
Deswegen schreib ich gerade wie ein DAU.

Andy

raffo 16. Sep 2005 21:19

Re: Wie geht "ChDir" für Netzlaufwerke??
 
Also den Namen des Servers musst Du schon wissen / erfragen, dann kannst Du Dir einen Laufwerksbuchstaben für Deinen eigenen PC via (Eingabeaufforderung CMD): "net use t: \\Servername\C" erstellen

Wobei "t" Dein neuer Laufwerksbuchstabe ist
"Servername" vom Admin erfragen
C der Freigabename der Festplatte auf Servername ist

Saarpoint 16. Sep 2005 21:28

Re: Wie geht "ChDir" für Netzlaufwerke??
 
Ok, ich versuchs mal. Obwohl es nicht das ist, was ich wollte.
Trotzdem danke! :-D

Andy

raffo 16. Sep 2005 21:45

Re: Wie geht "ChDir" für Netzlaufwerke??
 
Zitat:

Zitat von Saarpoint
sondern via Befehl auf ein Serverlaufwerk wechseln

Der Befehl wäre dann doch "dir t:" bzw. die Verküpfung mittels Explorer "explorer.exe /e,t:\"

Christian Seehase 16. Sep 2005 23:33

Re: Wie geht "ChDir" für Netzlaufwerke??
 
Moin Andy,

ich möchte mal behaupten, dass Du nicht das Recht haben wirst, Dir direkt ein Laufwerk des Servers zu verbinden, sondern irgendeine Freigabe auf dem Server.
Im Explorer wird dann meist etwas stehen wie:

G: 'share' auf 'Servername'

Den Share könntest Du Dir dann mit Net use verbinden wie weiter oben beschrieben, oder so verwenden wie von marabu es geschildert hat, nur dass Du statt des g$ den Namen der Freigabe (Share) angibst.

Die grundsätzliche Struktur beim Zugriff auf eine Datei im Netzwerk sieht so aus:

\\Servername\Freigabename\Weitere Verzeichnisse\Dateiname

marabu 17. Sep 2005 07:14

Re: Wie geht "ChDir" für Netzlaufwerke??
 
@Andy:
Wenn du auf deinem Rechner in der Firma das Netzwerklaufwerk nach dem logon script sieht, dann ist es bereits verbunden. Starte dann einfach mal NET USE ohne Parameter und du erhältst die Information, wie der Server und das Share heißen. Mit dieser Information kannst du dann jederzeit selbst eine Verbindung herstellen. Wahrscheinlich aber nur von einem Rechner mit gültigem Maschinen Account aus.


@raffo:
Wenn man sich anmeldet und keinen eigenen thread aufmacht, wird man oft nicht sofort wahr genommen. Deshalb an dieser Stelle: wir freuen uns alle, dass du mit dabei bist.

Grüße vom marabu

Sharky 17. Sep 2005 07:33

Re: Wie geht "ChDir" für Netzlaufwerke??
 
Hai Andy,
mir fallen in deinem Posting zwei Sachen auf. Zum einen schreibst Du:
Zitat:

Zitat von Saarpoint
...lande ich ja auf'm CardReader-Laufwerk des eigenen PC's.

und zum anderen:
Zitat:

Zitat von Saarpoint
.... Ich weiß halt nur dass das Laufwerk "G" für den Datenaustausch ist,

Dies hört sich für mich so an als hättest Du in deinem PC schon ein Laufwerk "G:" (in deinem Fall ein CardReader) und nun wird über ein LoginScript versucht auf den Laufwerksbuchstaben eine Netzwerkfreigabe zu mappen. Dies schlägt natürlich fehl da der Laufwerksbuchstabe schon vergeben ist.
Beispiel:
Dein PC hat diese Laufwerke:
Code:
C: Festplatte 1
D: Festplatte 2
E: CD-ROM
F: CardReader 1
G: CardReader 2
Wenn Du nun versuchst eine Netzwerkfreigabe auf einen dieser Laufwerksbuchstaben zu mappen
Code:
NET USE G: \\SERVERNAME\Freigabename
bekommst Du einen Fehler
Zitat:

Systemfehler 85 aufgetreten
Der lokale Gerätename wird bereits verwendet.
In diesem Fall musst Du entweder die lokalen Laufwerksbuchstaben ändern oder euren Admin bitten das Mapping auf einen anderen Laufwerksbuchstaben zu setzen. Wobei die erste Lösung die bessere ist.

P.S.: Dies ist einer der Gründe warum ich CD-ROMs und andere Wechsellaufwerke (CardReader) immer von Z: beginnend bezeichne.

Saarpoint 20. Sep 2005 22:42

Re: Wie geht "ChDir" für Netzlaufwerke??
 
Danke für die vielen Postings. :-D

Also im Explorer steht da folgende Bezeichnung
(so ähnlich):

[Laufwerksymbol] Daten$ on '(Node 1 blabla 2) (hqzefsdftr02)' (G:)

Also "Daten" ist die Arbeitsgruppe und ich denke das "hqzefsdftr02"
die Bezeichnung des Servers ist.
Also brauch ich evtl. die Angabe nicht von "G" sondern

ChDir ('\\hqzefsdftr02\Daten$\Allgemein\Texte');

um auf "G:\Allgemein\Texte" des Servers "hqzefsdftr02"
der Arbeitsgruppe "Daten" zugreifen zu können?

Evtl. könnte ich mir es ja auch einfach machen und einen
DirTree-Dialog anzeigen lassen, da hier auch die Server eingetragen
sind. Der übergebene String der Form, wäre dann automatisch der richtige
Pfad.

Andreas

Christian Seehase 20. Sep 2005 22:59

Re: Wie geht "ChDir" für Netzlaufwerke??
 
Moin Andreas,

wie kommst Du jetzt auf Arbeitsgruppe Daten?
Aus dem von Dir gezeigten kann ich das nicht ableiten.
Der Freigabename ist Daten$

Saarpoint 20. Sep 2005 23:05

Re: Wie geht "ChDir" für Netzlaufwerke??
 
Ja, ok. "Daten" gibt es auch nicht wirklich auf unserem Server.
Aber die Freigabenamen sind gleich mit den unserer Arbeitsgruppen
Nur halt nuch mit dem "$" hintendran.

Würde das wie oben funktionieren?

Gruß, Andy

Hansa 21. Sep 2005 00:45

Re: Wie geht "ChDir" für Netzlaufwerke??
 
Das $ am Schluß macht folgendes : andere User sehen nicht automatisch das Laufwerk ! Das hat Vor- und Nachteile. Nenne ich die Festplatte "hjgjh213" so muß man den Namen genau wissen sofern ein $ dahintersteht. Ohne $ taucht der Rechner auf. 8) Allerdings ist das Thema hier etwas seltsam. Ist der Zugriff im Netzt jetzt erlaubt oder nicht ? Im ersten Fall wäre lediglich der Administrator zu befragen im 2. Fall sage ich nichts mehr. :mrgreen:

marabu 21. Sep 2005 06:49

Re: Wie geht "ChDir" für Netzlaufwerke??
 
Hallo Andreas,

Zitat:

Zitat von Saarpoint
Also brauch ich evtl. die Angabe nicht von "G" sondern

ChDir ('\\hqzefsdftr02\Daten$\Allgemein\Texte');

um auf "G:\Allgemein\Texte" des Servers "hqzefsdftr02"
der Arbeitsgruppe "Daten" zugreifen zu können?

genau so funktioniert das. In einer net-aware Anwendung solltest du sowieso auf Laufwerksbuchstaben verzichten, wo immer es geht.

marabu

Saarpoint 21. Sep 2005 17:57

Re: Wie geht "ChDir" für Netzlaufwerke??
 
Zu deinem vorherigen Posting:
Keine Angst, ich will nicht den Firmen-Server hacken :-D
Hierrauf hat jeder Zugang.

Nur ist es ein Unterschied, ob ich das entsprechende Laufwerk
einfach und simpel im Explorer auswähle oder via Software in dieses
wechseln muss.

Danke für die Hilfe! :-D

Gruß, Andreas


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:56 Uhr.

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