6 Replies Latest reply: Nov 25, 2014 9:33 AM by John Jackson RSS

    how to get ACL of QVW

    Nick Gan

      Hi All,

       

      Does anyone know if there's a way to retrieve the ACL info of a QVW file ?

       

      what i'm trying to do is to retrieve the ACL info or user name of a selected QVW and display it.

      Could be use for administration.

       

      Any tips?

       

      Thanks.

        • Re: how to get ACL of QVW
          Nick Gan

          Ok, after one day of googling..

          found this easy script generator - http://www.vbsedit.com/scripts/security/dacls/scr_1384.asp

          to get file's DACLS.

           

           

          ' Read a File DACL
          
          
          strFileName = "C:\tt.txt"
          SE_DACL_PRESENT = &h4
          ACCESS_ALLOWED_ACE_TYPE = &h0
          ACCESS_DENIED_ACE_TYPE  = &h1
          
          FILE_ALL_ACCESS       = &h1f01ff
          FILE_APPEND_DATA      = &h000004
          FILE_DELETE           = &h010000
          FILE_DELETE_CHILD     = &h000040
          FILE_EXECUTE          = &h000020
          FILE_READ_ATTRIBUTES  = &h000080
          FILE_READ_CONTROL     = &h020000
          FILE_READ_DATA        = &h000001
          FILE_READ_EA          = &h000008
          FILE_SYNCHRONIZE      = &h100000
          FILE_WRITE_ATTRIBUTES = &h000100
          FILE_WRITE_DAC        = &h040000
          FILE_WRITE_DATA       = &h000002
          FILE_WRITE_EA         = &h000010
          FILE_WRITE_OWNER      = &h080000
          
          Set objWMIService = GetObject("winmgmts:")
          Set objFileSecuritySettings = _
          objWMIService.Get("Win32_LogicalFileSecuritySetting='" & strFileName & "'")
          intRetVal = objFileSecuritySettings.GetSecurityDescriptor(objSD)
          
          intControlFlags = objSD.ControlFlags
          
          If intControlFlags AND SE_DACL_PRESENT Then
             arrACEs = objSD.DACL
             For Each objACE in arrACEs
                WScript.Echo objACE.Trustee.Domain & "\" & objACE.Trustee.Name
          
             Next
          Else
             WScript.Echo "No DACL present in security descriptor"
          End If
          
          

           

          if someone can help to "embeded" into QV, to retrieve multiple QVWs, that'd be super nice !

           

          meanwhile, i'm trying....