|
|
' 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"
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 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
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 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 AzPrintADPolicy(url)
Dim Admin
WScript.Echo "Store = " & url Set Admin=CreateObject("AzRoles.AzAdminManager") Admin.Initialize 0, url WScript.Echo "" WScript.Echo "Admin Initialized" AzPrintPolicy Admin
Set Admin=Nothing
End Sub 'AzPrintADPolicy
|