Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Zugriffsregelungen von Ordnern abfragen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Zugriffsregelungen von Ordnern abfragen (675 mal gelesen)
wwwilli
Mitglied
Ingenieur


Sehen Sie sich das Profil von wwwilli an!   Senden Sie eine Private Message an wwwilli  Schreiben Sie einen Gästebucheintrag für wwwilli

Beiträge: 410
Registriert: 21.03.2006

ACAD MAP 3D 2012.
VestraCAD.
Win 7 64bit SP 1, FD 100 GB, Xeon 2,8 GHz, 12 GB.

erstellt am: 19. Apr. 2007 15:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo.
Kann man mit VBA abfragen, welche Berechtigungen für einen bestimmten, vorhandenen (Datei-)Ordner gesetzt sind? In DOS würde ich das mit CACLS abfragen (und gegebenenfalls ändern).
MfG,
wwwilli

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Stelli1
Moderator
Verm.-Ing.


Sehen Sie sich das Profil von Stelli1 an!   Senden Sie eine Private Message an Stelli1  Schreiben Sie einen Gästebucheintrag für Stelli1

Beiträge: 1521
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 19. Apr. 2007 19:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wwwilli 10 Unities + Antwort hilfreich

Hallo Willi,

versuchs mal mit GetAttr bzw SetAttr.

Stelli

------------------
Warum lisp'eln wenn's auch anders geht.
www.ib-stelberg.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


Sehen Sie sich das Profil von Carsten1210 an!   Senden Sie eine Private Message an Carsten1210  Schreiben Sie einen Gästebucheintrag für Carsten1210

Beiträge: 1357
Registriert: 24.07.2002

erstellt am: 20. Apr. 2007 08:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wwwilli 10 Unities + Antwort hilfreich


SetPerm.bas.txt

 
Hi wwwilli,

Schau mal in die angehängte Datei (einfach in ein Projekt importieren) nach der Funktion "UpdatePermissionsOfFolder". Da sollte eigentlich alles zu Usern und deren Rechten drin sein. Hab ich mal auf ner Seite von M$ gefunden.
Sonst kannst du auch noch nach XCACLS und folder permissions suchen. Da kommt einiges zusammen.

Gruß, Carsten

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wwwilli
Mitglied
Ingenieur


Sehen Sie sich das Profil von wwwilli an!   Senden Sie eine Private Message an wwwilli  Schreiben Sie einen Gästebucheintrag für wwwilli

Beiträge: 410
Registriert: 21.03.2006

ACAD MAP 3D 2012.
VestraCAD.
Win 7 64bit SP 1, FD 100 GB, Xeon 2,8 GHz, 12 GB.

erstellt am: 20. Apr. 2007 10:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo
und danke Euch.
Mit SetAttr usw. wird das nicht gehen, weil es um unterschiedliche Benutzerrechte im Netzwerk geht, nicht nur um einfache Dateiattribute.
Das muss irgendetwas mit "WMI" zu tun haben... Dazu habe ich aber noch nichts gefunden, was auch ein Bauingenieur verstehen würde.
Ansonsten werde ich das von Carsten mal anschauen.
MfG und schönes WE, wenn's soweit ist,
wwwilli

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wwwilli
Mitglied
Ingenieur


Sehen Sie sich das Profil von wwwilli an!   Senden Sie eine Private Message an wwwilli  Schreiben Sie einen Gästebucheintrag für wwwilli

Beiträge: 410
Registriert: 21.03.2006

ACAD MAP 3D 2012.
VestraCAD.
Win 7 64bit SP 1, FD 100 GB, Xeon 2,8 GHz, 12 GB.

erstellt am: 20. Apr. 2007 12:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Mann, ist das kompliziert.
Ich will eigentlich nur vergleichen, ob zwei Ordner im Netz die gleichen Zugriffsrechte haben. In DOS wäre das grob so:
Ich gebe CACLS für den einen Ordner in eine Datei aus;
ich gebe CACLS für den anderen Ordner in eine andere Datei aus;
ich standardisiere die beiden Ausgaben (Leerzeichen, Sortierung, Großkleinschrift);
ich vergleiche, ob in beiden das selbe drinsteht.
- Wenn nicht, dann Meldung oder so.

Soll ich das jetzt "Slow and dirty" mit Shell nachfummeln oder gibt's vielleicht doch was Einfaches in VBA?
MfG

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


Sehen Sie sich das Profil von Carsten1210 an!   Senden Sie eine Private Message an Carsten1210  Schreiben Sie einen Gästebucheintrag für Carsten1210

Beiträge: 1357
Registriert: 24.07.2002

erstellt am: 20. Apr. 2007 12:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wwwilli 10 Unities + Antwort hilfreich

wwwilli
Mitglied
Ingenieur


Sehen Sie sich das Profil von wwwilli an!   Senden Sie eine Private Message an wwwilli  Schreiben Sie einen Gästebucheintrag für wwwilli

Beiträge: 410
Registriert: 21.03.2006

ACAD MAP 3D 2012.
VestraCAD.
Win 7 64bit SP 1, FD 100 GB, Xeon 2,8 GHz, 12 GB.

erstellt am: 20. Apr. 2007 22:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hm.
Grmbl.
Das kapiere ich alles nicht. Ich werde mich wohl doch an die powervolle Programmierung in DOS halten. Für 10 Befehlszeilen damit kann ich doch nicht 500 Zeilen VBA-Code produzieren... 
Aber Dank und Gruß allemal,
wwwilli

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wwwilli
Mitglied
Ingenieur


Sehen Sie sich das Profil von wwwilli an!   Senden Sie eine Private Message an wwwilli  Schreiben Sie einen Gästebucheintrag für wwwilli

Beiträge: 410
Registriert: 21.03.2006

ACAD MAP 3D 2012.
VestraCAD.
Win 7 64bit SP 1, FD 100 GB, Xeon 2,8 GHz, 12 GB.

erstellt am: 25. Apr. 2007 10:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo.
Also so etwa könnte es gehen, falls es jemand wissen will:
Code:
Private Sub ListFolderPermissions()
Dim strConn As String
Dim objInst As Object
Dim objDescriptor As Object
Dim intRetVal As Integer
Dim strList As String
Dim DACL
Dim entrY
Dim strOrdner As String
    strOrdner = "X:\ORG"
    strConn = "winmgmts:Win32_LogicalFileSecuritySetting='" _
    + strOrdner + "'"
    Set objInst = GetObject(strConn)
    intRetVal = objInst.GetSecurityDescriptor(objDescriptor)
    DACL = objDescriptor.Properties_.Item("dacl").Value
    strList = strOrdner + vbCr
    For Each entrY In DACL
        strList = strList + UCase(entrY.Trustee.Name) + ":" _
        + Str(entrY.AccessMask) + vbCr
    Next
    MsgBox strList
    Set objInst = Nothing
End Sub


Dieser Code listet nur für einen Ordner auf, bei mir kommt der zweite noch dazu, dann wird verglichen usw., das habe ich hier rausgemacht, überhaupt etwas vereinfacht.
Es fehlt auch die Aufschlüsselung der einzelnen Rechte aus AccessMask, aber ich will ja auch nur eine eventuelle Unterschiedlichkeit feststellen, dafür langt mir die Ausgabe der Zahl.
MfG,
wwwilli

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz