//------------------------------------------------ // RSOP_Session // Currently there can be only one of these per namespace. //------------------------------------------------ [ Locale( 0x409 ), Description("This describes a single RSOP session. Currently there can be " "only one of these per namespace.") ] class RSOP_Session { [ key, Read, Description("Session ID"), DisplayName("ID") ] string id; [ Description("Version number of schema."), Read, DisplayName("Version") ] uint32 version = 0; [ Description("Target user or computer."), Read, DisplayName("Target Name") ] string targetName = ""; [ Description("New group of target."), Read, DisplayName("SOM") ] string SOM = ""; [ Description("Security IDs of the new groups for target."), Read, DisplayName("Security Groups") ] string SecurityGroups[]; [ Description("Site of target"), Read, DisplayName("Site") ] string Site; [ Description("Flags."), Read, DisplayName("Flags") ] uint32 flags = 0; [ Description("Time this namespace was created."), Read, DisplayName("Creation Time") ] datetime creationTime; [ Description("Time after lastPolicyApplicationTime when this namespace " "can be deleted."), Read, DisplayName("Time to Live") ] uint32 ttlMinutes; [ Description("Flag that indicates whether the policy was applied " "over a slow link."), Read, DisplayName("Is Slow Link") ] boolean slowLink; }; //------------------------------------------------ // RSOP_SOM // Comment: Abstraction for Scope of Management. // A scope of management can be a site, domain, organizational unit or local scope. //------------------------------------------------ [ Locale( 0x409 ), Description("The RSOP_SOM class is an abstraction for a Scope of Management. " "A scope of management can be a site, domain, organizational unit or local scope.") ] class RSOP_SOM { [ key, Description("SOM id, which is a unique identifier for objects " "of this class"), Read, DisplayName("ID") ] string id; [ key, ValueMap {"1", "2"}, Values {"Normal", "Loopback"}, Description("Reason that the SOM is applicable, 1= Normal, " "2 = Loopback"), Read, DisplayName("Reason") ] uint32 reason = 1; [ ValueMap {"1","2", "3", "4"}, Values {"Local", "Site", "Domain", "OU" }, Description("1 = local, 2 = site, 3 = domain, 4 = OU"), Read, DisplayName("Type") ] uint32 type; [ Description("The order in which this SOM is evaluated with regard " "to other SOMs when evaluating Group Policy for the current target"), Read, DisplayName("SOM Order") ] uint32 SOMOrder; [ Description("Flag to indicate whether this SOM blocks inheritance of " "policy from other SOMs higher in the SDOU hierarchy"), Read, DisplayName("Is Blocking") ] boolean blocking = false; [ Description("Flag to indicate that this SOM is blocked" "by a SOM lower in the SDOU hierarchy"), Read, DisplayName("Is Blocked") ] boolean blocked = false; }; //------------------------------------------------ // RSOP_GPO // Comment: Abstraction for a Group Policy Object //------------------------------------------------ [ Locale( 0x409 ), Description("The RSOP_GPO class is an abstraction for a Group Policy " "Container or Object") ] class RSOP_GPO { [ key, Description("This is the GP container path as retrieved from the DS."), Read, DisplayName("ID") ] string id; [ Description("A user friendly name. This name may not be unique"), Read, DisplayName("Name") ] string name = ""; [ Description("GPO Name as a guid."), Read, DisplayName("GPO GUID") ] string guidName = ""; [ Description("Version Number of this GPO."), Read, DisplayName("Version") ] uint32 version = 0; [ Description("Flag to indicate whether this GPO is enabled"), Read, DisplayName("Is Enabled") ] boolean enabled = true; [ Description("Array of bytes containing the security descriptor " "associated with this GPO in self-relative format."), Read, DisplayName("Security Descriptor") ] uint8 securityDescriptor[]; [ Description("Path to the file system, i.e. sysvol part of the GPO."), Read, DisplayName("File System Path") ] string fileSystemPath = ""; [ Description("Flag to indicate that a GPO is found but inaccessible " "for security reasons."), Read, DisplayName("Is Access Denied") ] boolean accessDenied = false; [ Description("Id of WQL filter on GPO."), Read, DisplayName("WQL Filter") ] string filterId = ""; [ Description("Flag to indicate whether a GPO passed the filter check."), Read, DisplayName("Is Filter Allowed") ] boolean filterAllowed = true; }; //------------------------------------------------ // RSOP_GPLink // Comment: Link of GPO to SOM //------------------------------------------------ [ Association: ToInstance, Locale( 0x409 ), Description("This class represents the links from a domain, OU, site or " "local scope to GPOs") ] class RSOP_GPLink { [ key, Description("Reference to the SOM or scope of management " "associated with this link"), Read, DisplayName("SOM") ] RSOP_SOM ref SOM; [ key, Description("Reference to GPO associated with this link"), Read, DisplayName("GPO") ] RSOP_GPO ref GPO; [ key, Description("Order of the GPO within the SOM"), Read, DisplayName("SOM Order") ] uint32 somOrder = 0; [ Description("Overall Order of the GPO Links found across" "all the applicable SOMs"), Read, DisplayName("Link Order") ] uint32 linkOrder = 0; [ Description("Overall Order of the Applied GPO Links found across" "all the applicable SOMs"), Read, DisplayName("Applied Order") ] uint32 appliedOrder = 0; [ Description("Indicates whether this link is enabled or disabled"), Read, DisplayName("Is Enabled") ] boolean enabled = true; [ Description("Indicates whether this link is enforced down the " "SOM hierarchy"), Read, DisplayName("Force") ] boolean noOverride = false; }; //------------------------------------------------ // RSOP_PolicySetting // Comment: Abstraction for generic policy object //------------------------------------------------ [ abstract, Locale( 0x409 ), Description("The RSOP_PolicySetting class is the abstract parent object from " "which client-side extensions' policy objects are inherited") ] class RSOP_PolicySetting { // // Classes deriving from RSOP_PolicySetting must redefine "id" as a key // [ Required, Not_Null, Read, Description("Unique identifier for objects of this class. \nNote: " "Classes deriving from RSOP_PolicySetting must redefine 'id' as a key"), DisplayName("ID") ] string id; // // Classes deriving from RSOP_PolicySetting must redefine "precedence" as a key // [ Required, Not_Null, Read, Description( "The order or precedence in which this Policy Object is applied." "The winning policy is contained in the Policy Object whose precedence is 1. " "Precedence greater that 1 means that the policy contained in this Policy " "Object is a conflicting value that did not 'win'. \nNote: Classes deriving " "from RSOP_PolicySetting must redefine 'precedence' as a key"), DisplayName("Precedence") ] uint32 precedence; [ Description("User friendly name of this policy object"), Read, DisplayName("Name") ] string name = ""; [ Description("Identifies the GPO that contains this Policy Object." "A client-side extension obtains this value from" "PGROUP_POLICY_OBJECT->lpDSPath. The prefix" "LDAP://CN=Machine from lpDSPath should be stripped"), Read, DisplayName("GPO ID") ] string GPOID = ""; [ Description("The SOM associated with the GPLink that references the GPO" "that contains this Policy Object. A client-side extension" "obtains this value from PGROUP_POLICY_OBJECT->lpLink." "The prefix LDAP:// from lpLink should be stripped"), Read, DisplayName("SOM") ] string SOMID = ""; [ Description("Time this policy object was created."), Read, DisplayName("Creation Time") ] datetime creationTime; }; //------------------------------------------------ // RSoP_PolicySettingStatus // Comment: Abtraction for error status of the policy setting //------------------------------------------------ [ Locale( 0x409 ), Description("The RSoP_PolicySettingStatus class provides information about a " "specific error that occured when trying to apply a policy setting.") ] class RSoP_PolicySettingStatus { [ key, Description("Unique ID."), Read, DisplayName("ID") ] string id; [ Description("The name of the source that generated the event."), Read, DisplayName("Event Source") ] string eventSource; [ Description("The name of the event log type where the event was logged. " "E.g. Application, System."), Read, DisplayName("Event Log Name") ] string eventLogName; [ Description("A number that identifies the event in the event log."), Read, DisplayName("Event ID") ] uint32 eventID; [ Description("The time at which the event was logged."), Read, DisplayName("Time") ] datetime eventTime; [ Description("A Win32 error code that indicates the actual failure."), Read, DisplayName("Error Code") ] uint32 errorCode; [ ValueMap {"0", "1", "2", "3", "4"}, Values { "Unspecified", "Applied", "Ignored", "Failed", "SubsettingFailed" }, Description("The status of this setting"), Read, DisplayName("Status") ] sint32 status = 0; }; //------------------------------------------------ // RSoP_PolicySettingLink // Comment: association between a policy setting and its status //------------------------------------------------ [ Locale( 0x409 ), Description("An association between a policy setting and its status."), Association: ToInstance ] class RSoP_PolicySettingLink { [ key, Description("Reference to the RSOP_PolicySetting"), Read, DisplayName("Setting") ] RSOP_PolicySetting ref setting; [ key, Description("Reference to the RSoP_PolicySettingStatus"), Read, DisplayName("Status") ] RSoP_PolicySettingStatus ref status; }; //------------------------------------------------ // RSOP_RegistryPolicySetting // Comment: Abtraction for registry extension policy data //------------------------------------------------ [ Locale( 0x409 ), Description("Policy object for registry or Administrative Templates extension." "Policy settings in an .adm file involve settings values on registry" "keys which is abstracted by this class.") ] class RSOP_RegistryPolicySetting : RSOP_PolicySetting { [ key, Description("Inherited from RSOP_PolicySetting"), Read, DisplayName("ID") ] string id; [ key, Description("Inherited from RSOP_PolicySetting"), Read, DisplayName("Precedence") ] uint32 precedence; [ Description("Name of the registry key,"), Read, DisplayName("Registry Key") ] string registryKey = ""; [ Description("Name of registry value"), Read, DisplayName("Value Name") ] string valueName = ""; [ Description("Data type of value, which corresponds to registry " "value types such as REG_SZ."), Read, DisplayName("Type") ] uint32 valueType = 0; [ Description("Value represented by an array of bytes"), Read, DisplayName("Value") ] uint8 value[]; [ Description("Indicates whether the registry key, or registry value " "has been deleted."), Read, DisplayName("Is Deleted") ] boolean deleted = false; [ Description("Command being run on the key, or value."), Read, DisplayName("Command") ] string command = ""; }; //------------------------------------------------ // RSOP_AdministrativeTemplateFile // Comment: Abtraction for adminstrative templates file //------------------------------------------------ [ Locale( 0x409 ), Description("Administrative Template File") ] class RSOP_AdministrativeTemplateFile { [ key, Description("File name, including path, of administrative " "template file"), Read, DisplayName("Name") ] string name; [ key, Description("Identifies the GPO that contains this Policy " "Object"), Read, DisplayName("GPO ID") ] string GPOID = ""; [ Description("Time the administrative template file was last written"), Read, DisplayName("Last Write Time") ] datetime lastWriteTime; }; //------------------------------------------------ // RSOP_ScriptPolicySetting // Comment: Abstraction for script extension policy data //------------------------------------------------ [ Locale( 0x409 ), Description("Class that represents policy data for scripts extension") ] class RSOP_ScriptPolicySetting : RSOP_PolicySetting { [ key, Description("Inherited from RSOP_PolicySetting"), Read, DisplayName("ID") ] string id; [ key, Description("Inherited from RSOP_PolicySetting"), Read, DisplayName("Precedence") ] uint32 precedence; [ ValueMap {"1", "2", "3", "4"}, Values { "Logon", "Logoff", "Startup", "Shutdown" }, Description("Indicate when the scripts in 'ScriptList' are to " "be run: 1=Logon, 2=logoff, 3=startup, 4=shutdown. "), Read, DisplayName("Script Type") ] uint32 scriptType = 0; [ Description("List of RSOP_ScriptCmd objects containing information " "about the scripts to be run."), Read, DisplayName("Script List") ] RSOP_ScriptCmd scriptList[]; [ key, Description("Relative order of instantiation of " "RSOP_ScriptPolicySetting"), Read, DisplayName("Script Order") ] uint32 scriptOrder = 0; }; //------------------------------------------------ // RSOP_ScriptCommand // Comment: Abstraction for the script and its parameters //------------------------------------------------ [ Locale( 0x409 ), Description("Class that represents a list of scripts") ] class RSOP_ScriptCmd { [ Description("Name of the script to be run"), Read, DisplayName("Script") ] string script; [ Description("Arguments to the script command."), Read, DisplayName("Arguments") ] string arguments; [ Description("Script execution time."), Read, DisplayName("Execution Time") ] datetime executionTime; }; //------------------------------------------------ // RSOP_ApplicationManagementCategory // Comment: Abstraction for application management categories //------------------------------------------------ [ Locale( 0x409 ), Description("Class that represents the a category of applications in" "the Add/Remove Programs control panel applet.") ] class RSOP_ApplicationManagementCategory { [ key, Description("The unique identifier for the category."), Read, DisplayName("Category Id") ] string CategoryId; [ Description("Name of the category"), Read, DisplayName("Name") ] string Name; [ Description("Time this instance was created"), Read, DisplayName("Display Name") ] datetime CreationTime; }; //------------------------------------------------ // RSOP_ApplicationManagementPolicySetting // Comment: Abstraction for application management policy data //------------------------------------------------ [ Locale( 0x409 ), Description("Application Management Policy Setting") ] class RSOP_ApplicationManagementPolicySetting : RSOP_PolicySetting { [ key, Description("Inherited from RSOP_PolicySetting"), Read, DisplayName("ID") ] string id; [ key, Description("Inherited from RSOP_PolicySetting"), Read, DisplayName("Precedence") ] uint32 precedence; // // Properties that describe the application itself // [ key, ValueMap {"1", "2", "3"}, Values { "Applied", "Removed", "ARP" }, Description("Describes the contents of the instance: " "1 = Applied Application, 2 = Removed Application, " "3 = ARP List item."), Read, DisplayName("Entry Type") ] uint32 EntryType; [ key, Description("Guid that identifies this application."), Read, DisplayName("Application Id") ] string ApplicationId; [ ValueMap {"1", "2"}, Values { "WindowsInstaller", "ZAP" }, Description("This describes the type of the package to be " "installed: 1 = Windows Installer, 2 = ZAP."), Read, DisplayName("Package Type") ] uint32 PackageType; [ Description("The Windows Installer product code, a unique " "id identifying the software product."), Read, DisplayName("Product Id") ] string ProductId; [ Description("Name of the vendor of the software."), Read, DisplayName("") ] string Publisher; [ Description("For Windows Installer packages, this is the file " "system path to the Windows installer package. For ZAP packages, " "this is the path to the setup.exe program."), Read, DisplayName("Package Location") ] string PackageLocation; [ Description("A fully qualified path to the Windows Installer " "advertisement script."), Read, DisplayName("Script File") ] string ScriptFile; [ Description("A list of CategoryId guids for categories that apply " "to this application. Each guid corresponds to one of the CategoryId " "properties of an instance of RSOP_ApplicationManagementCategory."), Read, DisplayName("Categories") ] string Categories[]; // // Properties describing the precedence relationship between this deployed // application and other applications // [ ValueMap {"1", "2", "3", "4", "5", "6"}, Values { "Language", "Product", "Time", "Upgrade", "Highest", "NonForced" }, Description( "If this application has a lower precedence than another, " "the reason this application has the lower precedence than " "the next highest precedence application. \n" "1 = This application's Language is a less suitable match for the target, \n" "2 = This application's Product Identifier conflicts with the higher application \n" "3 = This application was deployed more recently than the higher application \n" "4 = This application is upgraded by the higher precedence application. \n" "5 = This application is the winning application \n" "6 = This assigned application is upgraded by an optional upgrade"), Read, DisplayName("Precedence Reason") ] uint32 PrecedenceReason; // // Properties relating to the version of the application and its deployment // [ Description("Minor version number of the application."), Read, DisplayName("Version Number Lo") ] uint32 VersionNumberLo; [ Description("Major version number of the application."), Read, DisplayName("Version Number Hi") ] uint32 VersionNumberHi; [ Description("The number of times this application has been " "re-deployed."), Read, DisplayName("Redeploy Count") ] uint32 RedeployCount; [ Description("The last modification time of this application by the administrator" "when the application was applied to this target."), Read, DisplayName("Deployment Last Modify Time") ] datetime DeploymentLastModifyTime; // // Properties that affect what targets may receive this application // [ Description( "Security desriptor of the deployed application. This descriptor " "is in self-relative format"), Read, DisplayName("Security Descriptor") ] uint8 SecurityDescriptor[]; [ Description("A list of Win32 machine architectures supported " "by this application."), Read, DisplayName("Machine Architectures") ] uint32 MachineArchitectures[]; [ Description("A Windows language ID for the language supported " "by the application."), Read, DisplayName("Language Id") ] uint32 LanguageId; // // Properties describing the settings chosen by the administrator for this application // [ ValueMap {"1", "2"}, Values { "Assigned", "Published" }, Description("Whether the application is assigned or published: " "1 = Assigned, 2 = Published."), Read, DisplayName("Deployment Type") ] uint32 DeploymentType; [ ValueMap {"1", "2", "3"}, Values { "NotAssigned", "Standard", "Install" }, Description("For assigned applications, whether or not a " "lightweight install or an actual install is performed \n" "1 = This is not an assigned application \n" "2 = Lightweight install \n" "3 = Install"), Read, DisplayName("Assignment Type") ] uint32 AssignmentType; [ ValueMap {"1", "2"}, Values { "Basic", "Maximum" }, Description("The user interface level of the install: " "1 = Basic, 2 = Maximum."), Read, DisplayName("Installation UI") ] uint32 InstallationUI; [ Description("If TRUE, the application may be used to satisfy a " "demand install for a clsid or file extension. If FALSE, the " "application may not be used for this purpose."), Read, DisplayName("Demand Installable") ] boolean DemandInstallable; [ Description("If this is an X86-only application, this property " "is true if the application may be deployed to an ia64 computer." "If FALSE, the application may not be deployed to an ia64 computer."), Read, DisplayName("AllowX86OnIA64") ] boolean AllowX86OnIA64; [ ValueMap {"1", "2"}, Values { "Uninstall", "Unmanage" }, Description("Determines the behavior of the software when the GPO " "for the application goes out of scope: 1 = uninstall the software, " "2 = Unmanage it."), Read, DisplayName("Loss Of Scope Action") ] uint32 LossOfScopeAction; [ Description("If TRUE, this application will cause currently installed " "unmanaged applications with the same Windows Installer Product Identifier " "to be removed in order to install this application."), Read, DisplayName("Uninstall Unmanaged") ] boolean UninstallUnmanaged; [ Description("If TRUE, this application may be displayed in the ARP " "applet. If FALSE, it will not be displayed in the applet."), Read, DisplayName("Display In ARP") ] boolean DisplayInARP; [ Description("If TRUE, language is ignored when determining whether " "this application applies to a user or machine. If FALSE, language " "is taken into consideration."), Read, DisplayName("Ignore Language") ] boolean IgnoreLanguage; [ Description("A list of file system paths to Windows Installer " "transform files used to modify this application's package."), Read, DisplayName("Transforms") ] string Transforms[]; [ Description("A URL for presentation to the user when support for the application is needed"), Read, DisplayName("SupportURL") ] string SupportURL; // // Properties describing upgrade relationships // [ Description("A list of ApplicationId's in guid form for " "applications replaced (uninstalled) by this application. Each ApplicationId " "corresponds to the ApplicationId property of an instance of " "RSOP_ApplicationManagementPolicySetting."), Read, DisplayName("Replaceable Applications") ] string ReplaceableApplications[]; [ Description("A list of ApplicationId's in guid form for applications " "that upgraded (installed over) by applying this application. Each ApplicationId corresponds " "to the ApplicationId property of an instance of " "RSOP_ApplicationManagementPolicySetting."), Read, DisplayName("Upgradeable Applications") ] string UpgradeableApplications[]; [ Description("If TRUE, this application must be installed if one " "of the applications in its list of upgradeable or replaceable applications is already applied " "to the target"), Read, DisplayName("Upgrade Settings Mandatory") ] boolean UpgradeSettingsMandatory; // // Properties describing why this application was applied to a target // [ ValueMap {"1", "2", "3", "4"}, Values { "Assignment", "Applied", "Upgrades", "Conditional" }, Description("The reason that this application was eligible for application to the target \n" "1 = It was assigned, \n" "2 = The application is applied to the user's profile, \n" "3 = The application had potential upgrades for other applied settings, \n" "4 = The application would be eligible in logging mode only if the application were already applied to the target "), Read, DisplayName("Eligibility") ] uint32 Eligibility; [ ValueMap {"1", "2", "3", "4", "5", "6", "7", "8"}, Values { "Assignment", "User", "Profile", "Extension", "Clsid", "Upgrade", "ProgId", "None" }, Description("The situation that triggered the installation of the application: \n" "1 = It was assigned, \n" "2 = User Installed through Add / Remove Programs, \n" "3 = The application was already installed in the user's profile \n" "4 = Installed via file extension activation, \n" "5 = installed via clsid activation, \n" "6 = Forced upgrade of locally installed application at logon. \n" "7 = Installed via ProgId activation \n" "8 = The application was re-deployed"), Read, DisplayName("Apply Cause") ] uint32 ApplyCause; [ ValueMap {"1", "2", "3", "4", "5"}, Values { "System", "English", "Ignore", "Neutral", "None" }, Description("This indicates how the language was matched to the system: \n" "1 = the application language matched the system language, \n" "2 = the application language was English, \n" "3 = the application had the IgnoreLanguage attribute, \n" "4 = the application was language neutral, \n" "5 = Language did not match."), Read, DisplayName("Language Match") ] uint32 LanguageMatch; [ Description("If the application was installed via on-demand " "installation by a file extension, this is the file extension " "that caused that installation."), Read, DisplayName("On Demand File Extension") ] string OnDemandFileExtension; [ Description("If the application was installed via on-demand " "installation through a COM activation, this is the CLSID that " "caused the installation"), Read, DisplayName("On Demand Clsid") ] string OnDemandClsid; [ Description("If the application was installed via on-demand " "installation through a COM activation, this is the ProgId " "that caused the installation"), Read, DisplayName("On Demand Prog Id") ] string OnDemandProgId; // // Properties describing why this application was un-applied from the target // [ ValueMap {"1", "2", "3", "4", "5", "6", "7"}, Values { "None", "Upgraded", "Administrative", "User", "Scope", "Transform", "Product" }, Description("The situation that triggered the removal of the application: \n" "1 = not removed, \n" "2 = upgraded, \n" "3 = Removed by admin, \n" "4 = removed by user, \n" "5 = Application went out of scope, \n" "6 = Removed due to transform conflict, \n" "7 = Removed due to product conflict, \n" "8 = Removed due to removal from user profile."), Read, DisplayName("Removal Cause") ] uint32 RemovalCause; [ ValueMap {"1", "2", "3", "4"}, Values { "Not Removed", "Upgraded", "Uninstalled", "Unmanaged" }, Description("Describes the manner in which this application " "ceased to be applied: 1 = not removed, 2 = upgraded, 3 = uninstalled, " "4 = Unmanaged."), Read, DisplayName("Removal Type") ] uint32 RemovalType; [ Description("A guid corresponding to the ApplicationId property " "of RSOP_ApplicationManagmentPolicySetting for the application that " "caused this application to no longer apply to the target."), Read, DisplayName("Removing Application") ] string RemovingApplication; }; //------------------------------------------------ // RSOP_FolderRedirectionPolicySetting // Comment: Abstraction for folder redirection policy data //------------------------------------------------ [ Locale( 0x409 ), Description("Class that represents data for folder redirection extension") ] class RSOP_FolderRedirectionPolicySetting : RSOP_PolicySetting { [ key, Description("Inherited from RSOP_PolicySetting"), Read, DisplayName("ID") ] string id; [ key, Description("Inherited from RSOP_PolicySetting"), Read, DisplayName("Precedence") ] uint32 precedence; [ Description("Security group membership that caused this folder to redirect"), Read, DisplayName("redirecting Group") ] string redirectingGroup; [ Description("Path to which this folder is redirected"), Read, DisplayName("Resultant Path") ] string resultantPath; [ ValueMap {"1", "2"}, Values { "Basic", "Advanced" }, Description("Installation Type: 1 = basic, 2 = advanced"), Read, DisplayName("installation Type") ] uint32 installationType; [ Description("Groups, represented by an array of security groups"), Read, DisplayName("security Groups") ] string securityGroups[]; [ Description("Paths, represented by an array of redirection paths"), Read, DisplayName("redirected Paths") ] string redirectedPaths[]; [ Description("Indicates whether the user is granted exclusive access"), Read, DisplayName("grant Type") ] boolean grantType; [ Description("Indicates whether or not the contents of the local " "directory are moved"), Read, DisplayName("move Type") ] boolean moveType; [ ValueMap {"1", "2"}, Values { "None", "Profile" }, Description("Action to take on policy removal: 1 = leave folder in new " "location, 2 = redirect the folder back to the user profile location"), Read, DisplayName("policy Removal") ] uint32 policyRemoval; }; //------------------------------------------------ // RSOP_ExtensionStatus // Comment: Generic Extension Status object //------------------------------------------------ [ Locale( 0x409 ), Description("Class that represents client-side extensions' Session Status") ] class RSOP_ExtensionStatus { [ key, Description("Guid of the extension"), Read, DisplayName("Extension GUID") ] string extensionGuid= ""; [ Description("Display name of the extension being run"), Read, DisplayName("Name") ] string displayName= ""; [ Description("Time when this CSE was last invoked."), Read, DisplayName("Begin Time") ] datetime beginTime; [ Description("Time when this CSE finished processing the last invoked."), Read, DisplayName("End Time") ] datetime endTime; [ ValueMap {"1", "2", "3"}, Values { "Logging - Complete", "Logging - Not Complete", "Logging - Not Supported"}, Description("Logging Status: " "1 = Client Side Extension logged data successfully, \n" "2 = Client Side Extension logged could not log data, " "data might be incomplete, \n" "3 = Client Side Extension does not support logging"), Read, DisplayName("Status") ] uint32 loggingStatus = 1; [ Description("Error code if any that has caused the processing to abort"), Read, DisplayName("Error Code") ] uint32 error = 0; }; //------------------------------------------------ // RSOP_ExtensionEventSource //------------------------------------------------ [ Locale( 0x409 ), Description("Class that represents client-side extensions' event log message sources") ] class RSOP_ExtensionEventSource { [ key, Description("Unique ID."), Read, DisplayName("ID") ] string id; [ Description ("the event source that can report an event when " "this CSE is applying policy"), Read, DisplayName("Event Log Source") ] string eventLogSource; [ Description ("the event log name that can report an event when " "this CSE is applying policy"), Read, DisplayName("Event Log Name") ] string eventLogName; }; //------------------------------------------------ // RSOP_ExtensionEventSourceLink //------------------------------------------------ [ Locale( 0x409 ), Description("Class that represents client-side extensions' event log message sources") ] class RSOP_ExtensionEventSourceLink { [ key, Description ("CSE status"), Read, DisplayName("Extension Status") ] RSOP_ExtensionStatus ref extensionStatus; [ key, Description ("event source"), Read, DisplayName("Event Source") ] RSOP_ExtensionEventSource ref eventSource; }; //------------------------------------------- // End of classes file //-------------------------------------------