Abfragen, ob ein lokaler Ordner freigegeben ist
spacer
Autor Nachricht
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 15833
Erhaltene Danke: 737

XP, W7 x64 (Chrome, IE9, FF), Debian, (OSX 10.7)
RAD XE 2, Java (NB), C++, C# (VS 2010), JS/HTML, PHP, Lazarus
BeitragVerfasst: Do 29.12.11 10:52 
Hallo,

ich stehe vor dem Problem, dass ich erkennen möchte, ob ein lokaler Ordner (//EDIT: im Netzwerk) freigegeben ist. Gibt es eine direkte Möglichkeit dies abzufragen? Oder muss ich tatsächlich alle Freigaben des Rechners durchgehen um zu schauen, ob dieser lokale Ordner dabei ist?

Der Windows Explorer zeigt diese Information ja bei den lokalen Ordnern auch an. Deshalb vermute ich eigentlich, dass sich das irgendwie abfragen lässt.

// EDIT:
Crosspost:
www.delphipraxis.net...nen.html#post1143701

Vielen Dank schon einmal,
schönen Gruß,
Sebastian


Zuletzt bearbeitet von jaenicke am Fr 30.12.11 11:30, insgesamt 2-mal bearbeitet
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.


Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.
Tranx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic star
Beiträge: 308
Erhaltene Danke: 22

WIN 2000, WIN XP
D5 Prof
BeitragVerfasst: Do 29.12.11 15:05 
Ich habe mal so rumgegooglet. Da ist zum einen die Kommandozeilenversion : CACLS.EXE, welche die Berechtigungen ausgibt.
Aber das ist echt gewöhnungsbedürftig und nicht einfach auszulesen.

Ich habe dem Benutzer "Jeder" im Unterverzeichnis Test im Verzeichnis C:\Test die unten angegebenen Rechte verweigert (Ausführen und Schreiben). Das Ergebnis der Abfrage: (Ich habe extra den Zeichendsatz nicht geändert. Daher die fehlerhaften IUmlaute ä und Ä)

CACLS C:\Temp\Test >Datei.txt ergab:

ausblenden Delphi-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
C:\temp\test Jeder:(OI)(CI)(DENY)(Beschr„nkter Zugriff:)

FILE_WRITE_DATA
FILE_EXECUTE

VORDEFINIERT\Administratoren:(OI)(CI)F
VORDEFINIERT\Benutzer:(OI)(CI)R
VORDEFINIERT\Benutzer:(CI)(Beschr„nkter Zugriff:)

SYNCHRONIZE
FILE_APPEND_DATA

VORDEFINIERT\Benutzer:(CI)(Beschr„nkter Zugriff:)

SYNCHRONIZE
FILE_WRITE_DATA

ERSTELLER-BESITZER:(OI)(CI)(IO)F
Jeder:(OI)(CI)C
NT-AUTORITŽT\SYSTEM:(OI)(CI)F




Vielleicht findest Du hier was anderes:

twapi.magicsplat.com/security.html

_________________
Toleranz ist eine Grundvoraussetzung für das Leben.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
jaenicke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 15833
Erhaltene Danke: 737

XP, W7 x64 (Chrome, IE9, FF), Debian, (OSX 10.7)
RAD XE 2, Java (NB), C++, C# (VS 2010), JS/HTML, PHP, Lazarus
BeitragVerfasst: Do 29.12.11 15:11 
Die Berechtigungen auszulesen wäre relativ einfach, aber das meinte ich nicht.

Ich meinte Freigaben, aber ich habe vergessen explizit Netzwerk dazuzuschreiben, sorry. Bei Freigaben dachte ich das wäre klar. Es geht darum festzustellen, ob ein Programm loakl ioder via Netzwerkfreigabe gestartet wurde. Wenn es lokal gestartet wurde, soll geschaut werden, ob das Verzeichnis freigegeben ist, denn dann soll kein lokaler Start erfolgen.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Tranx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic star
Beiträge: 308
Erhaltene Danke: 22

WIN 2000, WIN XP
D5 Prof
BeitragVerfasst: Do 29.12.11 15:32 
Entschuldigung, hast ja Recht. Habe echt irgendwie das Ganze falsch verstanden.

NET SHARE gibt die Freigaben des lokalen Rechners aus:

NET SHARE >Datei.txt

ausblenden Delphi-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
Name         Ressource                       Beschreibung

-------------------------------------------------------------------------------
D$ D:\ Standardfreigabe
F$ F:\ Standardfreigabe
ADMIN$ C:\WINDOWS Remoteadmin
C$ C:\ Standardfreigabe
IPC$ Remote-IPC
CD E:\
FreeCommander
C:\Programme\FreeCommander
Temp C:\Temp <= die habe ich erzeugt!!!
Der Befehl wurde erfolgreich ausgefhrt.


das ist ja recht einfach auszulesen. Dann ist allerdings jeder der Freigaben durchzugehen. Aber so viele wird es wohl auf einem lokalen Rechner kaum geben, oder? Also ist es eigentlich keine Lösung eigaben einzeln durchgehen und auf den Ordner hin abfragen.

_________________
Toleranz ist eine Grundvoraussetzung für das Leben.


Zuletzt bearbeitet von Tranx am Do 29.12.11 15:36, insgesamt 1-mal bearbeitet
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 979
Erhaltene Danke: 124

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Do 29.12.11 15:32 
wenn wir schon bei Kommandozeilen sind was wäre mit net share

_________________
Das Problem liegt üblicherweise zwischen den Ohren
DRY DRY KISS
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
jaenicke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 15833
Erhaltene Danke: 737

XP, W7 x64 (Chrome, IE9, FF), Debian, (OSX 10.7)
RAD XE 2, Java (NB), C++, C# (VS 2010), JS/HTML, PHP, Lazarus
BeitragVerfasst: Do 29.12.11 16:06 
Dafür brauche ich keine Konsolenausgaben. :shock:
Diese Liste bekomme ich mit WNetEnumResource oder noch einfacher via NetShareEnum.

Leider sind diese Funktionen aber manchmal ziemlich langsam, so dass ich es ungern auf diesem Umweg machen würde. Das meinte ich hier auch:
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Oder muss ich tatsächlich alle Freigaben des Rechners durchgehen um zu schauen, ob dieser lokale Ordner dabei ist?
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
home home