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.

2424 lines
74 KiB

  1. <job id="myTest">
  2. <reference object="AzRoles.AzAuthorizationStore"/>
  3. <script language="VBScript">
  4. 'global
  5. Dim fileUrl, testN, storeFlag, storeType, testCount
  6. fileUrl=""
  7. testN=1
  8. testCount=14
  9. storeFlag=AZ_AZSTORE_FLAG_CREATE 'default
  10. storeType=1 'default
  11. Prefix = Array("", " ", " ", " ")
  12. '---------------------------------------
  13. Sub PrintUsage
  14. WScript.Echo "Usage: teststores flags store FileUrl [#]"
  15. WScript.Echo " flags - 0 - Open"
  16. WScript.Echo " flags - 1 - Create"
  17. WScript.Echo " flags - 2 - Manage Mode only (no auditing)"
  18. WScript.Echo " flags - 4 - Perform batch update"
  19. WScript.Echo " flags - 8 - Auditing is critical. Will fail w/o SeAuditPrivilege"
  20. WScript.Echo " store - 1 for XML or 2 for AD."
  21. WScript.Echo " optional # is test number."
  22. WScript.Echo " total tests: " & testCount
  23. WScript.Echo " 1 - Print out an existing store"
  24. WScript.Echo " - Requires Open Flag"
  25. WScript.Echo " 2 - create normal az data with every attribute set"
  26. WScript.Echo " - Require Create Flag"
  27. WScript.Echo " 3 - test deleting linked objects"
  28. WScript.Echo " - Requires Create Flag"
  29. WScript.Echo " 4 - test refresh from abort"
  30. WScript.Echo " - Requires Create Flag"
  31. WScript.Echo " 5 - test misc."
  32. WScript.Echo " - Requires Create Flag"
  33. WScript.Echo " 6 - very simple test to check printable chars in Scope object names"
  34. WScript.Echo " - Requires Create Flag"
  35. WScript.Echo " 7 - test update cache"
  36. WScript.Echo " - Requires Create Flag"
  37. WScript.Echo " 8 - test linked properties"
  38. WScript.Echo " - Requires Create Flag"
  39. WScript.Echo " 9 - test update cache from XiangT"
  40. WScript.Echo " - Requires Create Flag"
  41. WScript.Echo " 10 - test creating a store, and add/delete admins/readers"
  42. WScript.Echo " - Requires Create Flag"
  43. WScript.Echo " 11 - test opening an existing store, and applying new ACLs"
  44. WScript.Echo " - Require Open Flag"
  45. WScript.Echo " 12 - Do some Access checks. LdapQueries need to be updated"
  46. WScript.Echo " when running this test to suit your current account"
  47. WScript.Echo " - Requires Create Flag"
  48. WScript.Echo " 13 - More access checks. Make sure there is no file called bob.xml"
  49. WScript.Echo " - Requires Create Flag"
  50. WScript.Echo " 14 - test the operation cache"
  51. WScript.Echo " - Requires Create Flag"
  52. WScript.Echo " 15 - test Script Engine timeout set to zero. If Task with Biz rule exists, should fail"
  53. WScript.Echo " - Requires Create Flag"
  54. WScript.Echo " 16 - test if scope can be delegatedif Scope-Task has BizRule. Should fail"
  55. WScript.Echo " - Requires Create Flag"
  56. WScript.Echo " 17 - test if Scope-Task can be given bizRule if Scope is delegated. Should Fail"
  57. WScript.Echo " - Requires Create Flag"
  58. WScript.Echo " 18 - test FPO suuport for Role and group objects"
  59. WScript.Echo " - Requires Create Flag"
  60. End Sub
  61. '---------------------------------------
  62. Function GetCommandArg
  63. If 4 <> WScript.Arguments.Count Then 'And 4 <> WScript.Arguments.Count Then
  64. PrintUsage
  65. GetCommandArg=False
  66. Else
  67. storeFlag = WScript.Arguments.Item(0)
  68. If ( WScript.Arguments.Item(1) > 2 ) Then
  69. PrintUsage
  70. GetCommandArg=False
  71. End If
  72. If ( WScript.Arguments.Item(1) = 2 ) Then
  73. storeType = 2
  74. End If
  75. fileUrl=WScript.Arguments.Item(2)
  76. testN = WScript.Arguments.Item(3)
  77. GetCommandArg=True
  78. End If
  79. End Function
  80. '---------------------------------------
  81. Sub AzPrintCommon(Level, ObjName, Obj)
  82. If 0=Level Then
  83. 'level 0 has no name
  84. WScript.Echo Prefix(Level) & ObjName & "(Description=" & Obj.Description & ")"
  85. Else
  86. WScript.Echo Prefix(Level) & ObjName & "(Name=" & Obj.Name & ", Description=" & Obj.Description & ")"
  87. End If
  88. End Sub
  89. '---------------------------------------
  90. Sub AzPrintAttr(Level, Obj, PId, PName)
  91. WScript.Echo Prefix(Level) & " @ " & PName & "=" & Obj.GetProperty(PId, 0)
  92. End Sub
  93. '---------------------------------------
  94. Sub AzPrintItem(Level, Name, Item)
  95. WScript.Echo Prefix(Level) & " / " & Name & "=" & Item
  96. End Sub
  97. '---------------------------------------
  98. Sub AzPrintAuthStore(Lvl, Obj)
  99. Dim Writers, Readers, DelegatedUsers, U
  100. AzPrintCommon Lvl, "AuthorizationStore", Obj
  101. AzPrintAttr Lvl, Obj, AZ_PROP_AZSTORE_DOMAIN_TIMEOUT, "AZ_PROP_ADMIN_DOMAIN_TIMEOUT"
  102. AzPrintAttr Lvl, Obj, AZ_PROP_AZSTORE_SCRIPT_ENGINE_TIMEOUT, "AZ_PROP_ADMIN_SCRIPT_ENGINE_TIMEOUT"
  103. AzPrintAttr Lvl, Obj, AZ_PROP_AZSTORE_MAX_SCRIPT_ENGINES, "AZ_PROP_ADMIN_MAX_SCRIPT_ENGINES"
  104. AzPrintAttr Lvl, obj, AZ_PROP_APPLICATION_DATA, "AZ_PROP_APPLICATION_DATA"
  105. AzPrintAttr Lvl, Obj, AZ_PROP_GENERATE_AUDITS, "AZ_PROP_GENERATE_AUDITS"
  106. Writers = Obj.PolicyAdministrators
  107. For Each U In Writers
  108. AzPrintItem Lvl, "PolicyAdministrator", U
  109. Next
  110. Readers = Obj.PolicyReaders
  111. For Each U In Readers
  112. AzPrintItem Lvl, "PolicyReader", U
  113. Next
  114. if storeType=2 Then
  115. DelegatedUsers = Obj.DelegatedPolicyUsers
  116. For Each U In DelegatedUsers
  117. AzPrintItem Lvl, "DelegatedPolicyUser", U
  118. Next
  119. end if
  120. WScript.Echo ""
  121. End Sub
  122. '---------------------------------------
  123. Sub AzPrintApp(Lvl, Obj)
  124. Dim Writers, Readers, DelegatedUsers, U
  125. AzPrintCommon Lvl, "Application", Obj
  126. AzPrintAttr Lvl, Obj, AZ_PROP_APPLICATION_AUTHZ_INTERFACE_CLSID, "AZ_PROP_APPLICATION_AUTHZ_INTERFACE_CLSID"
  127. AzPrintAttr Lvl, Obj, AZ_PROP_APPLICATION_VERSION, "AZ_PROP_APPLICATION_VERSION"
  128. AzPrintAttr Lvl, obj, AZ_PROP_APPLICATION_DATA, "AZ_PROP_APPLICATION_DATA"
  129. AzPrintAttr Lvl, Obj, AZ_PROP_GENERATE_AUDITS, "AZ_PROP_GENERATE_AUDITS"
  130. if storeType=2 Then
  131. Writers = Obj.PolicyAdministrators
  132. For Each U In Writers
  133. AzPrintItem Lvl, "PolicyAdministrator", U
  134. Next
  135. Readers = Obj.PolicyReaders
  136. For Each U In Readers
  137. AzPrintItem Lvl, "PolicyReader", U
  138. Next
  139. DelegatedUsers = Obj.DelegatedPolicyUsers
  140. For Each U In DelegatedUsers
  141. AzPrintItem Lvl, "DelegatedPolicyUser", U
  142. Next
  143. end if
  144. WScript.Echo ""
  145. End Sub
  146. '---------------------------------------
  147. Sub AzPrintOp(Lvl, Obj)
  148. AzPrintCommon Lvl, "Operation", Obj
  149. AzPrintAttr Lvl, Obj, AZ_PROP_OPERATION_ID, "AZ_PROP_OPERATION_ID"
  150. AzPrintAttr Lvl, obj, AZ_PROP_APPLICATION_DATA, "AZ_PROP_APPLICATION_DATA"
  151. WScript.Echo ""
  152. End Sub
  153. '---------------------------------------
  154. Sub AzPrintTask(Lvl, Obj)
  155. Dim Ops, Tasks
  156. AzPrintCommon Lvl, "Task", Obj
  157. AzPrintAttr Lvl, Obj, AZ_PROP_TASK_BIZRULE, "AZ_PROP_TASK_BIZRULE"
  158. AzPrintAttr Lvl, Obj, AZ_PROP_TASK_BIZRULE_LANGUAGE, "AZ_PROP_TASK_BIZRULE_LANGUAGE"
  159. AzPrintAttr Lvl, Obj, AZ_PROP_TASK_BIZRULE_IMPORTED_PATH, "AZ_PROP_TASK_BIZRULE_IMPORTED_PATH"
  160. AzPrintAttr Lvl, Obj, AZ_PROP_TASK_IS_ROLE_DEFINITION, "AZ_PROP_TASK_IS_ROLE_DEFINITION"
  161. AzPrintAttr Lvl, obj, AZ_PROP_APPLICATION_DATA, "AZ_PROP_APPLICATION_DATA"
  162. Ops = Obj.GetProperty(AZ_PROP_TASK_OPERATIONS, 0)
  163. For Each Op In Ops
  164. AzPrintItem Lvl, "OperationLink", Op
  165. Next
  166. Tasks = Obj.GetProperty(AZ_PROP_TASK_TASKS, 0)
  167. For Each Task In Tasks
  168. AzPrintItem Lvl, "TaskLink", Task
  169. Next
  170. WScript.Echo ""
  171. End Sub
  172. '---------------------------------------
  173. Sub AzPrintGroup(Lvl, Obj)
  174. Dim Mems, NonMems, AppMems, AppNonMems
  175. AzPrintCommon Lvl, "Group", Obj
  176. AzPrintAttr Lvl, Obj, AZ_PROP_GROUP_TYPE, "AZ_PROP_GROUP_TYPE"
  177. AzPrintAttr Lvl, Obj, AZ_PROP_GROUP_LDAP_QUERY, "AZ_PROP_GROUP_LDAP_QUERY"
  178. Mems = Obj.GetProperty(AZ_PROP_GROUP_MEMBERS, 0)
  179. For Each Mem In Mems
  180. AzPrintItem Lvl, "SidMember", Mem
  181. Next
  182. NonMems = Obj.GetProperty(AZ_PROP_GROUP_NON_MEMBERS, 0)
  183. For Each Mem In NonMems
  184. AzPrintItem Lvl, "SidNonMember", Mem
  185. Next
  186. AppMems = Obj.GetProperty(AZ_PROP_GROUP_APP_MEMBERS, 0)
  187. For Each Mem In AppMems
  188. AzPrintItem Lvl, "AppMemberLink", Mem
  189. Next
  190. AppNonMems = Obj.GetProperty(AZ_PROP_GROUP_APP_NON_MEMBERS, 0)
  191. For Each Mem In AppNonMems
  192. AzPrintItem Lvl, "AppNonMemberLink", Mem
  193. Next
  194. WScript.Echo ""
  195. End Sub
  196. '---------------------------------------
  197. Sub AzPrintScope(Lvl, Obj)
  198. Dim Writers, Readers, U
  199. AzPrintCommon Lvl, "Scope", Obj
  200. AzPrintAttr Lvl, obj, AZ_PROP_APPLICATION_DATA, "AZ_PROP_APPLICATION_DATA"
  201. if storeType=2 Then
  202. Writers = Obj.PolicyAdministrators
  203. For Each U In Writers
  204. AzPrintItem Lvl, "PolicyAdministrator", U
  205. Next
  206. Readers = Obj.PolicyReaders
  207. For Each U In Readers
  208. AzPrintItem Lvl, "PolicyReader", U
  209. Next
  210. end if
  211. WScript.Echo ""
  212. End Sub
  213. '---------------------------------------
  214. Sub AzPrintRole(Lvl, Obj)
  215. Dim Mems, SidMems, Ops, Tasks
  216. AzPrintCommon Lvl, "Role", Obj
  217. AzPrintAttr Lvl, obj, AZ_PROP_APPLICATION_DATA, "AZ_PROP_APPLICATION_DATA"
  218. Ops = Obj.GetProperty(AZ_PROP_ROLE_OPERATIONS, 0)
  219. For Each Op In Ops
  220. AzPrintItem Lvl, "OperationLink", Op
  221. Next
  222. Tasks = Obj.GetProperty(AZ_PROP_ROLE_TASKS, 0)
  223. For Each Task In Tasks
  224. AzPrintItem Lvl, "TaskLink", Task
  225. Next
  226. SidMems = Obj.GetProperty(AZ_PROP_ROLE_MEMBERS, 0)
  227. For Each Mem In SidMems
  228. AzPrintItem Lvl, "SidMember", Mem
  229. Next
  230. Mems = Obj.GetProperty(AZ_PROP_ROLE_APP_MEMBERS, 0)
  231. For Each Mem In Mems
  232. AzPrintItem Lvl, "AppMemberLink", Mem
  233. Next
  234. WScript.Echo ""
  235. End Sub
  236. '---------------------------------------
  237. Sub AzPrintPolicy(AuthStore)
  238. AzPrintAuthStore 0, AuthStore
  239. ' navigate whole tree
  240. Dim Apps, App, AppIndex, AppName, Scope
  241. Set Apps=AuthStore.Applications
  242. For Each App In Apps
  243. 'Set App=AuthStore.OpenApplication( AppIndex.Name, 0)
  244. AzPrintApp 1, App
  245. Dim Ops, Op
  246. Set Ops=App.Operations
  247. For Each Op In Ops
  248. AzPrintOp 2, Op
  249. Next
  250. Dim Tks, Tk
  251. Set Tks=App.Tasks
  252. For Each Tk In Tks
  253. AzPrintTask 2, Tk
  254. Next
  255. Dim Gps, Gp
  256. Set Gps=App.ApplicationGroups
  257. For Each Gp In Gps
  258. AzPrintGroup 2, Gp
  259. Next
  260. Dim Rls, Rl
  261. Set Rls=App.Roles
  262. For Each Rl In Rls
  263. AzPrintRole 2, Rl
  264. Next
  265. Dim Scs, Sc
  266. Set Scs=App.Scopes
  267. For Each Scope In Scs
  268. Set Sc=App.OpenScope(Scope.Name, 0)
  269. AzPrintScope 2, Sc
  270. Dim STks, STk
  271. Set STks=Sc.Tasks
  272. For Each STk In STks
  273. AzPrintTask 3, STk
  274. Next
  275. Dim SGps, SGp
  276. Set SGps=Sc.ApplicationGroups
  277. For Each SGp In SGps
  278. AzPrintGroup 3, SGp
  279. Next
  280. Dim SRls, SRl
  281. Set SRls=Sc.Roles
  282. For Each SRl In SRls
  283. AzPrintRole 3, SRl
  284. Next
  285. Set STks=Nothing
  286. Set SGps=Nothing
  287. Set SRls=Nothing
  288. Next
  289. Set Ops=Nothing
  290. Set Tks=Nothing
  291. Set Gps=Nothing
  292. Set Rls=Nothing
  293. Set Scs=Nothing
  294. Next
  295. Dim Groups, Group
  296. Set Groups=AuthStore.ApplicationGroups
  297. For Each Group In Groups
  298. AzPrintGroup 1, Group
  299. Next
  300. Set Groups=Nothing
  301. Set Apps=Nothing
  302. End Sub 'AzPrintPolicy
  303. '---------------------------------------
  304. Sub AzPrintPolicyStore(flags, url)
  305. Dim Admin
  306. WScript.Echo "Store = " & url
  307. Set Admin=CreateObject("AzRoles.AzAuthorizationStore")
  308. Admin.Initialize flags, url
  309. AzPrintPolicy Admin
  310. Set Admin=Nothing
  311. End Sub 'AzPrintPolicyStore
  312. '---------------------------------------
  313. Sub DeleteAFile(filespec)
  314. Dim fso
  315. Set fso = CreateObject("Scripting.FileSystemObject")
  316. fso.DeleteFile(filespec)
  317. End Sub
  318. '---------------------------------------
  319. Sub Test20
  320. Dim Admin
  321. WScript.Echo "Creating Admin..."
  322. Set Admin=CreateObject("AzRoles.AzAuthorizationStore")
  323. Admin.Initialize storeFlag, fileUrl
  324. Admin.Submit
  325. 'u1 as policy admin
  326. Admin.AddPropertyItem AZ_PROP_POLICY_ADMINS_NAME, "u1"
  327. If storeType=2 Then
  328. 'd1 as delegated user
  329. Admin.AddPropertyItem AZ_PROP_DELEGATED_POLICY_USERS_NAME, "d1"
  330. End If
  331. 'r1 as reader
  332. Admin.AddPropertyItem AZ_PROP_POLICY_READERS_NAME, "r1"
  333. Admin.Submit
  334. WScript.Echo "Creating Application 1..."
  335. Dim App1
  336. Set App1=Admin.CreateApplication("App1,CN=something", 0)
  337. App1.SetProperty AZ_PROP_DESCRIPTION, "App1 description"
  338. If storeType=2 Then
  339. 'd1 as delegated user
  340. App1.AddPropertyItem AZ_PROP_DELEGATED_POLICY_USERS_NAME, "d1"
  341. End If
  342. App1.Submit
  343. WScript.Echo "Creating Application1-Scope1..."
  344. Dim Scope1
  345. Set Scope1=App1.CreateScope("Scope1", 0)
  346. Scope1.Description="Scope1 description"
  347. Scope1.Submit
  348. WScript.Echo "Creating Application1-Scope1-Tasks..."
  349. Dim Task3
  350. Set Task3=Scope1.CreateTask("Task3", 0)
  351. Task3.BizRuleLanguage="VBScript"
  352. Task3.BizRule = "AzBizRuleContext.BusinessRuleResult=TRUE"
  353. Task3.Submit
  354. WScript.Echo "Add delegated admin to scope"
  355. If storeType=2 Then
  356. 'd1 as administrator
  357. Scope1.AddPropertyItem AZ_PROP_POLICY_ADMINS_NAME, "d1"
  358. End If
  359. Scope1.Submit
  360. WScript.Echo "done"
  361. End Sub 'Test20
  362. '---------------------------------------
  363. Sub Test19
  364. Dim pAdminManager
  365. Dim pAdminManager1
  366. Set pAdminManager=CreateObject("AzRoles.AzAuthorizationStore")
  367. pAdminManager.Initialize storeFlag, fileUrl
  368. Set pAdminManager1=CreateObject("AzRoles.AzAuthorizationStore")
  369. pAdminManager1.Initialize storeFlag, fileUrl
  370. Dim AppHandle1
  371. Dim OpHandle1
  372. Dim AppHandle2
  373. Dim OpHandle2
  374. Set AppHandle2=pAdminManager1.OpenApplication("App1", 0)
  375. WScript.Echo "******************************************************************************"
  376. Wscript.Echo "Delete 1st instance"
  377. pAdminManager.Delete
  378. WScript.Echo "******************************************************************************"
  379. WScript.Echo "Print 2nd instance"
  380. AzPrintPolicy pAdminManager1
  381. WScript.Echo "******************************************************************************"
  382. WScript.Echo "Update 2nd instance"
  383. pAdminManager1.UpdateCache
  384. WScript.Echo "******************************************************************************"
  385. WScript.Echo "Print 2nd instance"
  386. AzPrintPolicy pAdminManager1
  387. WScript.Echo "Done"
  388. End Sub 'Test19
  389. '---------------------------------------
  390. Sub Test18
  391. Dim Admin
  392. WScript.Echo "Creating Admin..."
  393. Set Admin=CreateObject("AzRoles.AzAuthorizationStore")
  394. Admin.Initialize storeFlag, fileUrl
  395. Admin.Submit
  396. WScript.Echo "Creating Application 1..."
  397. Dim App1
  398. Set App1=Admin.CreateApplication("App1", 0)
  399. App1.Submit
  400. WScript.Echo "Creating Application1-Groups..."
  401. Dim Group1
  402. Set Group1=App1.CreateApplicationGroup("Group1", 0)
  403. Group1.SetProperty AZ_PROP_GROUP_TYPE, 1
  404. Group1.SetProperty AZ_PROP_GROUP_LDAP_QUERY, "Query 1"
  405. Group1.Submit
  406. Dim Group2
  407. Set Group2=App1.CreateApplicationGroup("Group2", 0)
  408. Group2.Submit
  409. Dim Group3
  410. Set Group3=App1.CreateApplicationGroup("Group3", 0)
  411. Group3.AddPropertyItem AZ_PROP_GROUP_MEMBERS, "S-1-1000-1"
  412. Group3.AddPropertyItem AZ_PROP_GROUP_MEMBERS, "S-1-1000-2"
  413. Group3.AddPropertyItem AZ_PROP_GROUP_NON_MEMBERS, "S-1-1000-3"
  414. Group3.AddPropertyItem AZ_PROP_GROUP_NON_MEMBERS, "S-1-1000-4"
  415. Group3.AddPropertyItem AZ_PROP_GROUP_APP_MEMBERS, "Group1"
  416. Group3.AddPropertyItem AZ_PROP_GROUP_APP_MEMBERS, "Group2"
  417. Group3.Description="Group3 description"
  418. Group3.Submit
  419. WScript.Echo "Creating Application1-Role..."
  420. Dim Role1
  421. Set Role1=App1.CreateRole("Role1", 0)
  422. Role1.AddPropertyItem AZ_PROP_ROLE_MEMBERS, "S-1-5-21-1645522239-507921405-1060284298-3963"
  423. Role1.AddPropertyItem AZ_PROP_ROLE_MEMBERS, "S-1-5-21-1645522239-507921405-1060284298-1372"
  424. Role1.AddPropertyItem AZ_PROP_ROLE_MEMBERS, "S-1-1000-1"
  425. Role1.AddPropertyItem AZ_PROP_ROLE_MEMBERS, "S-1-1000-2"
  426. Role1.AddPropertyItem AZ_PROP_ROLE_APP_MEMBERS, "Group3"
  427. Role1.AddPropertyItem AZ_PROP_ROLE_APP_MEMBERS, "Group2"
  428. Role1.Submit
  429. AzPrintPolicyStore (storeFlag-1), fileUrl
  430. WScript.Echo "Done"
  431. End Sub 'Test18
  432. '---------------------------------------
  433. Sub Test17
  434. Dim pAdminManager
  435. Set pAdminManager=CreateObject("AzRoles.AzAuthorizationStore")
  436. pAdminManager.Initialize storeFlag, fileUrl
  437. If storeType=2 Then
  438. 'd1 as policy user administrator
  439. pAdminManager.AddPropertyItem AZ_PROP_DELEGATED_POLICY_USERS_NAME, "d1"
  440. End If
  441. pAdminManager.Submit
  442. Dim AppHandle1
  443. Set AppHandle1=pAdminManager.CreateApplication("MyApp", 0)
  444. If storeType=2 Then
  445. 'd1 as policy user administrator
  446. AppHandle1.AddPropertyItem AZ_PROP_DELEGATED_POLICY_USERS_NAME, "d1"
  447. End If
  448. AppHandle1.Submit
  449. Dim TaskHandle1
  450. Set TaskHandle1=AppHandle1.CreateTask("Task1", 0)
  451. TaskHandle1.BizRuleLanguage="VBScript"
  452. TaskHandle1.SetProperty 301, CSTR("Dim Amount" & vbCr & "Amount = AzBizRuleContext.GetParameter( " & Chr(34) & "ExpAmount" & Chr(34) & ")" & vbCr & "if Amount < 500 then AzBizRuleContext.BusinessRuleResult = TRUE")
  453. TaskHandle1.Submit
  454. Dim ScopeHandle1
  455. Set ScopeHandle1=AppHandle1.CreateScope("Scope1", 0)
  456. If storeType=2 Then
  457. 'd1 as administrator
  458. ScopeHandle1.AddPropertyItem AZ_PROP_POLICY_ADMINS_NAME, "d1"
  459. End If
  460. ScopeHandle1.Submit
  461. Dim TaskHandle2
  462. Set TaskHandle2=ScopeHandle1.CreateTask("Task2", 0)
  463. TaskHandle2.BizRuleLanguage="VBScript"
  464. TaskHandle2.SetProperty 301, CSTR("Dim Amount" & vbCr & "Amount = AzBizRuleContext.GetParameter( " & Chr(34) & "ExpAmount" & Chr(34) & ")" & vbCr & "if Amount < 500 then AzBizRuleContext.BusinessRuleResult = TRUE")
  465. TaskHandle2.AddPropertyItem AZ_PROP_TASK_TASKS, "Task1"
  466. TaskHandle2.Submit
  467. Dim TaskHandle3
  468. Set TaskHandle3=ScopeHandle1.CreateTask("Task3", 0)
  469. TaskHandle3.AddPropertyItem AZ_PROP_TASK_TASKS, "Task1"
  470. TaskHandle3.Submit
  471. WScript.Echo "Done"
  472. End Sub 'Test17
  473. '---------------------------------------
  474. Sub Test16
  475. Dim pAdminManager
  476. Set pAdminManager=CreateObject("AzRoles.AzAuthorizationStore")
  477. pAdminManager.Initialize storeFlag, fileUrl
  478. If storeType=2 Then
  479. 'd1 as policy user administrator
  480. pAdminManager.AddPropertyItem AZ_PROP_DELEGATED_POLICY_USERS_NAME, "d1"
  481. End If
  482. pAdminManager.Submit
  483. Dim AppHandle1
  484. Set AppHandle1=pAdminManager.CreateApplication("MyApp", 0)
  485. If storeType=2 Then
  486. 'd1 as policy user administrator
  487. AppHandle1.AddPropertyItem AZ_PROP_DELEGATED_POLICY_USERS_NAME, "d1"
  488. End If
  489. AppHandle1.Submit
  490. Dim TaskHandle1
  491. Set TaskHandle1=AppHandle1.CreateTask("Task1", 0)
  492. TaskHandle1.BizRuleLanguage="VBScript"
  493. TaskHandle1.SetProperty 301, CSTR("Dim Amount" & vbCr & "Amount = AzBizRuleContext.GetParameter( " & Chr(34) & "ExpAmount" & Chr(34) & ")" & vbCr & "if Amount < 500 then AzBizRuleContext.BusinessRuleResult = TRUE")
  494. TaskHandle1.Submit
  495. Dim ScopeHandle1
  496. Set ScopeHandle1=AppHandle1.CreateScope("Scope1", 0)
  497. ScopeHandle1.Submit
  498. Dim TaskHandle2
  499. Set TaskHandle2=ScopeHandle1.CreateTask("Task2", 0)
  500. TaskHandle2.BizRuleLanguage="VBScript"
  501. TaskHandle2.SetProperty 301, CSTR("Dim Amount" & vbCr & "Amount = AzBizRuleContext.GetParameter( " & Chr(34) & "ExpAmount" & Chr(34) & ")" & vbCr & "if Amount < 500 then AzBizRuleContext.BusinessRuleResult = TRUE")
  502. TaskHandle2.AddPropertyItem AZ_PROP_TASK_TASKS, "Task1"
  503. TaskHandle2.Submit
  504. Dim TaskHandle3
  505. Set TaskHandle3=ScopeHandle1.CreateTask("Task3", 0)
  506. TaskHandle3.AddPropertyItem AZ_PROP_TASK_TASKS, "Task1"
  507. TaskHandle3.Submit
  508. If storeType=2 Then
  509. 'd1 as administrator
  510. ScopeHandle1.AddPropertyItem AZ_PROP_POLICY_ADMINS_NAME, "d1"
  511. End If
  512. ScopeHandle1.Submit
  513. WScript.Echo "Done"
  514. End Sub 'Test16
  515. '---------------------------------------
  516. Sub Test15
  517. Dim pAdminManager
  518. Set pAdminManager=CreateObject("AzRoles.AzAuthorizationStore")
  519. pAdminManager.Initialize storeFlag, fileUrl
  520. pAdminManager.SetProperty AZ_PROP_AZSTORE_SCRIPT_ENGINE_TIMEOUT, 0
  521. pAdminManager.Submit
  522. Dim AppHandle1
  523. Set AppHandle1=pAdminManager.CreateApplication("MyApp", 0)
  524. AppHandle1.Submit
  525. Dim OpHandle1
  526. Set OpHandle1=AppHandle1.CreateOperation("Op1", 0)
  527. OpHandle1.SetProperty AZ_PROP_OPERATION_ID, 55
  528. OpHandle1.Submit
  529. Dim TaskHandle1
  530. Set TaskHandle1=AppHandle1.CreateTask("Task1", 0)
  531. TaskHandle1.AddPropertyItem AZ_PROP_TASK_OPERATIONS, "Op1"
  532. TaskHandle1.Submit
  533. Dim TaskHandle2
  534. Set TaskHandle2=AppHandle1.CreateTask("Task2", 0)
  535. TaskHandle2.BizRuleLanguage="VBScript"
  536. TaskHandle2.SetProperty 301, CSTR("Dim Amount" & vbCr & "Amount = AzBizRuleContext.GetParameter( " & Chr(34) & "ExpAmount" & Chr(34) & ")" & vbCr & "if Amount < 500 then AzBizRuleContext.BusinessRuleResult = TRUE")
  537. TaskHandle2.AddPropertyItem AZ_PROP_TASK_TASKS, "Task1"
  538. TaskHandle2.Submit
  539. Dim RoleHandle1
  540. Set RoleHandle1=AppHandle1.CreateRole("Role1", 0)
  541. RoleHandle1.AddPropertyItem AZ_PROP_ROLE_TASKS, "Task2"
  542. RoleHandle1.AddPropertyItem AZ_PROP_ROLE_MEMBERS, "S-1-1-0"
  543. RoleHandle1.Submit
  544. Dim ScopeHandle1
  545. Set ScopeHandle1=AppHandle1.CreateScope("Scope1", 0)
  546. ScopeHandle1.Submit
  547. Dim TaskHandle3
  548. Set TaskHandle3=AppHandle1.CreateTask("Task3", 0)
  549. TaskHandle3.AddPropertyItem AZ_PROP_TASK_OPERATIONS, "Op1"
  550. TaskHandle3.AddPropertyItem AZ_PROP_TASK_TASKS, "Task1"
  551. TaskHandle3.Submit
  552. Set TaskHandle3=ScopeHandle1.CreateTask("Scope-Task", 0)
  553. TaskHandle3.Submit
  554. Set RoleHandle1=ScopeHandle1.CreateRole("Scope-Role", 0)
  555. RoleHandle1.AddPropertyItem AZ_PROP_ROLE_TASKS, "Scope-Task"
  556. RoleHandle1.Submit
  557. Set pAdminManager=Nothing
  558. Set pAdminManager=CreateObject("AzRoles.AzAuthorizationStore")
  559. pAdminManager.Initialize (storeFlag-1), fileUrl
  560. '--------------- Create Client Context --------------
  561. Dim CCHandle
  562. Dim Results
  563. Dim Names(5)
  564. Dim Values(5)
  565. Dim Scopes(5)
  566. Dim Operations(10)
  567. Set AppHandle1=pAdminManager.OpenApplication("MyApp", 0)
  568. Set CCHandle = AppHandle1.InitializeClientContextFromToken(0, 0)
  569. '--------------- Do access check --------------------
  570. 'Setup biz rule params. To optomize performance names/value pairs must be
  571. 'placed in Array alphabitically
  572. Names(0) = "ExpAmount"
  573. Values(0) = 465
  574. Names(1) = "Param2 for BizRule - Name"
  575. Values(1) = "Param2 for BizRule - value"
  576. Scopes(0) = "Scope1"
  577. Operations(0) = 55
  578. '-------- AccessCheck -----------------------------------------
  579. Results = CCHandle.AccessCheck("Submit", Scopes, Operations, Names, Values)
  580. If Results(0) = 5 Then
  581. MsgBox("Broken!!")
  582. Else
  583. MsgBox("OK!!")
  584. End If
  585. WScript.Echo "Done"
  586. End Sub 'Test15
  587. '---------------------------------------
  588. Sub Test14
  589. 'Rem To really verify correctness, set the AZDBG environment variable to 202ff then
  590. 'Rem set Verbose to 1 and follow the instructions
  591. Dim Verbose
  592. Verbose = 0
  593. Dim pAdminManager
  594. Set pAdminManager=CreateObject("AzRoles.AzAuthorizationStore")
  595. pAdminManager.Initialize storeFlag, fileurl
  596. pAdminManager.Submit
  597. Dim AppHandle1
  598. Set AppHandle1=pAdminManager.CreateApplication("MyApp", 0)
  599. AppHandle1.Submit
  600. Dim OpHandle1
  601. Set OpHandle1=AppHandle1.CreateOperation("Op1", 0)
  602. OpHandle1.Submit
  603. OpHandle1.OperationId = 61
  604. OpHandle1.Submit
  605. Dim OpHandle2
  606. Set OpHandle2=AppHandle1.CreateOperation("Op2", 0)
  607. OpHandle2.Submit
  608. OpHandle2.OperationId = 62
  609. OpHandle2.Submit
  610. Dim GroupHandleA
  611. Set GroupHandleA=AppHandle1.CreateApplicationGroup("GroupWorld", 0)
  612. GroupHandleA.Type = 2
  613. GroupHandleA.AddMember "s-1-1-0"
  614. GroupHandleA.Submit
  615. Dim TaskHandle1
  616. Set TaskHandle1=AppHandle1.CreateTask("TaskOp1", 0)
  617. TaskHandle1.AddOperation "Op1"
  618. TaskHandle1.BizRuleLanguage = "VBScript"
  619. Dim BizRule
  620. BizRule = "Dim Amount" & vbCr
  621. BizRule = BizRule & "Amount = AzBizRuleContext.GetParameter( " & Chr(34) & "Amount" & Chr(34) & ")" & vbCr
  622. BizRule = BizRule & "if Amount < 500 then AzBizRuleContext.BusinessRuleResult = TRUE"
  623. TaskHandle1.BizRule = BizRule
  624. TaskHandle1.Submit
  625. Dim TaskHandle2
  626. Set TaskHandle2=AppHandle1.CreateTask("TaskOp2", 0)
  627. TaskHandle2.AddOperation "Op2"
  628. TaskHandle2.BizRuleLanguage = "VBScript"
  629. BizRule = "Dim Item" & vbCr
  630. BizRule = BizRule & "Item = AzBizRuleContext.GetParameter( " & Chr(34) & "ItemNo" & Chr(34) & ")" & vbCr
  631. BizRule = BizRule & "if Item < 500 then AzBizRuleContext.BusinessRuleResult = TRUE"
  632. TaskHandle2.BizRule = BizRule
  633. TaskHandle2.Submit
  634. Set ScopeHandle1=AppHandle1.CreateScope("MyScopeQ1", 0)
  635. ScopeHandle1.Submit
  636. Set RoleHandleA=ScopeHandle1.CreateRole("RoleLdapCanOp1", 0)
  637. RoleHandleA.AddAppMember "GroupWorld"
  638. RoleHandleA.AddTask "TaskOp1"
  639. RoleHandleA.AddTask "TaskOp2"
  640. Dim Results
  641. Dim Names(50)
  642. Dim Values(50)
  643. Dim Scopes(5)
  644. Dim Operations(10)
  645. Names(0) = "ALL_HTTP"
  646. Values(0) = "HTTP_CONNECTION:Keep-Alive HTTP_ACCEPT:*/* HTTP_ACCEPT_ENCODING:gzip, deflate HTTP_ACCEPT_LANGUAGE:en-us HTTP_HOST:localhost HTTP_USER_AGENT:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3215; .NET CLR 1.0.3415)"
  647. Names(1) = "ALL_RAW"
  648. Values(1) = "Connection: Keep-Alive Accept: */* Accept-Encoding: gzip, deflate Accept-Language: en-us Host: localhost User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3215; .NET CLR 1.0.3415)"
  649. Names(2) = "Amount"
  650. Values(2) = 50
  651. Names(3) = "HTTP_USER_AGENT"
  652. Values(3) = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3215; .NET CLR 1.0.3415)"
  653. Names(4) = "ItemNo"
  654. Values(4) = 53
  655. Names(5) = "V4"
  656. Values(5) = 52
  657. Names(6) = "V7"
  658. Values(6) = 501
  659. Names(7) = "V8"
  660. Values(7) = 500
  661. Scopes(0) = "MyScopeQ1"
  662. Operations(0) = 61
  663. Dim CCHandle
  664. Set CCHandle=AppHandle1.InitializeClientContextFromToken(0, 0)
  665. WScript.Echo "...................."
  666. Results=CCHandle.AccessCheck("MyObject", Scopes, Operations, Names, Values )
  667. If Results(0) = 5 Then
  668. MsgBox("Broken 1")
  669. End if
  670. If Verbose Then MsgBox("Check to ensure the operation cache was primed")
  671. 'rem Next one should come from the cache
  672. WScript.Echo "...................."
  673. Results=CCHandle.AccessCheck("MyObject", Scopes, Operations, Names, Values )
  674. If Results(0) = 5 Then
  675. MsgBox("Broken 2")
  676. End if
  677. If Verbose Then MsgBox("Check to ensure the operation cache was used")
  678. 'rem Avoid the cache if the amount changes
  679. WScript.Echo "...................."
  680. Values(2) = 51
  681. Results=CCHandle.AccessCheck("MyObject", Scopes, Operations, Names, Values )
  682. If Results(0) = 5 Then
  683. MsgBox("Broken 3")
  684. End if
  685. If Verbose Then MsgBox("Check to ensure the operation cache wasn't used")
  686. 'rem Check to ensure we can add an item to an existing cache
  687. WScript.Echo "...................."
  688. Operations(0) = 62
  689. Results=CCHandle.AccessCheck("MyObject", Scopes, Operations, Names, Values )
  690. If Results(0) = 5 Then
  691. MsgBox("Broken 3a")
  692. End if
  693. If Verbose Then MsgBox("Check if ItemNo was added to existing cache")
  694. 'rem Ensure that didn't flush the "Amount" Cache for Op1
  695. WScript.Echo "...................."
  696. Operations(0) = 61
  697. Results=CCHandle.AccessCheck("MyObject", Scopes, Operations, Names, Values )
  698. If Results(0) = 5 Then
  699. MsgBox("Broken 3b")
  700. End if
  701. If Verbose Then MsgBox("Check if cache used for Op1")
  702. 'rem Test with duplicate operations from the cache
  703. WScript.Echo "...................."
  704. Operations(0) = 61
  705. Operations(1) = 62
  706. Operations(2) = 61
  707. Results=CCHandle.AccessCheck("MyObject", Scopes, Operations, Names, Values )
  708. If Results(0) = 5 Or Results(1) = 5 Or Results(2) = 5 Then
  709. MsgBox("Broken 3c")
  710. End if
  711. If Verbose Then MsgBox("Check if cache used for Op1/Op2/Op1")
  712. 'rem Test with duplicate operations after flushing the cache
  713. TaskHandle2.BizRuleLanguage = "VBScript"
  714. WScript.Echo "...................."
  715. Operations(0) = 61
  716. Operations(1) = 62
  717. Operations(2) = 61
  718. Results=CCHandle.AccessCheck("MyObject", Scopes, Operations, Names, Values )
  719. If Results(0) = 5 Or Results(1) = 5 Or Results(2) = 5 Then
  720. MsgBox("Broken 3c")
  721. End if
  722. If Verbose Then MsgBox("Check if cache primed for Op1/Op2/Op1")
  723. Operations(1) = Empty
  724. Operations(2) = Empty
  725. 'rem build a different bizrule to test BizRuleStrings
  726. WScript.Echo "...................."
  727. BizRule = "AzBizRuleContext.BusinessRuleString =" & Chr(34) & "Bob" & Chr(34)
  728. TaskHandle1.BizRule = BizRule
  729. TaskHandle1.Submit
  730. 'rem this bizrule string fails and set a bizrule string
  731. Results=CCHandle.AccessCheck("MyObject", Scopes, Operations, Names, Values )
  732. If Results(0) = 5 Then
  733. If CCHandle.GetBusinessRuleString <> "Bob" Then
  734. MsgBox("Error 4: Should be 'Bob':" & CCHandle.GetBusinessRuleString )
  735. End If
  736. Else
  737. MsgBox("Broken 4")
  738. End if
  739. If Verbose Then MsgBox("Check that the op cache wasn't used for Op1")
  740. 'rem this one too but it comes from the cache
  741. WScript.Echo "...................."
  742. Results=CCHandle.AccessCheck("MyObject", Scopes, Operations, Names, Values )
  743. If Results(0) = 5 Then
  744. If CCHandle.GetBusinessRuleString <> "Bob" Then
  745. MsgBox("Error 4: Should be 'Bob':" & CCHandle.GetBusinessRuleString )
  746. End If
  747. Else
  748. MsgBox("Broken 5")
  749. End if
  750. If Verbose Then MsgBox("Check that the op cache was used for Op1")
  751. WScript.Echo "Done"
  752. End Sub 'Test14
  753. '---------------------------------------
  754. Sub Test13
  755. Dim pAdminManager
  756. Set pAdminManager=CreateObject("AzRoles.AzAuthorizationStore")
  757. pAdminManager.Initialize storeFlag, fileUrl
  758. pAdminManager.Submit
  759. WScript.Echo "Created AuthorizationStore"
  760. Dim AppHandle1
  761. Set AppHandle1=pAdminManager.CreateApplication("MyApp", 0)
  762. AppHandle1.Submit
  763. WScript.Echo "Created Application"
  764. Dim OpHandle1
  765. Set OpHandle1=AppHandle1.CreateOperation("Op1", 0)
  766. OpHandle1.Submit
  767. OpHandle1.OperationId = 61
  768. OpHandle1.Submit
  769. WScript.Echo "Created Operation"
  770. Dim GroupHandleA
  771. Set GroupHandleA=AppHandle1.CreateApplicationGroup("GroupWorld", 0)
  772. GroupHandleA.Type = 2
  773. GroupHandleA.AddMember "s-1-1-0"
  774. GroupHandleA.Submit
  775. WScript.Echo "Created Group"
  776. Dim TaskHandle1
  777. Set TaskHandle1=AppHandle1.CreateTask("TaskOp1", 0)
  778. TaskHandle1.AddOperation "Op1"
  779. TaskHandle1.BizRuleLanguage = "VBScript"
  780. TaskHandle1.Submit
  781. WScript.Echo "Created Task"
  782. Set ScopeHandle1=AppHandle1.CreateScope("MyScopeQ1", 0)
  783. ScopeHandle1.Submit
  784. WScript.Echo "Created Scope"
  785. Set RoleHandleA=ScopeHandle1.CreateRole("RoleLdapCanOp1", 0)
  786. RoleHandleA.AddAppMember "GroupWorld"
  787. RoleHandleA.AddTask "TaskOp1"
  788. Dim Results
  789. Dim Names(5)
  790. Dim Values(5)
  791. Dim Scopes(5)
  792. Dim Operations(10)
  793. Names(0) = "Amount"
  794. Values(0) = 50
  795. Names(1) = "Name"
  796. Values(1) = "Bob"
  797. Scopes(0) = "MyScopeQ1"
  798. Operations(0) = 61
  799. Dim IntNames(5)
  800. Dim IntFlags(5)
  801. Dim Interfaces(5)
  802. Dim pAdminManager2
  803. IntNames(0) = "Fred"
  804. IntFlags(0) = 0
  805. Set Interfaces(0)=CreateObject("AzRoles.AzAuthorizationStore")
  806. TaskHandle1.BizRule = "Fred.Initialize 1, " & Chr(34) & "msxml://bob.xml" & Chr(34) & vbCr & "AzBizRuleContext.BusinessRuleResult = TRUE"
  807. Dim CCHandle
  808. Set CCHandle=AppHandle1.InitializeClientContextFromToken(0, 0)
  809. Results=CCHandle.AccessCheck("MyObject", Scopes, Operations, Names, Values, IntNames, IntFlags, Interfaces )
  810. If Results(0) = 5 Then
  811. MsgBox("Broken 1")
  812. End if
  813. TaskHandle1.BizRule = "Fred.Submit" & vbCr & "AzBizRuleContext.BusinessRuleResult = TRUE"
  814. Results=CCHandle.AccessCheck("MyObject", Scopes, Operations, Names, Values, IntNames, IntFlags, Interfaces )
  815. If Results(0) = 5 Then
  816. MsgBox("Broken 2")
  817. End if
  818. IntNames(1) = "Bob"
  819. IntFlags(1) = 0
  820. Set Interfaces(1)=AppHandle1
  821. TaskHandle1.BizRule = "if Bob.Name = " & Chr(34) & "MyApp" & Chr(34) & "then AzBizRuleContext.BusinessRuleResult = TRUE"
  822. Results=CCHandle.AccessCheck("MyObject", Scopes, Operations, Names, Values, IntNames, IntFlags, Interfaces )
  823. If Results(0) = 5 Then
  824. MsgBox("Broken 3")
  825. End if
  826. TaskHandle1.BizRule = "if Bob.Name = " & Chr(34) & "MdyApp" & Chr(34) & "then AzBizRuleContext.BusinessRuleResult = TRUE"
  827. Results=CCHandle.AccessCheck("MyObject", Scopes, Operations, Names, Values, IntNames, IntFlags, Interfaces )
  828. If Results(0) <> 5 Then
  829. MsgBox("Broken 4")
  830. End if
  831. DeleteAFile("bob.xml")
  832. WScript.Echo "Done"
  833. End Sub 'Test13
  834. '---------------------------------------
  835. Sub Test12
  836. Dim pAdminManager
  837. Set pAdminManager=CreateObject("AzRoles.AzAuthorizationStore")
  838. pAdminManager.Initialize storeFlag, fileUrl
  839. pAdminManager.Submit
  840. Dim AppHandle1
  841. Set AppHandle1=pAdminManager.CreateApplication("MyApp", 0)
  842. AppHandle1.Submit
  843. Dim OpHandle1
  844. Set OpHandle1=AppHandle1.CreateOperation("Op1", 0)
  845. OpHandle1.Submit
  846. OpHandle1.SetProperty 200, CLng(61)
  847. OpHandle1.Submit
  848. Set OpHandle1=AppHandle1.CreateOperation("Op2", 0)
  849. OpHandle1.Submit
  850. OpHandle1.SetProperty 200, CLng(62)
  851. OpHandle1.Submit
  852. Set OpHandle1=AppHandle1.CreateOperation("Op3", 0)
  853. OpHandle1.Submit
  854. OpHandle1.SetProperty 200, CLng(63)
  855. OpHandle1.Submit
  856. Set OpHandle1=AppHandle1.CreateOperation("Op4", 0)
  857. OpHandle1.Submit
  858. OpHandle1.SetProperty 200, CLng(64)
  859. OpHandle1.Submit
  860. Dim GroupHandleA
  861. Set GroupHandleA=AppHandle1.CreateApplicationGroup("GroupWorld", 0)
  862. GroupHandleA.SetProperty 400, CLng(2)
  863. GroupHandleA.AddPropertyItem 404, CStr("s-1-1-0")
  864. GroupHandleA.Submit
  865. Set GroupHandleA=AppHandle1.CreateApplicationGroup("GroupNotAMember", 0)
  866. GroupHandleA.SetProperty 400, CLng(2)
  867. GroupHandleA.AddPropertyItem 404, CStr("S-1-1000-1")
  868. GroupHandleA.Submit
  869. Set GroupHandleA=AppHandle1.CreateApplicationGroup("GroupAppMember", 0)
  870. GroupHandleA.SetProperty 400, CLng(2)
  871. GroupHandleA.AddPropertyItem 401, CStr("GroupWorld")
  872. GroupHandleA.Submit
  873. Set GroupHandleA=AppHandle1.CreateApplicationGroup("GroupAppNonMember", 0)
  874. GroupHandleA.SetProperty 400, CLng(2)
  875. GroupHandleA.AddPropertyItem 401, CStr("GroupAppMember")
  876. GroupHandleA.AddPropertyItem 402, CStr("GroupNotAMember")
  877. GroupHandleA.Submit
  878. Set GroupHandleA=AppHandle1.CreateApplicationGroup("GroupAppReallyNonMember", 0)
  879. GroupHandleA.SetProperty 400, CLng(2)
  880. GroupHandleA.AddPropertyItem 401, CStr("GroupAppMember")
  881. GroupHandleA.AddPropertyItem 402, CStr("GroupWorld")
  882. GroupHandleA.Submit
  883. Set GroupHandleA=AppHandle1.CreateApplicationGroup("GroupLdapYes", 0)
  884. GroupHandleA.SetProperty 400, CLng(1)
  885. GroupHandleA.SetProperty 403, CStr("(userAccountControl=66048)")
  886. GroupHandleA.Submit
  887. Set GroupHandleA=AppHandle1.CreateApplicationGroup("GroupLdapNo", 0)
  888. GroupHandleA.SetProperty 400, CLng(1)
  889. GroupHandleA.SetProperty 403, CStr("(userAccountControl=66049)")
  890. GroupHandleA.Submit
  891. Dim ScopeHandle1
  892. Set ScopeHandle1=AppHandle1.CreateScope("MyScopeNoRoles", 0)
  893. ScopeHandle1.Submit
  894. Set ScopeHandle1=AppHandle1.CreateScope("MyScope", 0)
  895. ScopeHandle1.Submit
  896. Dim CCHandle
  897. Set CCHandle=AppHandle1.InitializeClientContextFromToken(0, 0)
  898. Dim RoleHandleA
  899. Set RoleHandleA=ScopeHandle1.CreateRole("RoleEveryoneCanOp1", 0)
  900. RoleHandleA.Submit
  901. Dim Groups
  902. RoleHandleA.AddPropertyItem 501, CStr("s-1-1-0")
  903. Groups = RoleHandleA.GetProperty( 501, 0 )
  904. 'rem MsgBox( Groups(0) )
  905. RoleHandleA.AddPropertyItem 502, CStr("Op1")
  906. Set RoleHandleA=ScopeHandle1.CreateRole("RoleGroupWorldCanOp2", 0)
  907. RoleHandleA.AddPropertyItem 500, CStr("GroupWorld")
  908. Groups = RoleHandleA.GetProperty( 500, 0 )
  909. 'rem MsgBox( Groups(0) )
  910. RoleHandleA.AddPropertyItem 502, CStr("Op2")
  911. Set RoleHandleA=ScopeHandle1.CreateRole("RoleGroupCantOp3", 0)
  912. RoleHandleA.AddPropertyItem 500, CStr("GroupNotAMember")
  913. RoleHandleA.AddPropertyItem 502, CStr("Op3")
  914. RoleHandleA.Submit
  915. Set ScopeHandle1=AppHandle1.CreateScope("MyScope2", 0)
  916. ScopeHandle1.Submit
  917. Set RoleHandleA=ScopeHandle1.CreateRole("Role2GroupWorldCanOp2", 0)
  918. RoleHandleA.AddPropertyItem 500, CStr("GroupWorld")
  919. RoleHandleA.AddPropertyItem 502, CStr("Op2")
  920. RoleHandleA.Submit
  921. Set RoleHandleA=ScopeHandle1.CreateRole("Role2aGroupWorldCanOp2", 0)
  922. RoleHandleA.AddPropertyItem 500, CStr("GroupWorld")
  923. RoleHandleA.AddPropertyItem 502, CStr("Op2")
  924. RoleHandleA.Submit
  925. Set RoleHandleA=ScopeHandle1.CreateRole("Role2GroupCantOp3", 0)
  926. RoleHandleA.AddPropertyItem 500, CStr("GroupNotAMember")
  927. RoleHandleA.AddPropertyItem 502, CStr("Op3")
  928. RoleHandleA.Submit
  929. Set RoleHandleA=ScopeHandle1.CreateRole("Role2GroupWorldCanOp3", 0)
  930. RoleHandleA.AddPropertyItem 500, CStr("GroupWorld")
  931. RoleHandleA.AddPropertyItem 502, CStr("Op3")
  932. RoleHandleA.Submit
  933. Set RoleHandleA=ScopeHandle1.CreateRole("Role2GroupWorldCanOp4", 0)
  934. RoleHandleA.AddPropertyItem 500, CStr("GroupWorld")
  935. RoleHandleA.AddPropertyItem 502, CStr("Op4")
  936. RoleHandleA.Submit
  937. Set RoleHandleA=ScopeHandle1.CreateRole("Role2GroupCantOp4", 0)
  938. RoleHandleA.AddPropertyItem 500, CStr("GroupNotAMember")
  939. RoleHandleA.AddPropertyItem 502, CStr("Op4")
  940. RoleHandleA.Submit
  941. Dim TaskHandle1
  942. Set TaskHandle1=AppHandle1.CreateTask("TaskOp1", 0)
  943. TaskHandle1.AddPropertyItem 300, CStr("Op1")
  944. TaskHandle1.SetProperty 302, CStr("VBScript")
  945. TaskHandle1.SetProperty 301, CStr("Dim Amount" & vbCr & "Amount = AzBizRuleContext.GetParameter( " & Chr(34) & "Amount" & Chr(34) & ")" & vbCr & "if Amount < 500 then AzBizRuleContext.BusinessRuleResult = TRUE")
  946. TaskHandle1.Submit
  947. Set ScopeHandle1=AppHandle1.CreateScope("MyScope6", 0)
  948. ScopeHandle1.Submit
  949. Set RoleHandleA=ScopeHandle1.CreateRole("RoleEveryoneCanOp1ViaTask1", 0)
  950. RoleHandleA.AddPropertyItem 501, CStr("s-1-1-0")
  951. RoleHandleA.AddPropertyItem 504, CStr("TaskOp1")
  952. Set ScopeHandle1=AppHandle1.CreateScope("MyScopeQ1", 0)
  953. ScopeHandle1.Submit
  954. Set RoleHandleA=ScopeHandle1.CreateRole("RoleLdapCanOp1", 0)
  955. RoleHandleA.AddPropertyItem 500, CStr("GroupLdapYes")
  956. RoleHandleA.AddPropertyItem 504, CStr("TaskOp1")
  957. Dim Results
  958. Dim Names(5)
  959. Dim Values(5)
  960. Dim Scopes(5)
  961. Dim Operations(10)
  962. Names(0) = "Amount"
  963. Values(0) = 50
  964. Names(1) = "Name"
  965. Values(1) = "Bob"
  966. Scopes(0) = "MyScopeQ1"
  967. Operations(0) = 61
  968. Results=CCHandle.AccessCheck("MyObject", Scopes, Operations, Names, Values )
  969. If Results(0) = 5 Then
  970. MsgBox("Broken 1")
  971. Else
  972. MsgBox("Is OK 1")
  973. End if
  974. TaskHandle1.SetProperty 301, CStr("AzBizRuleContext.BusinessRuleString = " & Chr(34) & "Fred" & Chr(34) & vbCr & "if AzBizRuleContext.BusinessRuleString = " & Chr(34) & "Fred" & Chr(34) & "then AzBizRuleContext.BusinessRuleResult = TRUE")
  975. Results=CCHandle.AccessCheck("MyObject", Scopes, Operations, Names, Values )
  976. If Results(0) = 5 Then
  977. MsgBox("Broken 2")
  978. Else
  979. MsgBox("Is OK 2")
  980. End if
  981. MsgBox( "Should be fred: " & CCHandle.GetBusinessRuleString )
  982. TaskHandle1.SetProperty 301, CStr("if AzBizRuleContext.BusinessRuleString = " & Chr(34) & Chr(34) & "then AzBizRuleContext.BusinessRuleResult = TRUE")
  983. Results=CCHandle.AccessCheck("MyObject", Scopes, Operations, Names, Values )
  984. If Results(0) = 5 Then
  985. MsgBox("Broken 3")
  986. Else
  987. MsgBox("Is OK 3")
  988. End if
  989. MsgBox( "Should be NULL: " & CCHandle.GetBusinessRuleString )
  990. WScript.Echo "Done"
  991. End Sub 'Test12
  992. '---------------------------------------
  993. Sub Test11
  994. Dim Admin
  995. Set Admin=CreateObject("AzRoles.AzAuthorizationStore")
  996. WScript.Echo ""
  997. WScript.Echo "Open..." & fileUrl
  998. Admin.Initialize storeFlag, fileUrl
  999. WScript.Echo ""
  1000. WScript.Echo "Original Admin ACL List"
  1001. AzPrintPolicy Admin
  1002. WScript.Echo ""
  1003. WScript.Echo "Test11 - Add three Admin SIDs"
  1004. Admin.AddPolicyAdministrator "S-1-1000-1"
  1005. Admin.AddPolicyAdministrator "S-1-1000-2"
  1006. Admin.AddPolicyAdministrator "S-1-1000-3"
  1007. AzPrintPolicy Admin
  1008. WScript.Echo ""
  1009. WScript.Echo "Test11 - Delete one Admin SID"
  1010. Admin.DeletePolicyAdministrator "S-1-1000-2"
  1011. 'AzPrintPolicy Admin
  1012. WScript.Echo ""
  1013. WScript.Echo "Test11 - Add three Reader SIDs"
  1014. Admin.AddPolicyReader "S-1-1000-4"
  1015. Admin.AddPolicyReader "S-1-1000-5"
  1016. Admin.AddPolicyReader "S-1-1000-6"
  1017. AzPrintPolicy Admin
  1018. WScript.Echo ""
  1019. WScript.Echo "Test11 - Delete one Reader SID"
  1020. Admin.DeletePolicyReader "S-1-1000-5"
  1021. AzPrintPolicy Admin
  1022. WScript.Echo ""
  1023. WScript.Echo "Submit Test11 changes"
  1024. Admin.Submit
  1025. WScript.Echo ""
  1026. WScript.Echo "Close..." & fileUrl & " and release Admin"
  1027. Set Admin=Nothing
  1028. WScript.Echo ""
  1029. WScript.Echo "Re-open..." & fileUrl
  1030. Set Admin=CreateObject("AzRoles.AzAuthorizationStore")
  1031. Admin.Initialize 0, fileUrl
  1032. WScript.Echo ""
  1033. WScript.Echo "Dump the current ACL List"
  1034. AzPrintPolicy Admin
  1035. Set Admin=Nothing
  1036. WScript.Echo "Done"
  1037. End Sub 'Test11
  1038. '---------------------------------------
  1039. Sub Test10
  1040. Dim Admin
  1041. Set Admin=CreateObject("AzRoles.AzAuthorizationStore")
  1042. WScript.Echo ""
  1043. WScript.Echo "Create..." & fileUrl
  1044. Admin.Initialize storeFlag, fileUrl
  1045. Admin.Submit
  1046. WScript.Echo ""
  1047. WScript.Echo "The current Admin ACL List"
  1048. AzPrintPolicy Admin
  1049. WScript.Echo "add S-1-1000-8 as policy admin..."
  1050. Admin.AddPolicyAdministrator "S-1-1000-8"
  1051. WScript.Echo ""
  1052. WScript.Echo "Submit Admin"
  1053. Admin.Description="make it dirty"
  1054. Admin.Submit
  1055. WScript.Echo ""
  1056. WScript.Echo "Close..." & fileUrl & " and release Admin"
  1057. Set Admin=Nothing
  1058. WScript.Echo ""
  1059. WScript.Echo "Re-open..." & fileUrl
  1060. Set Admin=CreateObject("AzRoles.AzAuthorizationStore")
  1061. Admin.Initialize 0, fileUrl
  1062. WScript.Echo ""
  1063. WScript.Echo "Dump the current ACL List"
  1064. AzPrintPolicy Admin
  1065. Set Admin=Nothing
  1066. WScript.Echo "Done"
  1067. End Sub 'Test10
  1068. '---------------------------------------
  1069. Sub Test9
  1070. Dim Admin1, Admin2, App1
  1071. WScript.Echo "creating " & fileUrl & " store in Admin1..."
  1072. Set Admin1=CreateObject("AzRoles.AzAuthorizationStore")
  1073. Admin1.Initialize storeFlag, fileUrl
  1074. Admin1.Submit
  1075. WScript.Echo "set Admin1 DomainTimeout to 15006..."
  1076. Admin1.DomainTimeout = 15006
  1077. WScript.Echo "Dump Admin1 from cache..."
  1078. AzPrintPolicy Admin1
  1079. WScript.Echo "submit Admin1..."
  1080. Admin1.Submit
  1081. WScript.Echo "opening " & fileUrl & " store in Admin2..."
  1082. Set Admin2=CreateObject("AzRoles.AzAuthorizationStore")
  1083. Admin2.Initialize (storeFlag-1), fileUrl
  1084. WScript.Echo "set Admin2 DomainTimeout to 15110..."
  1085. Admin2.DomainTimeout = 15110
  1086. WScript.Echo "Dump Admin2 from cache..."
  1087. AzPrintPolicy Admin2
  1088. WScript.Echo "Dump the store..."
  1089. AzPrintPolicyStore (storeFlag-1),fileUrl
  1090. WScript.Echo "Update Admin2..."
  1091. Admin2.UpdateCache
  1092. WScript.Echo "Dump Admin2 from cache..."
  1093. AzPrintPolicy Admin2
  1094. WScript.Echo "submit Admin2..."
  1095. Admin2.Submit
  1096. WScript.Echo "Dump the store..."
  1097. AzPrintPolicyStore (storeFlag-1),fileUrl
  1098. WScript.Echo "Update Admin1..."
  1099. Admin1.UpdateCache
  1100. WScript.Echo "Dump Admin1 from cache..."
  1101. AzPrintPolicy Admin1
  1102. WScript.Echo "creating App1..."
  1103. Set App1 = Admin1.CreateApplication("App1", 0)
  1104. App1.Description="App1 description"
  1105. App1.Submit
  1106. WScript.Echo "Dump the store..."
  1107. AzPrintPolicyStore (storeFlag-1), fileUrl
  1108. Set App1 = Nothing
  1109. Set Admin1 = Nothing
  1110. Set Admin2 = Nothing
  1111. WScript.Echo "Done"
  1112. End Sub 'Test9
  1113. '---------------------------------------
  1114. Sub Test8()
  1115. Dim Admin1, App1, Op1, Op2, Op3
  1116. Dim Task1, Group1, Group2, Group3
  1117. Dim Admin11, App11, Op11, Op22, Op33
  1118. Dim Task11, Group11, Group22, Group33
  1119. WScript.Echo "Entering Test8..."
  1120. WScript.Echo " This test checks linked items add/remove."
  1121. WScript.Echo ""
  1122. Set Admin1=CreateObject("AzRoles.AzAuthorizationStore")
  1123. WScript.Echo "Create the initial store from Admin1..."
  1124. Admin1.Initialize storeFlag, fileUrl
  1125. Admin1.Description="Description from Admin1"
  1126. Admin1.Submit
  1127. WScript.Echo "creating App1..."
  1128. Set App1 = Admin1.CreateApplication("App1", 0)
  1129. App1.Description="App1 description"
  1130. App1.Submit
  1131. WScript.Echo "creating three operations, Op1, Op2, Op3..."
  1132. Set Op1 = App1.CreateOperation("Op1", 0)
  1133. Op1.Description="Op1 description"
  1134. Op1.OperationID=1
  1135. Op1.Submit
  1136. Set Op2 = App1.CreateOperation("Op2", 0)
  1137. Op2.Description="Op2 description"
  1138. Op2.OperationID=2
  1139. Op2.Submit
  1140. Set Op3 = App1.CreateOperation("Op3", 0)
  1141. Op3.Description="Op3 description"
  1142. Op3.OperationID=3
  1143. Op3.Submit
  1144. WScript.Echo "creating Task1 contains Op1 and Op2 links..."
  1145. Set Task1 = App1.CreateTask("Task1", 0)
  1146. Task1.Description="Task1 description"
  1147. Task1.AddOperation "Op1"
  1148. Task1.AddOperation "Op2"
  1149. Task1.Submit
  1150. WScript.Echo "Dump Admin1 from cache..."
  1151. AzPrintPolicy Admin1
  1152. WScript.Echo "remove Op1 from Task1..."
  1153. Task1.DeleteOperation "Op1"
  1154. WScript.Echo "add Op3 from Task1..."
  1155. Task1.AddOperation "Op3"
  1156. WScript.Echo "submitting Task1..."
  1157. Task1.Submit
  1158. WScript.Echo "Dump Admin1 from cache..."
  1159. AzPrintPolicy Admin1
  1160. WScript.Echo "creating three groups, Group1, Group2, Group3..."
  1161. Set Group1 = App1.CreateApplicationGroup("Group1", 0)
  1162. Group1.Description="Group1 description"
  1163. Group1.Submit
  1164. Group1.AddMember "S-1-1000-1"
  1165. Group1.Submit
  1166. Set Group2 = App1.CreateApplicationGroup("Group2", 0)
  1167. Group2.Description="Group2 description"
  1168. Group2.AddMember "S-1-1000-2"
  1169. Group2.Submit
  1170. Set Group3 = App1.CreateApplicationGroup("Group3", 0)
  1171. Group3.Description="Group3 description"
  1172. Group3.AddMember "S-1-1000-3"
  1173. Group3.AddMember "S-1-1000-4"
  1174. Group3.AddAppMember "Group1"
  1175. Group3.Submit
  1176. WScript.Echo "Dump Admin1 from cache..."
  1177. AzPrintPolicy Admin1
  1178. WScript.Echo "deleting existing sid member, S-1-1000-4, from Group3..."
  1179. Group3.DeleteMember "S-1-1000-4"
  1180. WScript.Echo "adding new sid members in Group3..."
  1181. Group3.AddMember "S-1-1000-5"
  1182. Group3.AddMember "S-1-1000-6"
  1183. WScript.Echo "deleting existing app member Group1 from Group3..."
  1184. Group3.DeleteAppMember "Group1"
  1185. WScript.Echo "adding a new app member Group2 to Group3..."
  1186. Group3.AddAppMember "Group2"
  1187. WScript.Echo "submitting Group3..."
  1188. Group3.Submit
  1189. WScript.Echo "Dump Admin1 from cache..."
  1190. AzPrintPolicy Admin1
  1191. 'WScript.Echo "adding Group1 back to Group3..."
  1192. 'Group3.AddAppMember "Group1"
  1193. 'Group3.Submit
  1194. 'AzPrintPolicy Admin1
  1195. WScript.Echo "Dump the current store..."
  1196. AzPrintPolicyStore (storeFlag-1), fileUrl
  1197. WScript.Echo "Now creating the second Admin to open the same store..."
  1198. Set Admin11=CreateObject("AzRoles.AzAuthorizationStore")
  1199. Admin11.Initialize (storeFlag-1), fileUrl
  1200. Set App11 = Admin11.OpenApplication("App1", 0)
  1201. Set Group33 = App11.OpenApplicationGroup("Group3", 0)
  1202. WScript.Echo "deleting S-1-1000-5 from Group3..."
  1203. Group33.DeleteMember "S-1-1000-5"
  1204. WScript.Echo "submitting Group3..."
  1205. Group33.Submit
  1206. WScript.Echo "Dump the second instance Admin11 from cache..."
  1207. AzPrintPolicy Admin11
  1208. WScript.Echo "Dump the current store..."
  1209. AzPrintPolicyStore (storeFlag-1),fileUrl
  1210. WScript.Echo "Dump the first instance of Admin1 from cache..."
  1211. AzPrintPolicy Admin1
  1212. WScript.Echo "updating the first instance of Admin1..."
  1213. Admin1.UpdateCache
  1214. WScript.Echo "Dump the first instance of Admin1 from cache..."
  1215. WScript.Echo "It should pick up the changes from the second Admin11..."
  1216. AzPrintPolicy Admin1
  1217. WScript.Echo "submitting Admin1..."
  1218. Admin1.Submit
  1219. WScript.Echo "Dump the current store..."
  1220. AzPrintPolicyStore (storeFlag-1), fileUrl
  1221. Set Op1 = Nothing
  1222. Set Op2 = Nothing
  1223. Set Op3 = Nothing
  1224. Set Task1 = Nothing
  1225. Set Group1 = Nothing
  1226. Set Group2 = Nothing
  1227. Set Group3 = Nothing
  1228. Set App1 = Nothing
  1229. Set Admin1 = Nothing
  1230. Set Op11 = Nothing
  1231. Set Op22 = Nothing
  1232. Set Op33 = Nothing
  1233. Set Task11 = Nothing
  1234. Set Group11 = Nothing
  1235. Set Group22 = Nothing
  1236. Set Group33 = Nothing
  1237. Set App11 = Nothing
  1238. Set Admin11 = Nothing
  1239. WScript.Echo "Done"
  1240. End Sub
  1241. '---------------------------------------
  1242. Sub Test7()
  1243. Dim Admin1, Admin2
  1244. WScript.Echo "Entering Test7..."
  1245. Set Admin1=CreateObject("AzRoles.AzAuthorizationStore")
  1246. WScript.Echo "Create the initial store from Admin1..."
  1247. Admin1.Initialize storeFlag, fileUrl
  1248. Admin1.Description="Description from Admin1"
  1249. WScript.Echo "Submit Admin1..."
  1250. Admin1.Submit
  1251. Set Admin2=CreateObject("AzRoles.AzAuthorizationStore")
  1252. WScript.Echo "Open the store to Admin2..."
  1253. Admin2.Initialize (storeFlag-1), fileUrl
  1254. Admin2.Description="Description from Admin2"
  1255. WScript.Echo "Submit Admin2 changes..."
  1256. Admin2.Submit
  1257. WScript.Echo "Dump store from Admin1 cache..."
  1258. AzPrintPolicy Admin1
  1259. WScript.Echo "Dump store from the file..."
  1260. AzPrintPolicyStore (storeFlag-1), fileUrl
  1261. WScript.Echo "Update Admin1..."
  1262. Admin1.UpdateCache
  1263. WScript.Echo "Dump store from Admin1 cache after update..."
  1264. AzPrintPolicy Admin1
  1265. Set Admin1=Nothing
  1266. Set Admin2=Nothing
  1267. WScript.Echo "Done"
  1268. End Sub 'Test7
  1269. '---------------------------------------
  1270. Sub Test6()
  1271. Dim Admin, App1, Op1, Scope1
  1272. WScript.Echo "Entering Test6..."
  1273. Set Admin=CreateObject("AzRoles.AzAuthorizationStore")
  1274. Admin.Initialize storeFlag, fileUrl
  1275. Admin.Submit
  1276. Admin.Description="my Admin description"
  1277. Admin.Submit
  1278. Set App1=Admin.CreateApplication("App1", 0)
  1279. App1.Submit
  1280. App1.Description="my App1 description"
  1281. App1.Submit
  1282. Set Op1=App1.CreateOperation("Op1", 0)
  1283. Op1.OperationID=88
  1284. Op1.Submit
  1285. Op1.Description="my Op1 description"
  1286. Op1.Submit
  1287. Set Scope1=App1.CreateScope("c:\Scope1", 0)
  1288. Scope1.Submit
  1289. AzPrintPolicyStore (storeFlag-1),fileUrl
  1290. Set Op1=Nothing
  1291. Set App1=Nothing
  1292. Set Admin=Nothing
  1293. WScript.Echo "Done"
  1294. End Sub
  1295. '---------------------------------------
  1296. Sub Test5()
  1297. Dim Admin, App1
  1298. WScript.Echo "Create..." & fileUrl
  1299. Set Admin=CreateObject("AzRoles.AzAuthorizationStore")
  1300. Admin.Initialize storeFlag, fileUrl
  1301. WScript.Echo "Submit new Admin..."
  1302. Admin.Submit
  1303. WScript.Echo "Create App1 without submit..."
  1304. Set App1=Admin.CreateApplication("App1", 0)
  1305. WScript.Echo "Set Application description..."
  1306. App1.Description="This is App1 in cache only, no submit."
  1307. WScript.Echo "Dump store from cache..."
  1308. AzPrintPolicy Admin
  1309. WScript.Echo "now release App1..."
  1310. Set App1=Nothing
  1311. WScript.Echo "Dump store from cache..."
  1312. AzPrintPolicy Admin
  1313. WScript.Echo "Create App1 again..."
  1314. Set App1=Admin.CreateApplication("App1", 0)
  1315. Set App1=Nothing
  1316. Set Admin=Nothing
  1317. WScript.Echo "Done"
  1318. End Sub
  1319. '---------------------------------------
  1320. Sub Test4TestAbort(Admin, Obj, DisplayName)
  1321. If "AuthorizationStore" = DisplayName Then
  1322. Set Obj = Admin
  1323. End If
  1324. WScript.Echo ""
  1325. WScript.Echo "=== Test abort on " & DisplayName & " object ==="
  1326. WScript.Echo "Set object description..."
  1327. Obj.Description="Description for submit"
  1328. WScript.Echo "Set object description is done"
  1329. WScript.Echo ""
  1330. WScript.Echo "Dump store from cache..."
  1331. AzPrintPolicy Admin
  1332. WScript.Echo "Regular submit for description change..."
  1333. Obj.Submit
  1334. WScript.Echo "Regular submit for description change is done"
  1335. WScript.Echo ""
  1336. WScript.Echo "Dump store from file..."
  1337. AzPrintPolicyStore (storeFlag-1), fileUrl
  1338. WScript.Echo "Set object description for abort submit..."
  1339. Obj.Description="Description for submit with abort"
  1340. WScript.Echo "Set object description for abort submit is done..."
  1341. WScript.Echo ""
  1342. WScript.Echo "Dump store from cache..."
  1343. AzPrintPolicy Admin
  1344. WScript.Echo "Submit with abort..."
  1345. Obj.Submit AZ_SUBMIT_FLAG_ABORT
  1346. WScript.Echo "Submit with abort is done"
  1347. WScript.Echo ""
  1348. WScript.Echo "Dump store from cache..."
  1349. AzPrintPolicy Admin
  1350. WScript.Echo "Dump store from file..."
  1351. AzPrintPolicyStore (storeFlag-1), fileUrl
  1352. WScript.Echo "Set object description again to make sure object handle is OK..."
  1353. Obj.Description="Description for submit after abort"
  1354. WScript.Echo "Set object description is done"
  1355. WScript.Echo ""
  1356. WScript.Echo "Dump store from cache..."
  1357. AzPrintPolicy Admin
  1358. WScript.Echo "Regular submit for description change..."
  1359. Obj.Submit
  1360. WScript.Echo "Regular submit for description change is done"
  1361. WScript.Echo ""
  1362. WScript.Echo "Dump store from file..."
  1363. AzPrintPolicyStore (storeFlag-1), fileUrl
  1364. End Sub
  1365. '---------------------------------------
  1366. Sub Test4()
  1367. Dim Admin, App1, Op1, Group1, Scope1, Group2
  1368. WScript.Echo "Create..." & fileUrl
  1369. Set Admin=CreateObject("AzRoles.AzAuthorizationStore")
  1370. Admin.Initialize storeFlag, fileUrl
  1371. WScript.Echo "Submit new Admin..."
  1372. Admin.Submit
  1373. Test4TestAbort Admin, Empty, "AuthorizationStore"
  1374. Set App1=Admin.CreateApplication("App1", 0)
  1375. App1.Submit
  1376. WScript.Echo "Create Op1..."
  1377. Set Op1=App1.CreateOperation("Op1", 0)
  1378. WScript.Echo "Submit Op1 with abort..."
  1379. Op1.Submit AZ_SUBMIT_FLAG_ABORT
  1380. Set Op1=Nothing
  1381. WScript.Echo "Create Op1 again..."
  1382. Set Op1=App1.CreateOperation("Op1", 0)
  1383. Op1.OperationID = 88
  1384. Op1.Submit
  1385. Set Group1=App1.CreateApplicationGroup("Group1", 0)
  1386. Group1.Submit
  1387. Set Scope1=App1.CreateScope("Scope1", 0)
  1388. Scope1.Submit
  1389. Set Group2=Scope1.CreateApplicationGroup("Group2", 0)
  1390. Group2.Submit
  1391. Test4TestAbort Admin, App1, "Application"
  1392. Test4TestAbort Admin, Op1, "Operation"
  1393. Test4TestAbort Admin, Group1, "Group"
  1394. Test4TestAbort Admin, Scope1, "Scope"
  1395. Test4TestAbort Admin, Group2, "GroupUnderScope"
  1396. Test4TestAbort Admin, Empty, "AuthorizationStore"
  1397. Set Group2=Nothing
  1398. Set Group1=Nothing
  1399. Set Scope1=Nothing
  1400. Set Op1=Nothing
  1401. Set App1=Nothing
  1402. Set Admin=Nothing
  1403. WScript.Echo "Done"
  1404. End Sub
  1405. '---------------------------------------
  1406. Sub Test3()
  1407. Dim Admin
  1408. WScript.Echo "Create..." & fileUrl
  1409. Set Admin=CreateObject("AzRoles.AzAuthorizationStore")
  1410. Admin.Initialize storeFlag, fileUrl
  1411. Admin.Submit
  1412. Dim App1
  1413. WScript.Echo "Create...App1"
  1414. Set App1=Admin.CreateApplication("App1", 0)
  1415. App1.SetProperty AZ_PROP_DESCRIPTION, "App1 description"
  1416. WScript.Echo "Submit...App1"
  1417. App1.Submit
  1418. Dim Operation1
  1419. WScript.Echo "Create...Operation1"
  1420. Set Operation1=App1.CreateOperation("Operation1", 0)
  1421. Operation1.OperationID=1
  1422. WScript.Echo "Submit...Operation1"
  1423. Operation1.Submit
  1424. Dim Operation2
  1425. WScript.Echo "Create...Operation2"
  1426. Set Operation2=App1.CreateOperation("Operation2", 0)
  1427. Operation2.OperationID=2
  1428. WScript.Echo "Submit...Operation2"
  1429. Operation2.Submit
  1430. Dim Task1
  1431. WScript.Echo "Create...Task1 in which contains Operation1"
  1432. Set Task1=App1.CreateTask("Task1", 0)
  1433. Task1.BizRuleLanguage="vbscript"
  1434. Task1.AddPropertyItem AZ_PROP_TASK_OPERATIONS, "Operation1"
  1435. WScript.Echo "Submit...Task1"
  1436. Task1.Submit
  1437. WScript.Echo "Dump the current store..."
  1438. AzPrintPolicyStore (storeFlag-1),fileUrl
  1439. WScript.Echo "Delete...Operation1 from App1"
  1440. App1.DeleteOperation "Operation1"
  1441. WScript.Echo "Submit...App1"
  1442. App1.Submit
  1443. WScript.Echo "Dump the current store..."
  1444. AzPrintPolicyStore (storeFlag-1),fileUrl
  1445. Dim Task2
  1446. WScript.Echo "Create...Task2 in which contains Task1"
  1447. Set Task2=App1.CreateTask("Task2", 0)
  1448. Task2.BizRuleLanguage="vbscript"
  1449. Task2.BizRule="Task2BizRule"
  1450. Task2.AddOperation "Operation2"
  1451. Task2.AddTask "Task1"
  1452. WScript.Echo "Submit...Task2"
  1453. Task2.Submit
  1454. WScript.Echo "Dump the current store..."
  1455. AzPrintPolicyStore (storeFlag-1),fileUrl
  1456. WScript.Echo "Delete...Task1 from App1"
  1457. App1.DeleteTask "Task1"
  1458. WScript.Echo "Submit...App1"
  1459. App1.Submit
  1460. WScript.Echo "Dump the current store..."
  1461. AzPrintPolicyStore (storeFlag-1),fileUrl
  1462. Dim Group1
  1463. WScript.Echo "Create...Group1"
  1464. Set Group1=App1.CreateApplicationGroup("Group1", 0)
  1465. Group1.AddPropertyItem AZ_PROP_GROUP_MEMBERS, "S-1-1000-1"
  1466. Group1.AddPropertyItem AZ_PROP_GROUP_MEMBERS, "S-1-1000-2"
  1467. WScript.Echo "Submit...Group1"
  1468. Group1.Submit
  1469. Dim Group2
  1470. WScript.Echo "Create...Group2 in which contains Group1"
  1471. Set Group2=App1.CreateApplicationGroup("Group2", 0)
  1472. Group2.AddPropertyItem AZ_PROP_GROUP_MEMBERS, "S-1-1000-3"
  1473. WScript.Echo "Add...Group1 as app member in Group2"
  1474. Group2.AddPropertyItem AZ_PROP_GROUP_APP_MEMBERS, "Group1"
  1475. WScript.Echo "Submit...Group2"
  1476. Group2.Submit
  1477. WScript.Echo "Dump the current store..."
  1478. AzPrintPolicyStore (storeFlag-1),fileUrl
  1479. WScript.Echo "Delete...Group1 from App1"
  1480. App1.DeleteApplicationGroup "Group1"
  1481. WScript.Echo "Submit...App1"
  1482. App1.Submit
  1483. WScript.Echo "Dump the current store..."
  1484. AzPrintPolicyStore (storeFlag-1),fileUrl
  1485. Set Operation1=Nothing
  1486. Set Operation2=Nothing
  1487. Set Task1=Nothing
  1488. Set Task2=Nothing
  1489. Set Group1=Nothing
  1490. Set Group2=Nothing
  1491. Set App1=Nothing
  1492. Set Admin=Nothing
  1493. WScript.Echo "Done"
  1494. End Sub 'Test3
  1495. '---------------------------------------
  1496. Sub Test2()
  1497. ' Admin - u1 - policy admin
  1498. ' d1, d2, du3, du4 - delegated policy users
  1499. ' r1 - reader
  1500. '
  1501. ' App1 - u2 - policy admin
  1502. ' d1, d2 - delegated policu users
  1503. ' r2 - reader
  1504. ' App1-Scope1 - d1 - policy admin
  1505. ' r3 - reader
  1506. ' App1-Scope2 - d2 - policy admin
  1507. '
  1508. ' App2 - u2, u3 - policy admin
  1509. ' du3, du4 - delegated policy users
  1510. ' r3 - reader
  1511. ' App2-Scope1 - du3 - policy admin
  1512. ' ru4 - reader
  1513. ' App2-Scope2 - du4 - policy admin
  1514. Dim Admin
  1515. WScript.Echo "Creating Admin..."
  1516. Set Admin=CreateObject("AzRoles.AzAuthorizationStore")
  1517. Admin.Initialize storeFlag, fileUrl
  1518. Admin.Submit
  1519. Admin.Description="my Admin description"
  1520. Admin.DomainTimeout=1111
  1521. Admin.ScriptEngineTimeout=22222
  1522. Admin.MaxScriptEngines=3333
  1523. Admin.ApplicationData="some admin application data"
  1524. Admin.SetProperty AZ_PROP_GENERATE_AUDITS, 1
  1525. 'u1 as policy admin
  1526. Admin.AddPropertyItem AZ_PROP_POLICY_ADMINS_NAME, "u1"
  1527. If storeType=2 Then
  1528. 'd1 as delegated user
  1529. Admin.AddPropertyItem AZ_PROP_DELEGATED_POLICY_USERS_NAME, "d1"
  1530. 'd2 as delegated user
  1531. Admin.AddPropertyItem AZ_PROP_DELEGATED_POLICY_USERS_NAME, "d2"
  1532. 'du3 as delegated user
  1533. Admin.AddPropertyItem AZ_PROP_DELEGATED_POLICY_USERS_NAME, "du3"
  1534. 'du4 as delegated user
  1535. Admin.AddPropertyItem AZ_PROP_DELEGATED_POLICY_USERS_NAME, "du4"
  1536. End If
  1537. 'r1 as reader
  1538. Admin.AddPropertyItem AZ_PROP_POLICY_READERS_NAME, "r1"
  1539. Admin.Submit
  1540. WScript.Echo "creating Admin Groups"
  1541. Dim AdmGroup1
  1542. Set AdmGroup1=Admin.CreateApplicationGroup("Adm,=Group1,CN=somerandom", 0)
  1543. AdmGroup1.AddPropertyItem AZ_PROP_GROUP_MEMBERS, "S-1-1-0"
  1544. AdmGroup1.AddPropertyItem AZ_PROP_GROUP_MEMBERS, "S-1-5-1100"
  1545. AdmGroup1.AddPropertyItem AZ_PROP_GROUP_MEMBERS, "S-1-5-1200"
  1546. AdmGroup1.AddPropertyItem AZ_PROP_GROUP_NON_MEMBERS, "S-1-5-1000"
  1547. AdmGroup1.Submit
  1548. AdmGroup1.DeletePropertyItem AZ_PROP_GROUP_MEMBERS, "S-1-5-1100"
  1549. AdmGroup1.DeletePropertyItem AZ_PROP_GROUP_MEMBERS, "S-1-5-1200"
  1550. AdmGroup1.Submit
  1551. Dim AdmGroup2
  1552. Set AdmGroup2=Admin.CreateApplicationGroup("AdmGroup2", 0)
  1553. AdmGroup2.AddPropertyItem AZ_PROP_GROUP_APP_MEMBERS, "Adm,=Group1,CN=somerandom"
  1554. AdmGroup2.Description="AdmGroup2 description"
  1555. AdmGroup2.Submit
  1556. WScript.Echo "Update Cache..."
  1557. Admin.UpdateCache
  1558. WScript.Echo "dump store"
  1559. AzPrintPolicy Admin
  1560. WScript.Echo "Creating Application 1..."
  1561. Dim App1
  1562. Set App1=Admin.CreateApplication("App1,CN=something", 0)
  1563. App1.SetProperty AZ_PROP_DESCRIPTION, "App1 description"
  1564. App1.AuthzInterfaceClsid="dd8b6ce1-4457-40f8-886e-f7243e14bf34"
  1565. App1.Version=1212
  1566. App1.ApplicationData="some app application data"
  1567. If storeType=2 Then
  1568. 'u2 as administrator
  1569. App1.AddPropertyItem AZ_PROP_POLICY_ADMINS_NAME, "u2"
  1570. 'd1 as delegated user
  1571. App1.AddPropertyItem AZ_PROP_DELEGATED_POLICY_USERS_NAME, "d1"
  1572. 'd2 as delegated user
  1573. App1.AddPropertyItem AZ_PROP_DELEGATED_POLICY_USERS_NAME, "d2"
  1574. 'r2 as reader
  1575. App1.AddPropertyItem AZ_PROP_POLICY_READERS_NAME, "r2"
  1576. App1.GenerateAudits=1
  1577. End If
  1578. App1.Submit
  1579. WScript.Echo "Creating Application1-Operations..."
  1580. Dim Op1
  1581. Set Op1=App1.CreateOperation("Op1,CN=something", 0)
  1582. Op1.SetProperty AZ_PROP_DESCRIPTION, "Op1 description"
  1583. Op1.SetProperty AZ_PROP_OPERATION_ID, 1
  1584. OP1.ApplicationData="some operation object application data"
  1585. Op1.Submit
  1586. Dim Op2
  1587. Set Op2=App1.CreateOperation("Op2", 0)
  1588. Op2.SetProperty AZ_PROP_OPERATION_ID, 2
  1589. Op2.Submit
  1590. Set Op3=App1.CreateOperation("Op3", 0)
  1591. Op3.SetProperty AZ_PROP_OPERATION_ID, 3
  1592. Op3.Submit
  1593. Set Op4=App1.CreateOperation("Op4", 0)
  1594. Op4.SetProperty AZ_PROP_OPERATION_ID, 4
  1595. Op4.Submit
  1596. Set Op5=App1.CreateOperation("Op5", 0)
  1597. Op5.SetProperty AZ_PROP_OPERATION_ID, 5
  1598. Op5.Submit
  1599. WScript.Echo "Creating Application1-Tasks..."
  1600. Dim Task1
  1601. Set Task1=App1.CreateTask("Task1,CN=something", 0)
  1602. Task1.Submit
  1603. Dim Task3
  1604. Set Task3=App1.CreateTask("Task3", 0)
  1605. Task3.Submit
  1606. Task1.AddPropertyItem AZ_PROP_TASK_OPERATIONS, "Op1,CN=something"
  1607. Task1.Submit
  1608. Task3.AddPropertyItem AZ_PROP_TASK_OPERATIONS, "Op2"
  1609. Task3.AddPropertyItem AZ_PROP_TASK_OPERATIONS, "Op3"
  1610. Task3.AddPropertyItem AZ_PROP_TASK_OPERATIONS, "Op4"
  1611. Task3.AddPropertyItem AZ_PROP_TASK_OPERATIONS, "Op5"
  1612. Task3.AddPropertyItem AZ_PROP_TASK_TASKS, "Task1,CN=something"
  1613. Task3.DeletePropertyItem AZ_PROP_TASK_OPERATIONS, "Op5"
  1614. Task3.BizRuleImportedPath="c:\\somedir"
  1615. Task3.BizRuleLanguage="VBScript"
  1616. Task3.BizRule = "AzBizRuleContext.BusinessRuleResult=TRUE"
  1617. Task3.IsRoleDefinition=FALSE
  1618. Task3.ApplicationData="Task3 specific application data"
  1619. Task3.Submit
  1620. WScript.Echo "Try deleting Application1-Tasks link operation..."
  1621. Task3.DeletePropertyItem AZ_PROP_TASK_OPERATIONS, "Op3"
  1622. Task3.DeletePropertyItem AZ_PROP_TASK_OPERATIONS, "Op4"
  1623. Task3.Submit
  1624. WScript.Echo "Creating Application1-Groups..."
  1625. Dim Group1
  1626. Set Group1=App1.CreateApplicationGroup("Group1", 0)
  1627. Group1.SetProperty AZ_PROP_GROUP_TYPE, 1
  1628. Group1.SetProperty AZ_PROP_GROUP_LDAP_QUERY, "Query 1"
  1629. Group1.Submit
  1630. Dim Group2
  1631. Set Group2=App1.CreateApplicationGroup("Group2", 0)
  1632. Group2.AddPropertyItem AZ_PROP_GROUP_MEMBERS, "S-1-1-0"
  1633. Group2.AddPropertyItem AZ_PROP_GROUP_NON_MEMBERS, "S-1-5-1000"
  1634. Group2.AddPropertyItem AZ_PROP_GROUP_APP_NON_MEMBERS, "Group1"
  1635. Group2.Submit
  1636. Dim Group3
  1637. Set Group3=App1.CreateApplicationGroup("Group3", 0)
  1638. Group3.AddPropertyItem AZ_PROP_GROUP_APP_MEMBERS, "Group2"
  1639. Group3.Description="Group3 description"
  1640. Group3.Submit
  1641. WScript.Echo "Creating Application1-Role..."
  1642. Dim Role1
  1643. Set Role1=App1.CreateRole("Role1,CN=something", 0)
  1644. Role1.Description="Role1 description"
  1645. Role1.ApplicationData="Role1 specific application data"
  1646. Role1.AddPropertyItem AZ_PROP_ROLE_MEMBERS, "S-1-1000-1"
  1647. Role1.AddPropertyItem AZ_PROP_ROLE_APP_MEMBERS, "Group3"
  1648. Role1.AddPropertyItem AZ_PROP_ROLE_OPERATIONS, "Op1,CN=something"
  1649. Role1.AddPropertyItem AZ_PROP_ROLE_TASKS, "Task3"
  1650. Role1.Submit
  1651. WScript.Echo "Creating Application1-Scope1..."
  1652. Dim Scope1
  1653. Set Scope1=App1.CreateScope("Scope1", 0)
  1654. Scope1.Description="Scope1 description"
  1655. Scope1.ApplicationData="Scope1 specific Application data"
  1656. If storeType=2 Then
  1657. 'd1 as administrator
  1658. Scope1.AddPropertyItem AZ_PROP_POLICY_ADMINS_NAME, "d1"
  1659. 'r3 as reader
  1660. Scope1.AddPropertyItem AZ_PROP_POLICY_READERS_NAME, "r3"
  1661. End If
  1662. Scope1.Submit
  1663. WScript.Echo "Creating Application1-Scope1-Tasks..."
  1664. Dim Task2
  1665. Set Task2=Scope1.CreateTask("Task2", 0)
  1666. Task2.Submit
  1667. Dim Task4
  1668. Set Task4=Scope1.CreateTask("Task4", 0)
  1669. Task4.Submit
  1670. Task2.AddPropertyItem AZ_PROP_TASK_OPERATIONS, "Op1,CN=something"
  1671. Task2.AddPropertyItem AZ_PROP_TASK_OPERATIONS, "Op2"
  1672. Task2.AddPropertyItem AZ_PROP_TASK_OPERATIONS, "Op3"
  1673. Task2.Submit
  1674. Task2.DeletePropertyItem AZ_PROP_TASK_OPERATIONS, "Op3"
  1675. Task2.Submit
  1676. WScript.Echo "Creating application1-Scope1-Group..."
  1677. Dim Group4
  1678. Set Group4=Scope1.CreateApplicationGroup("Group4", 0)
  1679. Group4.AddPropertyItem AZ_PROP_GROUP_MEMBERS, "S-1-1000-4"
  1680. Group4.Submit
  1681. WScript.Echo "Creating application1-Scope1-Role..."
  1682. Dim Role2
  1683. Set Role2=Scope1.CreateRole("Role2",0)
  1684. Role2.Submit
  1685. WScript.Echo "Creating Application1-Scope2..."
  1686. Dim Scope2
  1687. Set Scope2=App1.CreateScope("Scope2", 0)
  1688. Scope2.Description="Scope2 description"
  1689. Scope2.ApplicationData="Scope2 specific Application data"
  1690. If storeType=2 Then
  1691. 'd2 as administrator
  1692. Scope2.AddPropertyItem AZ_PROP_POLICY_ADMINS_NAME, "d2"
  1693. End If
  1694. Scope2.Submit
  1695. WScript.Echo "Creating Application1-Scope2-Tasks..."
  1696. Set Task2=Scope2.CreateTask("Task12", 0)
  1697. Task2.Submit
  1698. Set Task4=Scope2.CreateTask("Task14", 0)
  1699. Task4.Submit
  1700. WScript.Echo "Creating application1-Scope2-Group..."
  1701. Set Group4=Scope2.CreateApplicationGroup("Group14", 0)
  1702. Group4.AddPropertyItem AZ_PROP_GROUP_MEMBERS, "S-1-1000-4"
  1703. Group4.Submit
  1704. WScript.Echo "Creating application1-Scope2-Role..."
  1705. Set Role2=Scope2.CreateRole("Role12",0)
  1706. Role2.Submit
  1707. WScript.Echo ""
  1708. WScript.Echo "Creating Application 2..."
  1709. Dim App2
  1710. Set App2=Admin.CreateApplication("App2", 0)
  1711. App2.SetProperty AZ_PROP_DESCRIPTION, "App2 description"
  1712. App2.AuthzInterfaceClsid="dd9abce1-4457-40f8-886e-f7243e14bf34"
  1713. App2.Version=1212
  1714. App2.ApplicationData="some app application data"
  1715. If storeType=2 Then
  1716. 'u2 as administrator
  1717. App2.AddPropertyItem AZ_PROP_POLICY_ADMINS_NAME, "u2"
  1718. 'u3 as administrator
  1719. App2.AddPropertyItem AZ_PROP_POLICY_ADMINS_NAME, "u3"
  1720. 'du3 as delegated user
  1721. App2.AddPropertyItem AZ_PROP_DELEGATED_POLICY_USERS_NAME, "du3"
  1722. 'du4 as delegated user
  1723. App2.AddPropertyItem AZ_PROP_DELEGATED_POLICY_USERS_NAME, "du4"
  1724. 'r3 as reader
  1725. App2.AddPropertyItem AZ_PROP_POLICY_READERS_NAME, "r3"
  1726. App2.GenerateAudits=1
  1727. End If
  1728. App2.Submit
  1729. WScript.Echo "Creating Application 2 Operations..."
  1730. Set Op1=App2.CreateOperation("Op21", 0)
  1731. Op1.SetProperty AZ_PROP_DESCRIPTION, "Op21 description"
  1732. Op1.SetProperty AZ_PROP_OPERATION_ID, 21
  1733. OP1.ApplicationData="some operation object application data"
  1734. Op1.Submit
  1735. Set Op2=App2.CreateOperation("Op22", 0)
  1736. Op2.SetProperty AZ_PROP_OPERATION_ID, 22
  1737. Op2.Submit
  1738. Set Op3=App2.CreateOperation("Op23", 0)
  1739. Op3.SetProperty AZ_PROP_OPERATION_ID, 23
  1740. Op3.Submit
  1741. Set Op4=App2.CreateOperation("Op24", 0)
  1742. Op4.SetProperty AZ_PROP_OPERATION_ID, 24
  1743. Op4.Submit
  1744. WScript.Echo "Creating Application 2 Tasks..."
  1745. Set Task1=App2.CreateTask("Task21", 0)
  1746. Task1.Submit
  1747. Set Task3=App2.CreateTask("Task23", 0)
  1748. Task3.Submit
  1749. Task1.AddPropertyItem AZ_PROP_TASK_OPERATIONS, "Op21"
  1750. Task1.Submit
  1751. Task3.AddPropertyItem AZ_PROP_TASK_OPERATIONS, "Op22"
  1752. Task3.AddPropertyItem AZ_PROP_TASK_OPERATIONS, "Op23"
  1753. Task3.AddPropertyItem AZ_PROP_TASK_OPERATIONS, "Op24"
  1754. Task3.AddPropertyItem AZ_PROP_TASK_TASKS, "Task21"
  1755. Task3.BizRuleImportedPath="c:\\somedir"
  1756. Task3.BizRuleLanguage="VBScript"
  1757. Task3.BizRule = "AzBizRuleContext.BusinessRuleResult=TRUE"
  1758. Task3.IsRoleDefinition=FALSE
  1759. Task3.ApplicationData="Task3 specific application data"
  1760. Task3.Submit
  1761. WScript.Echo "Creating Application 2 Groups..."
  1762. Set Group1=App2.CreateApplicationGroup("Group21", 0)
  1763. Group1.SetProperty AZ_PROP_GROUP_TYPE, 1
  1764. Group1.SetProperty AZ_PROP_GROUP_LDAP_QUERY, "Query 1"
  1765. Group1.Submit
  1766. Set Group2=App2.CreateApplicationGroup("Group22", 0)
  1767. Group2.AddPropertyItem AZ_PROP_GROUP_MEMBERS, "S-1-1-0"
  1768. Group2.AddPropertyItem AZ_PROP_GROUP_NON_MEMBERS, "S-1-5-1000"
  1769. Group2.AddPropertyItem AZ_PROP_GROUP_APP_NON_MEMBERS, "Group21"
  1770. Group2.Submit
  1771. Set Group3=App2.CreateApplicationGroup("Group23", 0)
  1772. Group3.AddPropertyItem AZ_PROP_GROUP_APP_MEMBERS, "Group22"
  1773. Group3.Description="Group23 description"
  1774. Group3.Submit
  1775. WScript.Echo "Creating Applicaiton 2 Role..."
  1776. Set Role1=App2.CreateRole("Role21", 0)
  1777. Role1.Description="Role21 description"
  1778. Role1.ApplicationData="Role21 specific application data"
  1779. Role1.AddPropertyItem AZ_PROP_ROLE_MEMBERS, "S-1-1-0"
  1780. Role1.AddPropertyItem AZ_PROP_ROLE_APP_MEMBERS, "Group23"
  1781. Role1.AddPropertyItem AZ_PROP_ROLE_OPERATIONS, "Op21"
  1782. Role1.AddPropertyItem AZ_PROP_ROLE_TASKS, "Task23"
  1783. Role1.Submit
  1784. WScript.Echo "Creating Application 2 Scope 1..."
  1785. Set Scope1=App2.CreateScope("Scope21", 0)
  1786. Scope1.Description="Scope21 description"
  1787. Scope1.ApplicationData="Scope21 specific Application data"
  1788. If storeType=2 Then
  1789. 'du3 as administrator
  1790. Scope1.AddPropertyItem AZ_PROP_POLICY_ADMINS_NAME, "du3"
  1791. 'ru4 as reader
  1792. Scope1.AddPropertyItem AZ_PROP_POLICY_READERS_NAME, "ru4"
  1793. End If
  1794. Scope1.Submit
  1795. WScript.Echo "Creating Application 2 Scope1-Tasks..."
  1796. Set Task2=Scope1.CreateTask("Task122", 0)
  1797. Task2.Submit
  1798. Set Task4=Scope1.CreateTask("Task124", 0)
  1799. Task4.Submit
  1800. WScript.Echo "Creating Application 2 Scope1-Group..."
  1801. Set Group4=Scope1.CreateApplicationGroup("Group124", 0)
  1802. Group4.AddPropertyItem AZ_PROP_GROUP_MEMBERS, "S-1-1000-4"
  1803. Group4.Submit
  1804. WScript.Echo "Creating Application 2 Scope1-Role..."
  1805. Set Role2=Scope1.CreateRole("Role122",0)
  1806. Role2.Submit
  1807. WScript.Echo "Creating Application 2 Scope 2..."
  1808. Set Scope2=App2.CreateScope("Scope22", 0)
  1809. Scope2.Description="Scope22 description"
  1810. Scope2.ApplicationData="Scope22 specific Application data"
  1811. If storeType=2 Then
  1812. 'du4 as administrator
  1813. Scope2.AddPropertyItem AZ_PROP_POLICY_ADMINS_NAME, "du4"
  1814. End If
  1815. Scope2.Submit
  1816. WScript.Echo "Creating Application 2 Scope2-Tasks..."
  1817. Set Task2=Scope2.CreateTask("Task222", 0)
  1818. Task2.Submit
  1819. Set Task4=Scope2.CreateTask("Task224", 0)
  1820. Task4.Submit
  1821. WScript.Echo "Creating Application 2 Scope2-Group..."
  1822. Set Group4=Scope2.CreateApplicationGroup("Group224", 0)
  1823. Group4.AddPropertyItem AZ_PROP_GROUP_MEMBERS, "S-1-1000-4"
  1824. Group4.Submit
  1825. WScript.Echo "Creating Application 2 Scope2-Role..."
  1826. Set Role2=Scope2.CreateRole("Role222",0)
  1827. Role2.Submit
  1828. WScript.Echo ""
  1829. WScript.Echo "Dump the current store..."
  1830. AzPrintPolicyStore (storeFlag-1),fileUrl
  1831. WScript.Echo "Done"
  1832. End Sub 'Test2
  1833. '---------------------------------------
  1834. Sub Test1()
  1835. AzPrintPolicyStore storeFlag, fileUrl
  1836. WScript.Echo "Done"
  1837. End Sub
  1838. '=== main start ===
  1839. If True = GetCommandArg Then
  1840. If 1 = testN Then
  1841. Test1
  1842. ElseIf 2 = testN Then
  1843. Test2
  1844. ElseIf 3 = testN Then
  1845. Test3
  1846. ElseIf 4 = testN Then
  1847. Test4
  1848. ElseIf 5 = testN Then
  1849. Test5
  1850. ElseIf 6 = testN Then
  1851. Test6
  1852. ElseIf 7 = testN Then
  1853. Test7
  1854. ElseIf 8 = testN Then
  1855. Test8
  1856. ElseIf 9 = testN Then
  1857. Test9
  1858. ElseIf 10 = testN Then
  1859. Test10
  1860. ElseIf 11 = testN Then
  1861. Test11
  1862. ElseIf 12 = testN Then
  1863. Test12
  1864. ElseIf 13 = testN Then
  1865. Test13
  1866. ElseIf 14 = testN Then
  1867. Test14
  1868. ElseIf 15 = testN Then
  1869. Test15
  1870. ElseIf 16 = testN Then
  1871. Test16
  1872. ElseIf 17 = testN Then
  1873. Test17
  1874. ElseIf 18 = testN Then
  1875. Test18
  1876. ElseIf 19 = testN Then
  1877. Test19
  1878. ElseIf 20 = testN Then
  1879. Test20
  1880. End If
  1881. End If 'GetCommandArg
  1882. </script>
  1883. </job>