none
FileSystemAuditRule erstellen -> ok | FileSystemAuditRule löschen -> geht nicht RRS feed

  • Frage

  • Hallo zusammen,

    ich habe ein Problem mit einem Beispielcode von Microsoft. Zu dem Thema aber ich leider nichts mit der Suchfunktion finden können.

    Zu finden unter: http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=DE-DE&k=k(SYSTEM.SECURITY.ACCESSCONTROL.FILESYSTEMAUDITRULE);k(TargetFrameworkMoniker-%22.NETFRAMEWORK%2cVERSION%3dV4.0%22);k(DevLang-VB)&rd=true

    Es lassen sich in dem Beispiel Überwachungen ohne Probleme einrichten. Wenn ich aber die Regel wieder entfernen will, löuft zwar das Programm durch, die Regel wird aber nicht entfernt.

    Das selbe Problem habe ich sowohl auf Directory Ebene als auch in der Registry.

    Also befürchte ich, dass ich einen entscheidenden Denkfehler habe / mache.

    Any Hint?

    Vielen Dank für eure Hilfe.

     

    Im folgenden Codebeispiel wird mithilfe der FileSystemAuditRule-Klasse einer Datei eine Überwachungsregel hinzugefügt und anschließend wieder entfernt. Sie müssen ein gültiges Benutzer- oder Gruppenkonto angeben, um dieses Beispiel auszuführen.

    Imports System
    Imports System.IO
    Imports System.Security.AccessControl
    
    
    
    Module FileExample
    
      Sub Main()
        Try
          Dim FileName As String = "test.xml"
    
          Console.WriteLine("Adding access control entry for " + FileName)
    
          ' Add the access control entry to the file.
          AddFileAuditRule(FileName, "MYDOMAIN\MyAccount", FileSystemRights.ReadData, AuditFlags.Failure)
    
          Console.WriteLine("Removing access control entry from " + FileName)
    
          ' Remove the access control entry from the file.
          RemoveFileAuditRule(FileName, "MYDOMAIN\MyAccount", FileSystemRights.ReadData, AuditFlags.Failure)
    
          Console.WriteLine("Done.")
        Catch e As Exception
          Console.WriteLine(e)
        End Try
    
        Console.ReadLine()
    
      End Sub
    
    
      ' Adds an ACL entry on the specified file for the specified account.
      Sub AddFileAuditRule(ByVal FileName As String, ByVal Account As String, ByVal Rights As FileSystemRights, ByVal AuditRule As AuditFlags)
    
    
        ' Get a FileSecurity object that represents the 
        ' current security settings.
        Dim fSecurity As FileSecurity = File.GetAccessControl(FileName)
    
        ' Add the FileSystemAuditRule to the security settings. 
        fSecurity.AddAuditRule(New FileSystemAuditRule(Account, Rights, AuditRule))
    
        ' Set the new access settings.
        File.SetAccessControl(FileName, fSecurity)
    
      End Sub
    
    
      ' Removes an ACL entry on the specified file for the specified account.
      Sub RemoveFileAuditRule(ByVal FileName As String, ByVal Account As String, ByVal Rights As FileSystemRights, ByVal AuditRule As AuditFlags)
    
        ' Get a FileSecurity object that represents the 
        ' current security settings.
        Dim fSecurity As FileSecurity = File.GetAccessControl(FileName)
    
        ' Add the FileSystemAuditRule to the security settings. 
        fSecurity.RemoveAuditRule(New FileSystemAuditRule(Account, Rights, AuditRule))
    
        ' Set the new access settings.
        File.SetAccessControl(FileName, fSecurity)
    
      End Sub
    End Module
    
    
    

     

    Dienstag, 9. August 2011 09:41

Antworten


  • So, Fehler gefunden. Man muss die bestehenden Rules anders ansprechen.

    Dann klappt es auch mit den Nachbarn. ;-)

    ' Removes an ACL entry on the specified file for the specified account. 
    
    Public Sub RemoveFileAuditRule(ByVal fileName As String, _
                    ByVal Account As String, _ 
                    ByVal Rights As FileSystemRights, _ 
                    ByVal AuditRule As AuditFlags) 
    
    ' Create a new FileInfoObject. 
    Dim fInfo As New FileInfo(fileName) 
    
    ' Get a FileSecurity object that represents the current security settings. 
    Dim fSecurity As New FileSecurity 
    
    fSecurity = fInfo.GetAccessControl(AccessControlSections.Audit) 
    
    
    ' remove the FileSystemAccessRule to the security settings.
    fSecurity.RemoveAuditRule(New FileSystemAccessRule(Account, Rights, AuditRule )) 
    
    ' Set the new access settings. 
    fInfo.SetAccessControl(fSecurity) End Sub
    
    
    

     






    Freitag, 12. August 2011 06:03