| | | 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
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 / zitieren --> Unities abgeben:
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.
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 / zitieren --> Unities abgeben: Nur für wwwilli
|
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1357 Registriert: 24.07.2002
|
erstellt am: 20. Apr. 2007 08:45 <-- editieren / zitieren --> Unities abgeben: Nur für wwwilli
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
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 / zitieren --> Unities abgeben:
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
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 / zitieren --> Unities abgeben:
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
Beiträge: 1357 Registriert: 24.07.2002
|
erstellt am: 20. Apr. 2007 12:35 <-- editieren / zitieren --> Unities abgeben: Nur für wwwilli
|
wwwilli Mitglied Ingenieur
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 / zitieren --> Unities abgeben:
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
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 / zitieren --> Unities abgeben:
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 >>)
|