Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
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
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
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
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