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.

1431 lines
47 KiB

  1. //------------------------------------------------
  2. // RSOP_Session
  3. // Currently there can be only one of these per namespace.
  4. //------------------------------------------------
  5. [
  6. Locale( 0x409 ),
  7. Description("This describes a single RSOP session. Currently there can be "
  8. "only one of these per namespace.")
  9. ]
  10. class RSOP_Session
  11. {
  12. [
  13. key, Read,
  14. Description("Session ID"),
  15. DisplayName("ID")
  16. ]
  17. string id;
  18. [
  19. Description("Version number of schema."), Read,
  20. DisplayName("Version")
  21. ]
  22. uint32 version = 0;
  23. [
  24. Description("Target user or computer."), Read,
  25. DisplayName("Target Name")
  26. ]
  27. string targetName = "";
  28. [
  29. Description("New group of target."), Read,
  30. DisplayName("SOM")
  31. ]
  32. string SOM = "";
  33. [
  34. Description("Security IDs of the new groups for target."), Read,
  35. DisplayName("Security Groups")
  36. ]
  37. string SecurityGroups[];
  38. [
  39. Description("Site of target"), Read,
  40. DisplayName("Site")
  41. ]
  42. string Site;
  43. [
  44. Description("Flags."), Read,
  45. DisplayName("Flags")
  46. ]
  47. uint32 flags = 0;
  48. [
  49. Description("Time this namespace was created."), Read,
  50. DisplayName("Creation Time")
  51. ]
  52. datetime creationTime;
  53. [
  54. Description("Time after lastPolicyApplicationTime when this namespace "
  55. "can be deleted."), Read,
  56. DisplayName("Time to Live")
  57. ]
  58. uint32 ttlMinutes;
  59. [
  60. Description("Flag that indicates whether the policy was applied "
  61. "over a slow link."), Read,
  62. DisplayName("Is Slow Link")
  63. ]
  64. boolean slowLink;
  65. };
  66. //------------------------------------------------
  67. // RSOP_SOM
  68. // Comment: Abstraction for Scope of Management.
  69. // A scope of management can be a site, domain, organizational unit or local scope.
  70. //------------------------------------------------
  71. [
  72. Locale( 0x409 ),
  73. Description("The RSOP_SOM class is an abstraction for a Scope of Management. "
  74. "A scope of management can be a site, domain, organizational unit or local scope.")
  75. ]
  76. class RSOP_SOM
  77. {
  78. [
  79. key,
  80. Description("SOM id, which is a unique identifier for objects "
  81. "of this class"), Read,
  82. DisplayName("ID")
  83. ]
  84. string id;
  85. [
  86. key,
  87. ValueMap {"1", "2"},
  88. Values {"Normal", "Loopback"},
  89. Description("Reason that the SOM is applicable, 1= Normal, "
  90. "2 = Loopback"), Read,
  91. DisplayName("Reason")
  92. ]
  93. uint32 reason = 1;
  94. [
  95. ValueMap {"1","2", "3", "4"},
  96. Values {"Local", "Site", "Domain", "OU" },
  97. Description("1 = local, 2 = site, 3 = domain, 4 = OU"), Read,
  98. DisplayName("Type")
  99. ]
  100. uint32 type;
  101. [
  102. Description("The order in which this SOM is evaluated with regard "
  103. "to other SOMs when evaluating Group Policy for the current target"),
  104. Read, DisplayName("SOM Order")
  105. ]
  106. uint32 SOMOrder;
  107. [
  108. Description("Flag to indicate whether this SOM blocks inheritance of "
  109. "policy from other SOMs higher in the SDOU hierarchy"), Read,
  110. DisplayName("Is Blocking")
  111. ]
  112. boolean blocking = false;
  113. [
  114. Description("Flag to indicate that this SOM is blocked"
  115. "by a SOM lower in the SDOU hierarchy"), Read,
  116. DisplayName("Is Blocked")
  117. ]
  118. boolean blocked = false;
  119. };
  120. //------------------------------------------------
  121. // RSOP_GPO
  122. // Comment: Abstraction for a Group Policy Object
  123. //------------------------------------------------
  124. [
  125. Locale( 0x409 ),
  126. Description("The RSOP_GPO class is an abstraction for a Group Policy "
  127. "Container or Object")
  128. ]
  129. class RSOP_GPO
  130. {
  131. [
  132. key,
  133. Description("This is the GP container path as retrieved from the DS."),
  134. Read, DisplayName("ID")
  135. ]
  136. string id;
  137. [
  138. Description("A user friendly name. This name may not be unique"), Read,
  139. DisplayName("Name")
  140. ]
  141. string name = "";
  142. [
  143. Description("GPO Name as a guid."), Read,
  144. DisplayName("GPO GUID")
  145. ]
  146. string guidName = "";
  147. [
  148. Description("Version Number of this GPO."), Read,
  149. DisplayName("Version")
  150. ]
  151. uint32 version = 0;
  152. [
  153. Description("Flag to indicate whether this GPO is enabled"), Read,
  154. DisplayName("Is Enabled")
  155. ]
  156. boolean enabled = true;
  157. [
  158. Description("Array of bytes containing the security descriptor "
  159. "associated with this GPO in self-relative format."), Read,
  160. DisplayName("Security Descriptor")
  161. ]
  162. uint8 securityDescriptor[];
  163. [
  164. Description("Path to the file system, i.e. sysvol part of the GPO."),
  165. Read, DisplayName("File System Path")
  166. ]
  167. string fileSystemPath = "";
  168. [
  169. Description("Flag to indicate that a GPO is found but inaccessible "
  170. "for security reasons."), Read,
  171. DisplayName("Is Access Denied")
  172. ]
  173. boolean accessDenied = false;
  174. [
  175. Description("Id of WQL filter on GPO."), Read,
  176. DisplayName("WQL Filter")
  177. ]
  178. string filterId = "";
  179. [
  180. Description("Flag to indicate whether a GPO passed the filter check."),
  181. Read, DisplayName("Is Filter Allowed")
  182. ]
  183. boolean filterAllowed = true;
  184. };
  185. //------------------------------------------------
  186. // RSOP_GPLink
  187. // Comment: Link of GPO to SOM
  188. //------------------------------------------------
  189. [
  190. Association: ToInstance,
  191. Locale( 0x409 ),
  192. Description("This class represents the links from a domain, OU, site or "
  193. "local scope to GPOs")
  194. ]
  195. class RSOP_GPLink
  196. {
  197. [
  198. key,
  199. Description("Reference to the SOM or scope of management "
  200. "associated with this link"), Read,
  201. DisplayName("SOM")
  202. ]
  203. RSOP_SOM ref SOM;
  204. [
  205. key,
  206. Description("Reference to GPO associated with this link"), Read,
  207. DisplayName("GPO")
  208. ]
  209. RSOP_GPO ref GPO;
  210. [
  211. key,
  212. Description("Order of the GPO within the SOM"), Read,
  213. DisplayName("SOM Order")
  214. ]
  215. uint32 somOrder = 0;
  216. [
  217. Description("Overall Order of the GPO Links found across"
  218. "all the applicable SOMs"), Read,
  219. DisplayName("Link Order")
  220. ]
  221. uint32 linkOrder = 0;
  222. [
  223. Description("Overall Order of the Applied GPO Links found across"
  224. "all the applicable SOMs"), Read,
  225. DisplayName("Applied Order")
  226. ]
  227. uint32 appliedOrder = 0;
  228. [
  229. Description("Indicates whether this link is enabled or disabled"),
  230. Read, DisplayName("Is Enabled")
  231. ]
  232. boolean enabled = true;
  233. [
  234. Description("Indicates whether this link is enforced down the "
  235. "SOM hierarchy"), Read,
  236. DisplayName("Force")
  237. ]
  238. boolean noOverride = false;
  239. };
  240. //------------------------------------------------
  241. // RSOP_PolicySetting
  242. // Comment: Abstraction for generic policy object
  243. //------------------------------------------------
  244. [
  245. abstract,
  246. Locale( 0x409 ),
  247. Description("The RSOP_PolicySetting class is the abstract parent object from "
  248. "which client-side extensions' policy objects are inherited")
  249. ]
  250. class RSOP_PolicySetting
  251. {
  252. //
  253. // Classes deriving from RSOP_PolicySetting must redefine "id" as a key
  254. //
  255. [
  256. Required,
  257. Not_Null, Read,
  258. Description("Unique identifier for objects of this class. \nNote: "
  259. "Classes deriving from RSOP_PolicySetting must redefine 'id' as a key"),
  260. DisplayName("ID")
  261. ]
  262. string id;
  263. //
  264. // Classes deriving from RSOP_PolicySetting must redefine "precedence" as a key
  265. //
  266. [
  267. Required,
  268. Not_Null, Read,
  269. Description(
  270. "The order or precedence in which this Policy Object is applied."
  271. "The winning policy is contained in the Policy Object whose precedence is 1. "
  272. "Precedence greater that 1 means that the policy contained in this Policy "
  273. "Object is a conflicting value that did not 'win'. \nNote: Classes deriving "
  274. "from RSOP_PolicySetting must redefine 'precedence' as a key"),
  275. DisplayName("Precedence")
  276. ]
  277. uint32 precedence;
  278. [
  279. Description("User friendly name of this policy object"), Read,
  280. DisplayName("Name")
  281. ]
  282. string name = "";
  283. [
  284. Description("Identifies the GPO that contains this Policy Object."
  285. "A client-side extension obtains this value from"
  286. "PGROUP_POLICY_OBJECT->lpDSPath. The prefix"
  287. "LDAP://CN=Machine from lpDSPath should be stripped"),
  288. Read, DisplayName("GPO ID")
  289. ]
  290. string GPOID = "";
  291. [
  292. Description("The SOM associated with the GPLink that references the GPO"
  293. "that contains this Policy Object. A client-side extension"
  294. "obtains this value from PGROUP_POLICY_OBJECT->lpLink."
  295. "The prefix LDAP:// from lpLink should be stripped"), Read,
  296. DisplayName("SOM")
  297. ]
  298. string SOMID = "";
  299. [
  300. Description("Time this policy object was created."), Read,
  301. DisplayName("Creation Time")
  302. ]
  303. datetime creationTime;
  304. };
  305. //------------------------------------------------
  306. // RSoP_PolicySettingStatus
  307. // Comment: Abtraction for error status of the policy setting
  308. //------------------------------------------------
  309. [
  310. Locale( 0x409 ),
  311. Description("The RSoP_PolicySettingStatus class provides information about a "
  312. "specific error that occured when trying to apply a policy setting.")
  313. ]
  314. class RSoP_PolicySettingStatus
  315. {
  316. [
  317. key,
  318. Description("Unique ID."), Read,
  319. DisplayName("ID")
  320. ]
  321. string id;
  322. [
  323. Description("The name of the source that generated the event."), Read,
  324. DisplayName("Event Source")
  325. ]
  326. string eventSource;
  327. [
  328. Description("The name of the event log type where the event was logged. "
  329. "E.g. Application, System."), Read,
  330. DisplayName("Event Log Name")
  331. ]
  332. string eventLogName;
  333. [
  334. Description("A number that identifies the event in the event log."), Read,
  335. DisplayName("Event ID")
  336. ]
  337. uint32 eventID;
  338. [
  339. Description("The time at which the event was logged."), Read,
  340. DisplayName("Time")
  341. ]
  342. datetime eventTime;
  343. [
  344. Description("A Win32 error code that indicates the actual failure."), Read,
  345. DisplayName("Error Code")
  346. ]
  347. uint32 errorCode;
  348. [
  349. ValueMap {"0", "1", "2", "3", "4"},
  350. Values { "Unspecified", "Applied", "Ignored", "Failed", "SubsettingFailed" },
  351. Description("The status of this setting"), Read,
  352. DisplayName("Status")
  353. ]
  354. sint32 status = 0;
  355. };
  356. //------------------------------------------------
  357. // RSoP_PolicySettingLink
  358. // Comment: association between a policy setting and its status
  359. //------------------------------------------------
  360. [
  361. Locale( 0x409 ),
  362. Description("An association between a policy setting and its status."),
  363. Association: ToInstance
  364. ]
  365. class RSoP_PolicySettingLink
  366. {
  367. [
  368. key,
  369. Description("Reference to the RSOP_PolicySetting"), Read,
  370. DisplayName("Setting")
  371. ]
  372. RSOP_PolicySetting ref setting;
  373. [
  374. key,
  375. Description("Reference to the RSoP_PolicySettingStatus"), Read,
  376. DisplayName("Status")
  377. ]
  378. RSoP_PolicySettingStatus ref status;
  379. };
  380. //------------------------------------------------
  381. // RSOP_IPSECPolicySetting
  382. // Comment: Abtraction for IPSEC extension policy data
  383. //------------------------------------------------
  384. [
  385. Locale( 0x409 ),
  386. Description("Policy object for IPSEC Policy")
  387. ]
  388. class RSOP_IPSECPolicySetting : RSOP_PolicySetting
  389. {
  390. [
  391. key,
  392. Description("Inherited from RSOP_PolicySetting"), Read,
  393. DisplayName("ID")
  394. ]
  395. string id;
  396. [
  397. Description("Inherited from RSOP_PolicySetting"), Read,
  398. DisplayName("Precedence")
  399. ]
  400. uint32 precedence;
  401. [
  402. Description("ClassName"), Read,
  403. DisplayName("ClassName")
  404. ]
  405. string ClassName;
  406. [
  407. Description("description"), Read,
  408. DisplayName("description")
  409. ]
  410. string description;
  411. [
  412. Description("name"), Read,
  413. DisplayName("name")
  414. ]
  415. string name;
  416. [
  417. Description("ipsecName"), Read,
  418. DisplayName("ipsecName")
  419. ]
  420. string ipsecName;
  421. [
  422. Description("ipsecID"), Read,
  423. DisplayName("ipsecID")
  424. ]
  425. string ipsecID;
  426. [
  427. Description("ipsecDataType"), Read,
  428. DisplayName("ipsecDataType")
  429. ]
  430. uint32 ipsecDataType;
  431. [
  432. Description("ipsecData"), Read,
  433. DisplayName("ipsecData")
  434. ]
  435. uint8 ipsecData[];
  436. [
  437. Description("ipsecISAKMPReference"), Read,
  438. DisplayName("ipsecISAKMPReference")
  439. ]
  440. string ipsecISAKMPReference;
  441. [
  442. Description("ipsecNFAReference"), Read,
  443. DisplayName("ipsecNFAReference")
  444. ]
  445. string ipsecNFAReference[];
  446. [
  447. Description("whenChanged"), Read,
  448. DisplayName("whenChanged")
  449. ]
  450. uint32 whenChanged;
  451. [
  452. Description("ipsecOwnersReference"), Read,
  453. DisplayName("ipsecOwnersReference")
  454. ]
  455. string ipsecOwnersReference[];
  456. [
  457. Description("ipsecNegotiationPolicyReference"), Read,
  458. DisplayName("ipsecNegotiationPolicyReference")
  459. ]
  460. string ipsecNegotiationPolicyReference;
  461. [
  462. Description("ipsecNegotiationPolicyType"), Read,
  463. DisplayName("ipsecNegotiationPolicyType")
  464. ]
  465. string ipsecNegotiationPolicyType;
  466. [
  467. Description("ipsecNegotiationPolicyAction"), Read,
  468. DisplayName("ipsecNegotiationPolicyAction")
  469. ]
  470. string ipsecNegotiationPolicyAction;
  471. [
  472. Description("ipsecFilterReference"), Read,
  473. DisplayName("ipsecFilterReference")
  474. ]
  475. string ipsecFilterReference[];
  476. };
  477. //------------------------------------------------
  478. // RSOP_IEEE80211PolicySetting
  479. // Comment: Abtraction for IEEE80211 extension policy data
  480. //------------------------------------------------
  481. [
  482. Locale( 0x409 ),
  483. Description("Policy object for Wireless Network Policy")
  484. ]
  485. class RSOP_IEEE80211PolicySetting : RSOP_PolicySetting
  486. {
  487. [
  488. key,
  489. Description("Inherited from RSOP_PolicySetting"), Read,
  490. DisplayName("ID")
  491. ]
  492. string id;
  493. [
  494. Description("Inherited from RSOP_PolicySetting"), Read,
  495. DisplayName("Precedence")
  496. ]
  497. uint32 precedence;
  498. [
  499. Description("ClassName"), Read,
  500. DisplayName("ClassName")
  501. ]
  502. string ClassName;
  503. [
  504. Description("description"), Read,
  505. DisplayName("description")
  506. ]
  507. string description;
  508. [
  509. Description("name"), Read,
  510. DisplayName("name")
  511. ]
  512. string name;
  513. [
  514. Description("msieee80211-Name"), Read,
  515. DisplayName("msieee80211-Name")
  516. ]
  517. string msieee80211Name;
  518. [
  519. Description("msieee80211-ID"), Read,
  520. DisplayName("msieee80211-ID")
  521. ]
  522. string msieee80211ID;
  523. [
  524. Description("msieee80211-DataType"), Read,
  525. DisplayName("msieee80211-DataType")
  526. ]
  527. uint32 msieee80211DataType;
  528. [
  529. Description("msieee80211-Data"), Read,
  530. DisplayName("msieee80211-Data")
  531. ]
  532. uint8 msieee80211Data[];
  533. [
  534. Description("whenChanged"), Read,
  535. DisplayName("whenChanged")
  536. ]
  537. uint32 whenChanged;
  538. };
  539. //------------------------------------------------
  540. // RSOP_RegistryPolicySetting
  541. // Comment: Abtraction for registry extension policy data
  542. //------------------------------------------------
  543. [
  544. Locale( 0x409 ),
  545. Description("Policy object for registry or Administrative Templates extension."
  546. "Policy settings in an .adm file involve settings values on registry"
  547. "keys which is abstracted by this class.")
  548. ]
  549. class RSOP_RegistryPolicySetting : RSOP_PolicySetting
  550. {
  551. [
  552. key,
  553. Description("Inherited from RSOP_PolicySetting"), Read,
  554. DisplayName("ID")
  555. ]
  556. string id;
  557. [
  558. key,
  559. Description("Inherited from RSOP_PolicySetting"), Read,
  560. DisplayName("Precedence")
  561. ]
  562. uint32 precedence;
  563. [
  564. Description("Name of the registry key,"), Read,
  565. DisplayName("Registry Key")
  566. ]
  567. string registryKey = "";
  568. [
  569. Description("Name of registry value"), Read,
  570. DisplayName("Value Name")
  571. ]
  572. string valueName = "";
  573. [
  574. Description("Data type of value, which corresponds to registry "
  575. "value types such as REG_SZ."), Read,
  576. DisplayName("Type")
  577. ]
  578. uint32 valueType = 0;
  579. [
  580. Description("Value represented by an array of bytes"), Read,
  581. DisplayName("Value")
  582. ]
  583. uint8 value[];
  584. [
  585. Description("Indicates whether the registry key, or registry value "
  586. "has been deleted."), Read,
  587. DisplayName("Is Deleted")
  588. ]
  589. boolean deleted = false;
  590. [
  591. Description("Command being run on the key, or value."), Read,
  592. DisplayName("Command")
  593. ]
  594. string command = "";
  595. };
  596. //------------------------------------------------
  597. // RSOP_AdministrativeTemplateFile
  598. // Comment: Abtraction for adminstrative templates file
  599. //------------------------------------------------
  600. [
  601. Locale( 0x409 ),
  602. Description("Administrative Template File")
  603. ]
  604. class RSOP_AdministrativeTemplateFile
  605. {
  606. [
  607. key,
  608. Description("File name, including path, of administrative "
  609. "template file"), Read,
  610. DisplayName("Name")
  611. ]
  612. string name;
  613. [
  614. key,
  615. Description("Identifies the GPO that contains this Policy "
  616. "Object"), Read,
  617. DisplayName("GPO ID")
  618. ]
  619. string GPOID = "";
  620. [
  621. Description("Time the administrative template file was last written"), Read,
  622. DisplayName("Last Write Time")
  623. ]
  624. datetime lastWriteTime;
  625. };
  626. //------------------------------------------------
  627. // RSOP_ScriptPolicySetting
  628. // Comment: Abstraction for script extension policy data
  629. //------------------------------------------------
  630. [
  631. Locale( 0x409 ),
  632. Description("Class that represents policy data for scripts extension")
  633. ]
  634. class RSOP_ScriptPolicySetting : RSOP_PolicySetting
  635. {
  636. [
  637. key,
  638. Description("Inherited from RSOP_PolicySetting"), Read,
  639. DisplayName("ID")
  640. ]
  641. string id;
  642. [
  643. key,
  644. Description("Inherited from RSOP_PolicySetting"), Read,
  645. DisplayName("Precedence")
  646. ]
  647. uint32 precedence;
  648. [
  649. ValueMap {"1", "2", "3", "4"},
  650. Values { "Logon", "Logoff", "Startup", "Shutdown" },
  651. Description("Indicate when the scripts in 'ScriptList' are to "
  652. "be run: 1=Logon, 2=logoff, 3=startup, 4=shutdown. "), Read,
  653. DisplayName("Script Type")
  654. ]
  655. uint32 scriptType = 0;
  656. [
  657. Description("List of RSOP_ScriptCmd objects containing information "
  658. "about the scripts to be run."), Read,
  659. DisplayName("Script List")
  660. ]
  661. RSOP_ScriptCmd scriptList[];
  662. [
  663. key,
  664. Description("Relative order of instantiation of "
  665. "RSOP_ScriptPolicySetting"), Read,
  666. DisplayName("Script Order")
  667. ]
  668. uint32 scriptOrder = 0;
  669. };
  670. //------------------------------------------------
  671. // RSOP_ScriptCommand
  672. // Comment: Abstraction for the script and its parameters
  673. //------------------------------------------------
  674. [
  675. Locale( 0x409 ),
  676. Description("Class that represents a list of scripts")
  677. ]
  678. class RSOP_ScriptCmd
  679. {
  680. [
  681. Description("Name of the script to be run"), Read,
  682. DisplayName("Script")
  683. ]
  684. string script;
  685. [
  686. Description("Arguments to the script command."), Read,
  687. DisplayName("Arguments")
  688. ]
  689. string arguments;
  690. [
  691. Description("Script execution time."), Read,
  692. DisplayName("Execution Time")
  693. ]
  694. datetime executionTime;
  695. };
  696. //------------------------------------------------
  697. // RSOP_ApplicationManagementCategory
  698. // Comment: Abstraction for application management categories
  699. //------------------------------------------------
  700. [
  701. Locale( 0x409 ),
  702. Description("Class that represents the a category of applications in"
  703. "the Add/Remove Programs control panel applet.")
  704. ]
  705. class RSOP_ApplicationManagementCategory
  706. {
  707. [
  708. key,
  709. Description("The unique identifier for the category."), Read,
  710. DisplayName("Category Id")
  711. ]
  712. string CategoryId;
  713. [
  714. Description("Name of the category"), Read,
  715. DisplayName("Name")
  716. ]
  717. string Name;
  718. [
  719. Description("Time this instance was created"), Read,
  720. DisplayName("Display Name")
  721. ]
  722. datetime CreationTime;
  723. };
  724. //------------------------------------------------
  725. // RSOP_ApplicationManagementPolicySetting
  726. // Comment: Abstraction for application management policy data
  727. //------------------------------------------------
  728. [
  729. Locale( 0x409 ),
  730. Description("Application Management Policy Setting")
  731. ]
  732. class RSOP_ApplicationManagementPolicySetting : RSOP_PolicySetting
  733. {
  734. [
  735. key,
  736. Description("Inherited from RSOP_PolicySetting"), Read,
  737. DisplayName("ID")
  738. ]
  739. string id;
  740. [
  741. key,
  742. Description("Inherited from RSOP_PolicySetting"), Read,
  743. DisplayName("Precedence")
  744. ]
  745. uint32 precedence;
  746. //
  747. // Properties that describe the application itself
  748. //
  749. [
  750. key,
  751. ValueMap {"1", "2", "3"},
  752. Values { "Applied", "Removed", "ARP" },
  753. Description("Describes the contents of the instance: "
  754. "1 = Applied Application, 2 = Removed Application, "
  755. "3 = ARP List item."), Read,
  756. DisplayName("Entry Type")
  757. ]
  758. uint32 EntryType;
  759. [
  760. key,
  761. Description("Guid that identifies this application."), Read,
  762. DisplayName("Application Id")
  763. ]
  764. string ApplicationId;
  765. [
  766. ValueMap {"1", "2"},
  767. Values { "WindowsInstaller", "ZAP" },
  768. Description("This describes the type of the package to be "
  769. "installed: 1 = Windows Installer, 2 = ZAP."), Read,
  770. DisplayName("Package Type")
  771. ]
  772. uint32 PackageType;
  773. [
  774. Description("The Windows Installer product code, a unique "
  775. "id identifying the software product."), Read,
  776. DisplayName("Product Id")
  777. ]
  778. string ProductId;
  779. [
  780. Description("Name of the vendor of the software."), Read,
  781. DisplayName("")
  782. ]
  783. string Publisher;
  784. [
  785. Description("For Windows Installer packages, this is the file "
  786. "system path to the Windows installer package. For ZAP packages, "
  787. "this is the path to the setup.exe program."), Read,
  788. DisplayName("Package Location")
  789. ]
  790. string PackageLocation;
  791. [
  792. Description("A fully qualified path to the Windows Installer "
  793. "advertisement script."), Read,
  794. DisplayName("Script File")
  795. ]
  796. string ScriptFile;
  797. [
  798. Description("A list of CategoryId guids for categories that apply "
  799. "to this application. Each guid corresponds to one of the CategoryId "
  800. "properties of an instance of RSOP_ApplicationManagementCategory."),
  801. Read, DisplayName("Categories")
  802. ]
  803. string Categories[];
  804. //
  805. // Properties describing the precedence relationship between this deployed
  806. // application and other applications
  807. //
  808. [
  809. ValueMap {"1", "2", "3", "4", "5", "6"},
  810. Values { "Language", "Product", "Time",
  811. "Upgrade", "Highest", "NonForced" },
  812. Description(
  813. "If this application has a lower precedence than another, "
  814. "the reason this application has the lower precedence than "
  815. "the next highest precedence application. \n"
  816. "1 = This application's Language is a less suitable match for the target, \n"
  817. "2 = This application's Product Identifier conflicts with the higher application \n"
  818. "3 = This application was deployed more recently than the higher application \n"
  819. "4 = This application is upgraded by the higher precedence application. \n"
  820. "5 = This application is the winning application \n"
  821. "6 = This assigned application is upgraded by an optional upgrade"), Read,
  822. DisplayName("Precedence Reason")
  823. ]
  824. uint32 PrecedenceReason;
  825. //
  826. // Properties relating to the version of the application and its deployment
  827. //
  828. [
  829. Description("Minor version number of the application."), Read,
  830. DisplayName("Version Number Lo")
  831. ]
  832. uint32 VersionNumberLo;
  833. [
  834. Description("Major version number of the application."), Read,
  835. DisplayName("Version Number Hi")
  836. ]
  837. uint32 VersionNumberHi;
  838. [
  839. Description("The number of times this application has been "
  840. "re-deployed."), Read,
  841. DisplayName("Redeploy Count")
  842. ]
  843. uint32 RedeployCount;
  844. [
  845. Description("The last modification time of this application by the administrator"
  846. "when the application was applied to this target."), Read,
  847. DisplayName("Deployment Last Modify Time")
  848. ]
  849. datetime DeploymentLastModifyTime;
  850. //
  851. // Properties that affect what targets may receive this application
  852. //
  853. [
  854. Description(
  855. "Security desriptor of the deployed application. This descriptor "
  856. "is in self-relative format"),
  857. Read, DisplayName("Security Descriptor")
  858. ]
  859. uint8 SecurityDescriptor[];
  860. [
  861. Description("A list of Win32 machine architectures supported "
  862. "by this application."), Read,
  863. DisplayName("Machine Architectures")
  864. ]
  865. uint32 MachineArchitectures[];
  866. [
  867. Description("A Windows language ID for the language supported "
  868. "by the application."), Read,
  869. DisplayName("Language Id")
  870. ]
  871. uint32 LanguageId;
  872. //
  873. // Properties describing the settings chosen by the administrator for this application
  874. //
  875. [
  876. ValueMap {"1", "2"},
  877. Values { "Assigned", "Published" },
  878. Description("Whether the application is assigned or published: "
  879. "1 = Assigned, 2 = Published."), Read,
  880. DisplayName("Deployment Type")
  881. ]
  882. uint32 DeploymentType;
  883. [
  884. ValueMap {"1", "2", "3"},
  885. Values { "NotAssigned", "Standard", "Install" },
  886. Description("For assigned applications, whether or not a "
  887. "lightweight install or an actual install is performed \n"
  888. "1 = This is not an assigned application \n"
  889. "2 = Lightweight install \n"
  890. "3 = Install"), Read,
  891. DisplayName("Assignment Type")
  892. ]
  893. uint32 AssignmentType;
  894. [
  895. ValueMap {"1", "2"},
  896. Values { "Basic", "Maximum" },
  897. Description("The user interface level of the install: "
  898. "1 = Basic, 2 = Maximum."), Read,
  899. DisplayName("Installation UI")
  900. ]
  901. uint32 InstallationUI;
  902. [
  903. Description("If TRUE, the application may be used to satisfy a "
  904. "demand install for a clsid or file extension. If FALSE, the "
  905. "application may not be used for this purpose."), Read,
  906. DisplayName("Demand Installable")
  907. ]
  908. boolean DemandInstallable;
  909. [
  910. Description("If this is an X86-only application, this property "
  911. "is true if the application may be deployed to an ia64 computer."
  912. "If FALSE, the application may not be deployed to an ia64 computer."),
  913. Read, DisplayName("AllowX86OnIA64")
  914. ]
  915. boolean AllowX86OnIA64;
  916. [
  917. ValueMap {"1", "2"},
  918. Values { "Uninstall", "Unmanage" },
  919. Description("Determines the behavior of the software when the GPO "
  920. "for the application goes out of scope: 1 = uninstall the software, "
  921. "2 = Unmanage it."), Read,
  922. DisplayName("Loss Of Scope Action")
  923. ]
  924. uint32 LossOfScopeAction;
  925. [
  926. Description("If TRUE, this application will cause currently installed "
  927. "unmanaged applications with the same Windows Installer Product Identifier "
  928. "to be removed in order to install this application."), Read,
  929. DisplayName("Uninstall Unmanaged")
  930. ]
  931. boolean UninstallUnmanaged;
  932. [
  933. Description("If TRUE, this application may be displayed in the ARP "
  934. "applet. If FALSE, it will not be displayed in the applet."), Read,
  935. DisplayName("Display In ARP")
  936. ]
  937. boolean DisplayInARP;
  938. [
  939. Description("If TRUE, language is ignored when determining whether "
  940. "this application applies to a user or machine. If FALSE, language "
  941. "is taken into consideration."), Read,
  942. DisplayName("Ignore Language")
  943. ]
  944. boolean IgnoreLanguage;
  945. [
  946. Description("A list of file system paths to Windows Installer "
  947. "transform files used to modify this application's package."), Read,
  948. DisplayName("Transforms")
  949. ]
  950. string Transforms[];
  951. [
  952. Description("A URL for presentation to the user when support for the application is needed"), Read,
  953. DisplayName("SupportURL")
  954. ]
  955. string SupportURL;
  956. //
  957. // Properties describing upgrade relationships
  958. //
  959. [
  960. Description("A list of ApplicationId's in guid form for "
  961. "applications replaced (uninstalled) by this application. Each ApplicationId "
  962. "corresponds to the ApplicationId property of an instance of "
  963. "RSOP_ApplicationManagementPolicySetting."),
  964. Read,
  965. DisplayName("Replaceable Applications")
  966. ]
  967. string ReplaceableApplications[];
  968. [
  969. Description("A list of ApplicationId's in guid form for applications "
  970. "that upgraded (installed over) by applying this application. Each ApplicationId corresponds "
  971. "to the ApplicationId property of an instance of "
  972. "RSOP_ApplicationManagementPolicySetting."), Read,
  973. DisplayName("Upgradeable Applications")
  974. ]
  975. string UpgradeableApplications[];
  976. [
  977. Description("If TRUE, this application must be installed if one "
  978. "of the applications in its list of upgradeable or replaceable applications is already applied "
  979. "to the target"), Read,
  980. DisplayName("Upgrade Settings Mandatory")
  981. ]
  982. boolean UpgradeSettingsMandatory;
  983. //
  984. // Properties describing why this application was applied to a target
  985. //
  986. [
  987. ValueMap {"1", "2", "3", "4"},
  988. Values { "Assignment", "Applied", "Upgrades", "Conditional" },
  989. Description("The reason that this application was eligible for application to the target \n"
  990. "1 = It was assigned, \n"
  991. "2 = The application is applied to the user's profile, \n"
  992. "3 = The application had potential upgrades for other applied settings, \n"
  993. "4 = The application would be eligible in logging mode only if the application were already applied to the target "), Read,
  994. DisplayName("Eligibility")
  995. ]
  996. uint32 Eligibility;
  997. [
  998. ValueMap {"1", "2", "3", "4", "5", "6", "7", "8"},
  999. Values { "Assignment", "User", "Profile", "Extension", "Clsid",
  1000. "Upgrade", "ProgId", "None" },
  1001. Description("The situation that triggered the installation of the application: \n"
  1002. "1 = It was assigned, \n"
  1003. "2 = User Installed through Add / Remove Programs, \n"
  1004. "3 = The application was already installed in the user's profile \n"
  1005. "4 = Installed via file extension activation, \n"
  1006. "5 = installed via clsid activation, \n"
  1007. "6 = Forced upgrade of locally installed application at logon. \n"
  1008. "7 = Installed via ProgId activation \n"
  1009. "8 = The application was re-deployed"), Read,
  1010. DisplayName("Apply Cause")
  1011. ]
  1012. uint32 ApplyCause;
  1013. [
  1014. ValueMap {"1", "2", "3", "4", "5"},
  1015. Values { "System", "English", "Ignore", "Neutral", "None" },
  1016. Description("This indicates how the language was matched to the system: \n"
  1017. "1 = the application language matched the system language, \n"
  1018. "2 = the application language was English, \n"
  1019. "3 = the application had the IgnoreLanguage attribute, \n"
  1020. "4 = the application was language neutral, \n"
  1021. "5 = Language did not match."), Read,
  1022. DisplayName("Language Match")
  1023. ]
  1024. uint32 LanguageMatch;
  1025. [
  1026. Description("If the application was installed via on-demand "
  1027. "installation by a file extension, this is the file extension "
  1028. "that caused that installation."), Read,
  1029. DisplayName("On Demand File Extension")
  1030. ]
  1031. string OnDemandFileExtension;
  1032. [
  1033. Description("If the application was installed via on-demand "
  1034. "installation through a COM activation, this is the CLSID that "
  1035. "caused the installation"), Read,
  1036. DisplayName("On Demand Clsid")
  1037. ]
  1038. string OnDemandClsid;
  1039. [
  1040. Description("If the application was installed via on-demand "
  1041. "installation through a COM activation, this is the ProgId "
  1042. "that caused the installation"), Read,
  1043. DisplayName("On Demand Prog Id")
  1044. ]
  1045. string OnDemandProgId;
  1046. //
  1047. // Properties describing why this application was un-applied from the target
  1048. //
  1049. [
  1050. ValueMap {"1", "2", "3", "4", "5", "6", "7","8"},
  1051. Values { "None", "Upgraded", "Administrative", "User", "Scope",
  1052. "Transform", "Product", "Profile" },
  1053. Description("The situation that triggered the removal of the application: \n"
  1054. "1 = not removed, \n"
  1055. "2 = upgraded, \n"
  1056. "3 = Removed by admin, \n"
  1057. "4 = removed by user, \n"
  1058. "5 = Application went out of scope, \n"
  1059. "6 = Removed due to transform conflict, \n"
  1060. "7 = Removed due to product conflict, \n"
  1061. "8 = Removed due to removal from user profile."), Read,
  1062. DisplayName("Removal Cause")
  1063. ]
  1064. uint32 RemovalCause;
  1065. [
  1066. ValueMap {"1", "2", "3", "4"},
  1067. Values { "Not Removed", "Upgraded", "Uninstalled", "Unmanaged" },
  1068. Description("Describes the manner in which this application "
  1069. "ceased to be applied: 1 = not removed, 2 = upgraded, 3 = uninstalled, "
  1070. "4 = Unmanaged."), Read,
  1071. DisplayName("Removal Type")
  1072. ]
  1073. uint32 RemovalType;
  1074. [
  1075. Description("A guid corresponding to the ApplicationId property "
  1076. "of RSOP_ApplicationManagmentPolicySetting for the application that "
  1077. "caused this application to no longer apply to the target."), Read,
  1078. DisplayName("Removing Application")
  1079. ]
  1080. string RemovingApplication;
  1081. };
  1082. //------------------------------------------------
  1083. // RSOP_FolderRedirectionPolicySetting
  1084. // Comment: Abstraction for folder redirection policy data
  1085. //------------------------------------------------
  1086. [
  1087. Locale( 0x409 ),
  1088. Description("Class that represents data for folder redirection extension")
  1089. ]
  1090. class RSOP_FolderRedirectionPolicySetting : RSOP_PolicySetting
  1091. {
  1092. [
  1093. key,
  1094. Description("Inherited from RSOP_PolicySetting"), Read,
  1095. DisplayName("ID")
  1096. ]
  1097. string id;
  1098. [
  1099. key,
  1100. Description("Inherited from RSOP_PolicySetting"), Read,
  1101. DisplayName("Precedence")
  1102. ]
  1103. uint32 precedence;
  1104. [
  1105. Description("Security group membership that caused this folder to redirect"),
  1106. Read, DisplayName("redirecting Group")
  1107. ]
  1108. string redirectingGroup;
  1109. [
  1110. Description("Path to which this folder is redirected"), Read,
  1111. DisplayName("Resultant Path")
  1112. ]
  1113. string resultantPath;
  1114. [
  1115. ValueMap {"1", "2"},
  1116. Values { "Basic", "Advanced" },
  1117. Description("Installation Type: 1 = basic, 2 = advanced"), Read,
  1118. DisplayName("installation Type")
  1119. ]
  1120. uint32 installationType;
  1121. [
  1122. Description("Groups, represented by an array of security groups"), Read,
  1123. DisplayName("security Groups")
  1124. ]
  1125. string securityGroups[];
  1126. [
  1127. Description("Paths, represented by an array of redirection paths"), Read,
  1128. DisplayName("redirected Paths")
  1129. ]
  1130. string redirectedPaths[];
  1131. [
  1132. Description("Indicates whether the user is granted exclusive access"),
  1133. Read, DisplayName("grant Type")
  1134. ]
  1135. boolean grantType;
  1136. [
  1137. Description("Indicates whether or not the contents of the local "
  1138. "directory are moved"), Read,
  1139. DisplayName("move Type")
  1140. ]
  1141. boolean moveType;
  1142. [
  1143. ValueMap {"1", "2"},
  1144. Values { "None", "Profile" },
  1145. Description("Action to take on policy removal: 1 = leave folder in new "
  1146. "location, 2 = redirect the folder back to the user profile location"),
  1147. Read, DisplayName("policy Removal")
  1148. ]
  1149. uint32 policyRemoval;
  1150. };
  1151. //------------------------------------------------
  1152. // RSOP_ExtensionStatus
  1153. // Comment: Generic Extension Status object
  1154. //------------------------------------------------
  1155. [
  1156. Locale( 0x409 ),
  1157. Description("Class that represents client-side extensions' Session Status")
  1158. ]
  1159. class RSOP_ExtensionStatus
  1160. {
  1161. [
  1162. key,
  1163. Description("Guid of the extension"), Read,
  1164. DisplayName("Extension GUID")
  1165. ]
  1166. string extensionGuid= "";
  1167. [
  1168. Description("Display name of the extension being run"), Read,
  1169. DisplayName("Name")
  1170. ]
  1171. string displayName= "";
  1172. [
  1173. Description("Time when this CSE was last invoked."), Read,
  1174. DisplayName("Begin Time")
  1175. ]
  1176. datetime beginTime;
  1177. [
  1178. Description("Time when this CSE finished processing the last invoked."),
  1179. Read, DisplayName("End Time")
  1180. ]
  1181. datetime endTime;
  1182. [
  1183. ValueMap {"1", "2", "3"},
  1184. Values { "Logging - Complete", "Logging - Not Complete",
  1185. "Logging - Not Supported"},
  1186. Description("Logging Status: "
  1187. "1 = Client Side Extension logged data successfully, \n"
  1188. "2 = Client Side Extension logged could not log data, "
  1189. "data might be incomplete, \n"
  1190. "3 = Client Side Extension does not support logging"),
  1191. Read, DisplayName("Status")
  1192. ]
  1193. uint32 loggingStatus = 1;
  1194. [
  1195. Description("Error code if any that has caused the processing to abort"),
  1196. Read, DisplayName("Error Code")
  1197. ]
  1198. uint32 error = 0;
  1199. };
  1200. //------------------------------------------------
  1201. // RSOP_ExtensionEventSource
  1202. //------------------------------------------------
  1203. [
  1204. Locale( 0x409 ),
  1205. Description("Class that represents client-side extensions' event log message sources")
  1206. ]
  1207. class RSOP_ExtensionEventSource
  1208. {
  1209. [
  1210. key,
  1211. Description("Unique ID."), Read,
  1212. DisplayName("ID")
  1213. ]
  1214. string id;
  1215. [
  1216. Description ("the event source that can report an event when "
  1217. "this CSE is applying policy"), Read,
  1218. DisplayName("Event Log Source")
  1219. ]
  1220. string eventLogSource;
  1221. [
  1222. Description ("the event log name that can report an event when "
  1223. "this CSE is applying policy"), Read,
  1224. DisplayName("Event Log Name")
  1225. ]
  1226. string eventLogName;
  1227. };
  1228. //------------------------------------------------
  1229. // RSOP_ExtensionEventSourceLink
  1230. //------------------------------------------------
  1231. [
  1232. Locale( 0x409 ),
  1233. Description("Class that represents client-side extensions' event log message sources")
  1234. ]
  1235. class RSOP_ExtensionEventSourceLink
  1236. {
  1237. [
  1238. key,
  1239. Description ("CSE status"), Read,
  1240. DisplayName("Extension Status")
  1241. ]
  1242. RSOP_ExtensionStatus ref extensionStatus;
  1243. [
  1244. key,
  1245. Description ("event source"), Read,
  1246. DisplayName("Event Source")
  1247. ]
  1248. RSOP_ExtensionEventSource ref eventSource;
  1249. };
  1250. //-------------------------------------------
  1251. // End of classes file
  1252. //-------------------------------------------