Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
jbeierschmitt
Contributor III
Contributor III

QlikView User Audit Dashboard

I need to perform an audit of our QlikView user base and would like to develop an application to provide this in a daily report.

We currently utilize QlikView Publisher Enterprise 8.5 via AccessPoint to distribute QlikView documents to specific Active Directory Groups. I would like to build the application to tell me which Active Directory Group(s) are valid per published document as well as query AD to tell me who are the current users assigned to each group.

I'm uncertain if there is a way to query QlikView Publisher Enterprise to tell me which AD Groups are recipients for each document? Anyomne have any experience developing a similar application?

Jim

23 Replies
Not applicable

Hi Bonar,

Below is the code for your ref, what it does is to retrieve the ACL info for each distributed QVW in the folders, and save them in the txt file,

then QV will read this txt file. you can integrate this with the audit dashboard made by Brad.

The info is sufficient for you to know who has access to which QVW files,

but i'm trying to also build who has not access which qvw and when.

I have some ideas but no time to work on. if you are interested, i could explain to u in detailed.

have fun with it...

' Read a File DACL

Const ForWriting = 2

Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objTextFile = objFSO.OpenTextFile("F:\Qlikview Storage\Private Data\Source Documents\In Production\QVW_Access\QVW_AccessList.txt", ForWriting, True)

          strFolder = "F:\Qlikview Storage\Public Data\AccessPoint Documents\"

    Set FSO = CreateObject("Scripting.FileSystemObject")

    set FLD = FSO.GetFolder(strFolder)

    Set objWMIService = GetObject("winmgmts:")

    For Each Fil In FLD.Files

              'MsgBox Fil.Name

              extFile = FSO.GetExtensionName(Fil.Name)

              If FSO.GetExtensionName(Fil.Name) = "qvw" Then

                  strFileName = strFolder&Fil.Name

                  strFileName2 = Fil.Name

        SE_DACL_PRESENT = &h4

                    ACCESS_ALLOWED_ACE_TYPE = &h0

                    ACCESS_DENIED_ACE_TYPE  = &h1

                    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  & "  " & strFileName2

                            objTextFile.WriteLine(strFileName2 & vbTab & objACE.Trustee.Domain & "\" & objACE.Trustee.Name)

                       Next

                    Else

                       WScript.Echo "No DACL present in security descriptor"

                    End If

          Else

          End If

          strFileName = ""

          objFileSecuritySettings = ""

          Next

bonarasido
Contributor II
Contributor II

Thanks a lot ☺.

I will look into this. I am in Sweden these weeks, and in fact at Qliktech headquater last week ☺.

Hopefully i can make some time in the next two weeks to explore this.

Cheers,

Bonar

Not applicable

Hi Nicksatch,  This document would very useful for our internal user access audit, could you please forward this to my mail address : krishnan.sankaran@antalis.se

chriswain2
Creator
Creator

Hi Nicksatch,

Sorry to resurrect this old post, but this looks really useful. However, I don't know where to run it from and in what application to produce the text file which I will load into QlikView. Please can you help.

Chris