|
|
' global Dim Prefix Prefix = Array("", " ", " ", " ")
Sub AzPrintCommon(Level, ObjName, Obj) If 0=Level Then 'level 0 has no name WScript.Echo Prefix(Level) & ObjName & "(Description=" & Obj.Description & ")" Else WScript.Echo Prefix(Level) & ObjName & "(Name=" & Obj.Name & ", Description=" & Obj.Description & ")" End If End Sub
Sub AzPrintAttr(Level, Obj, PId, PName) WScript.Echo Prefix(Level) & " @ " & PName & "=" & Obj.GetProperty(PId, 0) End Sub
Sub AzPrintItem(Level, Name, Item) WScript.Echo Prefix(Level) & " / " & Name & "=" & Item End Sub
Sub AzPrintAdmin(Lvl, Obj) Dim Writers, Readers, U
AzPrintCommon Lvl, "AdminManager", Obj AzPrintAttr Lvl, Obj, AZ_PROP_ADMIN_DOMAIN_TIMEOUT, "AZ_PROP_ADMIN_DOMAIN_TIMEOUT" AzPrintAttr Lvl, Obj, AZ_PROP_ADMIN_SCRIPT_ENGINE_TIMEOUT, "AZ_PROP_ADMIN_SCRIPT_ENGINE_TIMEOUT" AzPrintAttr Lvl, Obj, AZ_PROP_ADMIN_MAX_SCRIPT_ENGINES, "AZ_PROP_ADMIN_MAX_SCRIPT_ENGINES" AzPrintAttr Lvl, Obj, AZ_PROP_GENERATE_AUDITS, "AZ_PROP_GENERATE_AUDITS"
Writers = Obj.PolicyAdministrators For Each U In Writers AzPrintItem Lvl, "PolicyAdministrator", U Next
Readers = Obj.PolicyReaders For Each U In Readers AzPrintItem Lvl, "PolicyReader", U Next
WScript.Echo "" End Sub
Sub AzPrintApp(Lvl, Obj) AzPrintCommon Lvl, "Application", Obj AzPrintAttr Lvl, Obj, AZ_PROP_APPLICATION_AUTHZ_INTERFACE_CLSID, "AZ_PROP_APPLICATION_AUTHZ_INTERFACE_CLSID" AzPrintAttr Lvl, Obj, AZ_PROP_APPLICATION_VERSION, "AZ_PROP_APPLICATION_VERSION" AzPrintAttr Lvl, Obj, AZ_PROP_GENERATE_AUDITS, "AZ_PROP_GENERATE_AUDITS" WScript.Echo "" End Sub
Sub AzPrintOp(Lvl, Obj) AzPrintCommon Lvl, "Operation", Obj AzPrintAttr Lvl, Obj, AZ_PROP_OPERATION_ID, "AZ_PROP_OPERATION_ID" WScript.Echo "" End Sub
Sub AzPrintTask(Lvl, Obj) Dim Ops, Tasks
AzPrintCommon Lvl, "Task", Obj AzPrintAttr Lvl, Obj, AZ_PROP_TASK_BIZRULE, "AZ_PROP_TASK_BIZRULE" AzPrintAttr Lvl, Obj, AZ_PROP_TASK_BIZRULE_LANGUAGE, "AZ_PROP_TASK_BIZRULE_LANGUAGE" AzPrintAttr Lvl, Obj, AZ_PROP_TASK_BIZRULE_IMPORTED_PATH, "AZ_PROP_TASK_BIZRULE_IMPORTED_PATH" AzPrintAttr Lvl, Obj, AZ_PROP_TASK_IS_ROLE_DEFINITION, "AZ_PROP_TASK_IS_ROLE_DEFINITION"
Ops = Obj.GetProperty(AZ_PROP_TASK_OPERATIONS, 0) For Each Op In Ops AzPrintItem Lvl, "OperationLink", Op Next
Tasks = Obj.GetProperty(AZ_PROP_TASK_TASKS, 0) For Each Task In Tasks AzPrintItem Lvl, "TaskLink", Task Next WScript.Echo "" End Sub
Sub AzPrintGroup(Lvl, Obj) Dim Mems, NonMems, AppMems, AppNonMems
AzPrintCommon Lvl, "Group", Obj AzPrintAttr Lvl, Obj, AZ_PROP_GROUP_TYPE, "AZ_PROP_GROUP_TYPE" AzPrintAttr Lvl, Obj, AZ_PROP_GROUP_LDAP_QUERY, "AZ_PROP_GROUP_LDAP_QUERY"
Mems = Obj.GetProperty(AZ_PROP_GROUP_MEMBERS, 0) For Each Mem In Mems AzPrintItem Lvl, "SidMember", Mem Next
NonMems = Obj.GetProperty(AZ_PROP_GROUP_NON_MEMBERS, 0) For Each Mem In NonMems AzPrintItem Lvl, "SidNonMember", Mem Next
AppMems = Obj.GetProperty(AZ_PROP_GROUP_APP_MEMBERS, 0) For Each Mem In AppMems AzPrintItem Lvl, "AppMemberLink", Mem Next
AppNonMems = Obj.GetProperty(AZ_PROP_GROUP_APP_NON_MEMBERS, 0) For Each Mem In AppNonMems AzPrintItem Lvl, "AppNonMemberLink", Mem Next
WScript.Echo "" End Sub
Sub AzPrintScope(Lvl, Obj) AzPrintCommon Lvl, "Scope", Obj WScript.Echo "" End Sub
Sub AzPrintRole(Lvl, Obj) Dim Mems, SidMems, Ops, Tasks
AzPrintCommon Lvl, "Role", Obj
Ops = Obj.GetProperty(AZ_PROP_ROLE_OPERATIONS, 0) For Each Op In Ops AzPrintItem Lvl, "OperationLink", Op Next
Tasks = Obj.GetProperty(AZ_PROP_ROLE_TASKS, 0) For Each Task In Tasks AzPrintItem Lvl, "TaskLink", Task Next
SidMems = Obj.GetProperty(AZ_PROP_ROLE_MEMBERS, 0) For Each Mem In SidMems AzPrintItem Lvl, "SidMember", Mem Next
Mems = Obj.GetProperty(AZ_PROP_ROLE_APP_MEMBERS, 0) For Each Mem In Mems AzPrintItem Lvl, "AppMemberLink", Mem Next
WScript.Echo "" End Sub
Sub AzPrintPolicy(Admin)
AzPrintAdmin 0, Admin
' navigate whole tree Dim Apps, App Set Apps=Admin.Applications For Each App In Apps AzPrintApp 1, App
Dim Ops, Op Set Ops=App.Operations For Each Op In Ops AzPrintOp 2, Op Next
Dim Tks, Tk Set Tks=App.Tasks For Each Tk In Tks AzPrintTask 2, Tk Next
Dim Gps, Gp Set Gps=App.ApplicationGroups For Each Gp In Gps AzPrintGroup 2, Gp Next
Dim Rls, Rl Set Rls=App.Roles For Each Rl In Rls AzPrintRole 2, Rl Next
Dim Scs, Sc Set Scs=App.Scopes For Each Sc In Scs AzPrintScope 2, Sc
Dim STks, STk Set STks=Sc.Tasks For Each STk In STks AzPrintTask 3, STk Next
Dim SGps, SGp Set SGps=Sc.ApplicationGroups For Each SGp In SGps AzPrintGroup 3, SGp Next
Dim SRls, SRl Set SRls=Sc.Roles For Each SRl In SRls AzPrintRole 3, SRl Next
Set STks=Nothing Set SGps=Nothing Set SRls=Nothing Next
Set Ops=Nothing Set Tks=Nothing Set Gps=Nothing Set Rls=Nothing Set Scs=Nothing
Next
Dim Groups, Group Set Groups=Admin.ApplicationGroups For Each Group In Groups AzPrintGroup 1, Group Next
Set Groups=Nothing Set Apps=Nothing
End Sub 'AzPrintPolicy
Sub AzPrintPolicyFile(localXmlFile)
Dim Admin
WScript.Echo "Store = " & localXmlFile Set Admin=CreateObject("AzRoles.AzAdminManager") Admin.Initialize 0, localXmlFile WScript.Echo ""
AzPrintPolicy Admin
Set Admin=Nothing
End Sub 'AzPrintPolicyFile
|