#pragma autorecover
#pragma classflags ("forceupdate")
#pragma namespace("\\\\.\\root\\cimv2")

Instance of __Namespace
{
  Name = "mdm";
};

#pragma namespace("\\\\.\\root\\cimv2\\mdm")
instance of __namespace{ name="MS_804";};
#pragma namespace("\\\\.\\root\\cimv2\\mdm\\MS_804")

[Description("This class provides the ability to set Windows modern application settings") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MDM_ApplicationSetting
{
  [key,Description("Package Family Name") : Amended ToSubclass] string PackageFamilyName;
  [key,Description("Setting Name") : Amended ToSubclass] string SettingName;
  [Values{"string", "int", "bool", "double"} : Amended ToSubclass,Description("Setting Type") : Amended ToSubclass] uint32 SettingType;
  [Description("Setting Value") : Amended ToSubclass] string SettingValue;
};

[Description("This class provides configuration to modify browser security zone settings on the device") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MDM_BrowserSecurityZones
{
  [key,Description("A namespace that may belong in a security zone") : Amended ToSubclass] string Namespace;
  [key,Values{"Intranet", "Trusted", "Internet", "Untrusted"} : Amended ToSubclass,Description("Key identifier for the security zone") : Amended ToSubclass] uint32 Zone;
  [Description("True if the namespace exists in the specified security zone") : Amended ToSubclass] boolean Exists;
};

[Description("This class provides configuration to modify browser security settings on the device") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MDM_BrowserSettings
{
  [key,Description("The key to identify the instance of MDM_BrowserSettings class") : Amended ToSubclass] uint32 key;
  [Description("True if Force Fraud Warning is enabled") : Amended ToSubclass] boolean ForceFraudWarning;
  [Description("True if Autofill is enabled") : Amended ToSubclass] boolean AutofillEnabled;
  [Description("True if scripting is enabled for the Internet security zone") : Amended ToSubclass] boolean InternetScriptingEnabled;
  [Description("True if plugins are enabled") : Amended ToSubclass] boolean InternetPluginsEnabled;
  [Description("True if popups are disabled") : Amended ToSubclass] boolean InternetBlockPopups;
  [Description("True if the always send do not track header setting is enabled") : Amended ToSubclass] boolean AlwaysSendDoNotTrackHeader;
  [Description("True if the Intranet security zone is enabled") : Amended ToSubclass] boolean IntranetSecurityZoneEnabled;
  [Description("True if the Internet Protected Mode is enabled") : Amended ToSubclass] boolean InternetProtectedModeEnabled;
  [Description("True if the go to Intranet for single word setting is enabled") : Amended ToSubclass] boolean GoToIntranetForSingleWord;
  [Values{"Medium", "Medium-high", "High"} : Amended ToSubclass,Description("Security level for the Internet security zone") : Amended ToSubclass] uint32 InternetZoneSecurityLevel;
  [Values{"Low", "Medium-low", "Medium", "Medium-high", "High"} : Amended ToSubclass,Description("Security level for the Intranet security zone") : Amended ToSubclass] uint32 IntranetZoneSecurityLevel;
  [Values{"Low", "Medium-low", "Medium", "Medium-high", "High"} : Amended ToSubclass,Description("Security level for the Restricted Sites security zone") : Amended ToSubclass] uint32 RestrictedSitesZoneSecurityLevel;
  [Values{"Low", "Medium-low", "Medium", "Medium-high", "High"} : Amended ToSubclass,Description("Security level for the Trusted Sites security zone") : Amended ToSubclass] uint32 TrustedSitesZoneSecurityLevel;
};

[Description("This class provides the ability to install and delete the certificates on the device") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MDM_Certificate
{
  [key,Values{"1", "2"} : Amended ToSubclass,Description("Certificate store location") : Amended ToSubclass] uint8 StoreLocation;
  [key,Description("Internal store name to install the certificate") : Amended ToSubclass] string StoreName;
  [key,Description("Thumbprint of the certificate") : Amended ToSubclass] string Thumbprint;
  [Description("Is certificate installed") : Amended ToSubclass] boolean IsInstalled;
  [Description("Base-64 encoded raw certificate blob") : Amended ToSubclass] string Blob;
};

[Description("Certificate Enrollment provider using Simple Certificate Enrollment Protocol") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MDM_CertificateEnrollment
{
  [key,Description("Enrollment Certificate Request ID") : Amended ToSubclass] string RequestID;
  [key,Values{"1", "2"} : Amended ToSubclass,Description("Certificate store location") : Amended ToSubclass] uint8 StoreLocation;
  [key,Description("Certificate selection criteria: Enhanced key usages with Comma as delimiter. Matching on all specified EKUs") : Amended ToSubclass] string EnhancedKeyUsages;
  [key,Description("Certificate selection criteria: Issuer subject names with separator bar as delimiter. Case sensitive matching on one of specified issuers") : Amended ToSubclass] string Issuers;
  [Description("Used for compliance to determine if certificate matching the enrollment request and criteria is issued") : Amended ToSubclass] uint32 Status;
  [Description("Used to determine detailed enrollment request error if Status is EnrollError") : Amended ToSubclass] uint32 Error;
  [Description("Certificate expiration threshold in days ") : Amended ToSubclass] uint32 ExpirationThreshold;
  [Description("Subject name of the issued certificate") : Amended ToSubclass] string SubjectName;
  [Description("Subject alternative names of the issued certificate with separator bar as delimiter.") : Amended ToSubclass] string SubjectAlternativeNames;
  [Description("Thumbprint of the issued certificate") : Amended ToSubclass] string Thumbprint;
  [Description("Serial number of the issued certificate") : Amended ToSubclass] string SerialNumber;
  [Description("Valid from date of the issued certificate") : Amended ToSubclass] datetime ValidFrom;
  [Description("Valid to date of the issued certificate") : Amended ToSubclass] datetime ValidTo;
  [Description("XML blob containing static attributes like Issuer Name, SCEP URL, Retries which will be used by the client for the SCEP calls to Network Device Enrollment Service (NDES). This one comes in the CI digest") : Amended ToSubclass] string ConfigurationParameters;
};

[Description("This class provides identification for a user/device pair. It also provides methods for un-enrolling the device from management and device lock") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MDM_Client
{
  [key,Description("The key to identify the instance of MDM_Client class, This is a device id") : Amended ToSubclass] string DeviceClientID;
  [Description("This property contains the local workstation SID") : Amended ToSubclass] string DomainSID;
  [Description("This property contains the textual name of the local Operating System") : Amended ToSubclass] string PlatformID;
  [Description("This property contains the FQDN of the device") : Amended ToSubclass] string DeviceName;
  [Description("This property contains a textual description of the main processor on the device") : Amended ToSubclass] string ProcessorDescription;
  [Description("This property contains the SID of the local user account associated to the device") : Amended ToSubclass] string UserSid;
  [Description("This property contains the local Operating System version in the following format: major.minor.revision") : Amended ToSubclass] string Version;
  [Description("This method provides ability to unenroll the device") : Amended ToSubclass] uint32 SendUnenrollRequest([In,Description("Id of the device") : Amended ToSubclass] string DeviceClientID);
  [Description("This method provides ability to lock the device") : Amended ToSubclass] uint32 LockWorkstation();
  [Description("This method provides ability to lock the device") : Amended ToSubclass] uint32 ResetUserPassword([In,Description("Userupn password pair. E.g. x@y.com;pwd1") : Amended ToSubclass] string ConfigString);
};

[Description("This class provides capability to get and set configuration settings for the oma-dm agent") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MDM_ConfigSetting
{
  [key,Description("The key to identify a setting by name") : Amended ToSubclass] string SettingName;
  [Description("This property contains a setting value associated to a SettingName") : Amended ToSubclass] string SettingValue;
};

[Description("This class provides device registration details") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MDM_DeviceRegistrationInfo
{
  [key,Description("The identity of the device in the AD device registration record") : Amended ToSubclass] string DeviceId;
  [Description("The UPN of the registered user") : Amended ToSubclass] string UPN;
  [Description("The thumbprint of the AD certificate for device registration") : Amended ToSubclass] string CertificateThumbprint;
};

[Description("This class provides EAS PIN Password Policy configuration on the device") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MDM_EASPolicy
{
  [key,Description("The key to identify the instance of MDM_EASPolicy class") : Amended ToSubclass] uint32 key;
  [Description("Set password related settings values") : Amended ToSubclass] uint32 SetValues([In,Description("Settings name value pairs in formt : <name1>,<value1>;<name2>,<value2>;...") : Amended ToSubclass] string NamedValuesList);
};

[Description("This class provides capability to add additional management authorities and retrieve previously installed authorities") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MDM_MgmtAuthority
{
  [key,Description("The key to identify an authority by name") : Amended ToSubclass] string AuthorityName;
  [Description("This property contains a thumb print of the trusted root certificate for this authority") : Amended ToSubclass] string RootThumbprint;
  [Description("This property contains a thumb print of the certificate for this authority") : Amended ToSubclass] string ProvisionedCertThumbprint;
  [Description("This property contains the certificate search criteria. E.g. Thumbprint=122344&store=my\\system") : Amended ToSubclass] string ClientSearchCriteria;
  [Description("This property contains a list of the management server URLs associated to this authority") : Amended ToSubclass] string ServerList;
  [Description("A method to create a new authority") : Amended ToSubclass] uint32 CreateNewAuthority([In,Description("Authority name") : Amended ToSubclass] string AuthorityName);
};

[Description("This class provides configuration to restrict settings on the device") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MDM_Restrictions
{
  [key,Description("The key to identify the instance of MDM_Restrictions class") : Amended ToSubclass] uint32 key;
  [Description("This property allows 'Windows Error Reporting' to be enabled or disabled on the device") : Amended ToSubclass] boolean DiagnosticsSubmissionEnabled;
  [Description("This property allows 'Data Roaming' to be enabled or disabled on the device") : Amended ToSubclass] boolean DataRoamingEnabled;
  [Description("This property returns whether at least one bluetooth device is found and is enabled on the device") : Amended ToSubclass] boolean BluetoothEnabled;
  [Description("This property returns whether at least one wifi network adapter is found and is enabled on the device") : Amended ToSubclass] boolean WifiEnabled;
  [Description("This property returns whether the 'Sync your settings' option under 'Change Settings' is turned on") : Amended ToSubclass] boolean PCSettingsSyncEnabled;
  [Description("This property returns whether the 'Sync settings over metered connection' option under 'Change Settings' is turned on") : Amended ToSubclass] boolean PCSettingsMeteredNetworkSyncEnabled;
  [Description("This property returns whether the 'Passwords' option under 'Change Settings' is turned on") : Amended ToSubclass] boolean PCSettingsPasswordSyncEnabled;
  [Description("This property returns the Enterprise Client Sync product's url for which the client will sync to") : Amended ToSubclass] string EcsSyncUrl;
  [Description("This property returns whether the Enterprise Client Sync product will be auto provisioned") : Amended ToSubclass] boolean EcsAutoProvisionEnabled;
  [Description("This propery returns the current 'User Access Control' level on the client") : Amended ToSubclass,Values{"Always Notify", "Notify App Changes", "Notify App Changes (No Dim)", "Never Notify"} : Amended ToSubclass] uint32 UserAccountControlStatus;
  [Description("True if Smart Screen is enabled") : Amended ToSubclass] boolean SmartScreenEnabled;
  [Description("True if Internet Explorer Enterprise Mode is enabled") : Amended ToSubclass] boolean IEEnterpriseModeEnabled;
  [Description("Internet Explorer Enterprise Mode Reporting Url Specified In Enable Value") : Amended ToSubclass] string IEEnterpriseModeEnabledURL;
  [Description("Internet Explorer Enterprise Mode Reporting Xml Site List") : Amended ToSubclass] string IEEnterpriseModeSitelist;
};

[Description("This class provides configuration to restrict settings on the device for standard users") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MDM_RestrictionsUser
{
  [key,Description("The key to identify the instance of MDM_Restrictions class") : Amended ToSubclass] uint32 key;
  [Description("This property returns whether the 'Sync your settings' option under 'Change Settings' is turned on") : Amended ToSubclass] boolean PCSettingsSyncEnabled;
  [Description("This property returns whether the 'Sync settings over metered connection' option under 'Change Settings' is turned on") : Amended ToSubclass] boolean PCSettingsMeteredNetworkSyncEnabled;
  [Description("This property returns whether the 'Passwords' option under 'Change Settings' is turned on") : Amended ToSubclass] boolean PCSettingsPasswordSyncEnabled;
};

[Description("This class provides security health metrics on the device") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MDM_SecurityStatus
{
  [key,Description("The key to identify the instance of MDM_SecurityStatus class") : Amended ToSubclass] uint32 key;
  [Description("This property provides the status of the firewall") : Amended ToSubclass,Values{"Good", "NotMonitored", "Poor", "Snooze"} : Amended ToSubclass] uint32 FirewallStatus;
  [Description("This property provides the status of Windows updates") : Amended ToSubclass,Values{"Disable Automatic Updates", "Notify for download and notify for install", "Auto download and notify for install", "Auto download and schedule the install"} : Amended ToSubclass] uint32 AutoUpdateStatus;
  [Description("This property provides the status of antivirus") : Amended ToSubclass,Values{"Good", "NotMonitored", "Poor", "Snooze"} : Amended ToSubclass] uint32 AntiVirusStatus;
  [Description("This property provides the status of antivirus updates") : Amended ToSubclass,Values{"On", "Off", "Snoozed", "Expired"} : Amended ToSubclass] uint32 AntiVirusSignatureStatus;
  [Description("This property provides the status of bitlocker encryption") : Amended ToSubclass] boolean RequireEncryption;
  [Description("This property gets/sets the maintenance window start hour values 0 to 23") : Amended ToSubclass] uint32 MaintenanceScheduleStartHour;
  [Description("This property gets/sets the maintenance window start delay pattern e.g. PT30M") : Amended ToSubclass] string MaintenanceScheduleDelayPattern;
  [Description("This property gets/sets whether to wake up the machine to start maintenance") : Amended ToSubclass] boolean MaintenanceScheduleAllowWakeup;
  [Description("This property gets/sets whether to make microsoft accounts optional to use modern applications") : Amended ToSubclass] boolean IsMicrosoftAccountOptional;
  [Description("This property gets/sets the application content uri rules. E.g. 'https://mail.microsoft.com/owa'") : Amended ToSubclass] string ApplicationContentUriRules;
};

[Description("This class provides user-specific security health metrics on the device") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MDM_SecurityStatusUser
{
  [key,Description("The key to identify the instance of MDM_SecurityStatusUser class") : Amended ToSubclass] uint32 key;
  [Description("This property returns the presence of connected account") : Amended ToSubclass] boolean HasConnectedAccount;
  [Description("This property gets/sets the connected account policy to require") : Amended ToSubclass,Values{"Don't require", "Require"} : Amended ToSubclass] uint32 ConnectedAccountPolicy;
  [Description("This property returns the status of the account password") : Amended ToSubclass,Values{"Not compliant", "No policy", "Compliant"} : Amended ToSubclass] uint32 PasswordStatus;
  [Description("This property returns the device encryption status as reported by EasClientSecurityPolicy.CheckCompliance result") : Amended ToSubclass] uint32 EncryptionStatus;
  [Description("This property gets/sets the device encryption policy to require") : Amended ToSubclass,Values{"Don't require", "Require"} : Amended ToSubclass] uint32 DeviceEncryptionPolicy;
};

[Description("This class provides methods for activating sideloading of LOB applications") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MDM_SideLoader
{
  [key,Description("The key to identify the instance of MDM_SideLoader class.") : Amended ToSubclass] uint32 key;
  [Description("This property provides a hash of the installed product key.") : Amended ToSubclass] string ProductKeyHash;
  [Description("A method for activating sideloading and installing the product key") : Amended ToSubclass] uint32 ActivateKey([In,Description("Sideloading key") : Amended ToSubclass] string ProductKey);
  [Description("A method for adding the package signing certificate") : Amended ToSubclass] uint32 AddCertificate([In,Description("Certificate In Base-64 encoded format") : Amended ToSubclass] string CertificateBlob);
  [Description("A method to disable sideloading LOB applications") : Amended ToSubclass] uint32 UnActivateLOB();
};

[Description("This class provides access to Windows Update policies") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MDM_Updates
{
  [key,Description("The key to identify the instance of MDM_Updates class") : Amended ToSubclass] uint32 key;
  [Description("This property gets/sets the policy for regular application of Windows updates") : Amended ToSubclass,Values{"None", "Important", "Recommended"} : Amended ToSubclass] uint32 AutoUpdatePolicy;
};

[Description("This class provides the ability to add an application as a trigger to MDM installed VPN profiles") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MDM_VpnApplicationTrigger
{
  [key,Description("Package family name of the Application") : Amended ToSubclass] string ApplicationID;
  [Description("Is application trigger added to all MDM installed VPN profiles") : Amended ToSubclass] boolean TriggerEnabledInAllMDMProfiles;
};

[Description("This class provides information on the WNS channel used for notifications to the MDM agent") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MDM_WNSChannel
{
  [key,Description("The identity of the MDM application") : Amended ToSubclass] string AppId;
  [Description("The SID of the enrolled user") : Amended ToSubclass] string UserSID;
  [Description("This is the channel created for WNS notifications for the MDM user on this device") : Amended ToSubclass] string Channel;
  [Description("The expiration time for the WNS channel") : Amended ToSubclass] datetime ExpirationTime;
  [Description("WNS Channel Creation Status") : Amended ToSubclass] uint32 ChannelStatus;
  [Description("This is the error code in the event that WNS channel creation fails") : Amended ToSubclass] uint32 LastError;
};

[Description("This class provides the capability to configure WNS notifications for the MDM agent") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MDM_WNSConfiguration
{
  [key,Description("The identity of the MDM application") : Amended ToSubclass] string AppId;
  [Description("ConfigurationStatus is 0 if not configured and 1 if configured") : Amended ToSubclass] uint32 ConfigurationStatus;
  [Description("Updates WNS Configuration") : Amended ToSubclass] uint32 UpdateConfiguration([In,Description("ConfigString is in the format <AppId>;<WNS Package Family Name>") : Amended ToSubclass] string ConfigString);
};

[Description("This class provides ability to manage wireless profiles on the device") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MDM_WirelessProfile
{
  [key,Description("Name of a wireless LAN profile.") : Amended ToSubclass] string Name;
  [Description("SSID for the wireless LAN.") : Amended ToSubclass] string SSID;
  [Description("Connect When Not Broadcasting") : Amended ToSubclass] boolean ConnectWhenNotBroadcasting;
  [Description("Auto Connect") : Amended ToSubclass] boolean AutoConnect;
  [Values{"ESS", "IBSS"} : Amended ToSubclass,Description("Connection Type") : Amended ToSubclass] uint8 ConnectionType;
  [Description("This indicates whether to connect to a hidden network or not.") : Amended ToSubclass] boolean ConnectToMorePreferedNetwork;
  [Values{"Open", "WPA-Personal", "WPA-2-Personal", "WPA-Enterprise", "WPA2-Enterprise", "shared", "WEP"} : Amended ToSubclass,Description("Authentication method to be used to connect to the wireless LAN.") : Amended ToSubclass] uint8 SecurityAuthentication;
  [Values{"None", "WEP", "TKIP", "AES"} : Amended ToSubclass,Description("Type of data encryption to use to connect to a wireless LAN.") : Amended ToSubclass] uint8 SecurityEncryption;
  [Description("This indicates whether PMK caching will be used.") : Amended ToSubclass] boolean PMKCacheMode;
  [Description("This specifies the number of entries in the PMK cache.") : Amended ToSubclass] uint32 PMKCacheSize;
  [Description("This indicates the length of time, in minutes, that a PMK cache will be kept.") : Amended ToSubclass] uint32 PMKCacheTTL;
  [Description("This indicates whether pre-authentication will be used by the client.") : Amended ToSubclass] boolean PreAuthMode;
  [Description("This specifies the number pre-authentication attempts to try on neighboring Access Points.") : Amended ToSubclass] uint32 PreAuthThrottle;
  [Description("This indicates whether Federal Information Processing Standards (FIPS) mode is enabled.") : Amended ToSubclass] boolean EnableFIPSCompliance;
  [Values{"passPhrase", "networkKey"} : Amended ToSubclass,Description("This indicates whether the shared key will be a network key or a pass phrase.") : Amended ToSubclass] uint8 SharedKeyType;
  [Description("This contains a network key or pass-phrase.") : Amended ToSubclass] string SharedKeyMaterial;
  [Description("This indicates whether a shared key is encrypted.") : Amended ToSubclass] boolean SharedKeyProtected;
  [Description("This specifies whether the user credentials are cached for subsequent connections.") : Amended ToSubclass] boolean OneXCacheUserData;
  [Values{"MachineOrUser", "Machine", "User", "Guest"} : Amended ToSubclass,Description("This specifies the type of credentials used for authentication.") : Amended ToSubclass] uint8 OneXAuthenticationMode;
  [Values{"preLogon", "postLogon"} : Amended ToSubclass,Description("This specifies when single sign on is performed.") : Amended ToSubclass] uint8 OneXSingleSignOnType;
  [Description("This specifies, in seconds, the maximum delay before the single sign on connection attempt fails.") : Amended ToSubclass] uint32 OneXSingleSignOnMaxDelay;
  [Description("This specifies that different dialog boxes are presented to the user at logon for Single Sign On, if applicable.") : Amended ToSubclass] boolean OneXSingleSignOnAllowAdditionalDialogs;
  [Description("This specifies if the virtual LAN (VLAN) used by the device changes based on the user's credentials.") : Amended ToSubclass] boolean OneXSingleSignOnUserBasedVirtualLAN;
  [Values{"TLS", "SIM", "TTLS", "AKA", "PEAP", "AKAPRIME"} : Amended ToSubclass,Description("Type of the EAP used for this connection.") : Amended ToSubclass] uint8 OneXEAPType;
  [Description("EAP Configuration xml used for this connection.") : Amended ToSubclass] string OneXEAPXml;
};

[Description("This class provides ability to manage wireless profiles through WLAN xml") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MDM_WirelessProfileXml
{
  [key,Description("Name of a wireless LAN profile.") : Amended ToSubclass] string Name;
  [Description("Wireless Profile xml for this connection.") : Amended ToSubclass] string ProfileXml;
};
