vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Gruppenrechte auf bestimmte Ordner ermitteln 
Autor: zardo
Datum: 02.08.11 16:48

Doppelpost, da der Code nicht mehr in den Ersten Post gepasst hat:

Option Explicit On
Option Strict On
 
Imports System.Security.AccessControl
Imports System.Security.Principal
Imports System.IO
Imports System.Threading.Thread
 
Public Class Form1
 
    Public Function FileOwner(ByVal Filename As String) As String
        Dim oFile As New IO.FileInfo(Filename)
        Dim oFS As Security.AccessControl.FileSecurity = oFile.GetAccessControl
        Return oFS.GetOwner(GetType(Security.Principal.NTAccount)).Value
    End Function
 
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
        If Me.ListBox1.Items.Count() > 0 Then Me.ListBox1.Items.Clear()
        'Dim fbd As FolderBrowserDialog = New FolderBrowserDialog
        'If fbd.ShowDialog = Windows.Forms.DialogResult.Cancel Then
        'Return
        'End If
        'Me.TextBox1.Text = fbd.SelectedPath()
        If Me.TextBox1.Text.Length() <= 3 Then
            MessageBox.Show("Sie muessen einen Ordner auswaehlen.", "Info")
            Return
        End If
        Try
            Dim Permission As FindAllUsersWithReadPermissionOnSharedFolders = _
                New FindAllUsersWithReadPermissionOnSharedFolders( _
                Me.TextBox1.Text)
            Dim List As New List(Of String)(Permission.PermissionInformations())
            If List IsNot Nothing Then
                Me.ListBox1.Items.AddRange(List.ToArray())
                Dim msg As String = Permission.Message()
                If msg.Length > 0 Then
                    MessageBox.Show(msg, "Info")
                Else
 
                End If
            End If
            List.Clear()
        Catch ex As Exception
            MessageBox.Show(ex.Message(), "Info")
        End Try
    End Sub
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
 
    End Sub
End Class
 
Public Class FindAllUsersWithReadPermissionOnSharedFolders
 
    Public Sub New(ByVal Path As String)
        Folder = Path
    End Sub
 
    Private _folder As String
    Private Property Folder() As String
        Get
            Return _folder
        End Get
        Set(ByVal value As String)
            _folder = value
        End Set
    End Property
 
    Public ReadOnly Property PermissionInformations() As List(Of String)
        Get
            Return GetPermissionInformations()
        End Get
    End Property
 
    Private _message As String = String.Empty
    Public Property Message() As String
        Get
            Return _message
        End Get
        Set(ByVal value As String)
            _message = value
        End Set
    End Property
 
    Private Function GetPermissionInformations() As List(Of String)
        Dim List As New List(Of String)
        Try
            Dim di As New DirectoryInfo(Folder())
            Dim ds As DirectorySecurity = di.GetAccessControl()
            For Each SystemAccessRule As FileSystemAccessRule In _
              ds.GetAccessRules(True, True, GetType(NTAccount))
                List.Add(SystemAccessRule.IdentityReference.Value.ToString())
                If (SystemAccessRule.IdentityReference.ToString() = _
                  CurrentPrincipal.Identity.Name()) Then
                    If (SystemAccessRule.FileSystemRights() And _
                    FileSystemRights.ReadPermissions) = _
                        FileSystemRights.ReadPermissions Then
                        Message = "Zugriffsrechte wurden uebermittelt..."
                    End If
                End If
            Next
        Catch ex As IOException
            MessageBox.Show(ex.Message(), "Info IOException")
        Catch ex As Exception
            MessageBox.Show(ex.Message(), "Info Exception")
        End Try
        Return List
    End Function
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Gruppenrechte auf bestimmte Ordner ermitteln3.047zardo02.08.11 16:33
Re: Gruppenrechte auf bestimmte Ordner ermitteln2.252zardo02.08.11 16:48
Re: Gruppenrechte auf bestimmte Ordner ermitteln2.157ModeratorDaveS03.08.11 09:44

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel