Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

263 lines
6.7 KiB

' 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