DSCResources/MSFT_IntuneDeviceConfigurationEndpointProtectionPolicyWindows10/MSFT_IntuneDeviceConfigurationEndpointProtectionPolicyWindows10.schema.mof

[ClassVersion("1.0.0.0")]
class MSFT_DeviceManagementConfigurationPolicyAssignments
{
    [Write, Description("The type of the target assignment."), ValueMap{"#microsoft.graph.groupAssignmentTarget","#microsoft.graph.allLicensedUsersAssignmentTarget","#microsoft.graph.allDevicesAssignmentTarget","#microsoft.graph.exclusionGroupAssignmentTarget","#microsoft.graph.configurationManagerCollectionAssignmentTarget"}, Values{"#microsoft.graph.groupAssignmentTarget","#microsoft.graph.allLicensedUsersAssignmentTarget","#microsoft.graph.allDevicesAssignmentTarget","#microsoft.graph.exclusionGroupAssignmentTarget","#microsoft.graph.configurationManagerCollectionAssignmentTarget"}] String dataType;
    [Write, Description("The type of filter of the target assignment i.e. Exclude or Include. Possible values are:none, include, exclude."), ValueMap{"none","include","exclude"}, Values{"none","include","exclude"}] String deviceAndAppManagementAssignmentFilterType;
    [Write, Description("The Id of the filter for the target assignment.")] String deviceAndAppManagementAssignmentFilterId;
    [Write, Description("The group Id that is the target of the assignment.")] String groupId;
    [Write, Description("The collection Id that is the target of the assignment.(ConfigMgr)")] String collectionId;
};
[ClassVersion("1.0.0")]
class MSFT_MicrosoftGraphBitLockerFixedDrivePolicy
{
    [Write, Description("Select the encryption method for fixed drives. Possible values are: aesCbc128, aesCbc256, xtsAes128, xtsAes256."), ValueMap{"aesCbc128","aesCbc256","xtsAes128","xtsAes256"}, Values{"aesCbc128","aesCbc256","xtsAes128","xtsAes256"}] String EncryptionMethod;
    [Write, Description("This policy setting allows you to control how BitLocker-protected fixed data drives are recovered in the absence of the required credentials. This policy setting is applied when you turn on BitLocker."), EmbeddedInstance("MSFT_MicrosoftGraphBitLockerRecoveryOptions")] String RecoveryOptions;
    [Write, Description("This policy setting determines whether BitLocker protection is required for fixed data drives to be writable on a computer.")] Boolean RequireEncryptionForWriteAccess;
};
[ClassVersion("1.0.0")]
class MSFT_MicrosoftGraphBitLockerRecoveryOptions
{
    [Write, Description("Indicates whether to block certificate-based data recovery agent.")] Boolean BlockDataRecoveryAgent;
    [Write, Description("Indicates whether or not to enable BitLocker until recovery information is stored in AD DS.")] Boolean EnableBitLockerAfterRecoveryInformationToStore;
    [Write, Description("Indicates whether or not to allow BitLocker recovery information to store in AD DS.")] Boolean EnableRecoveryInformationSaveToStore;
    [Write, Description("Indicates whether or not to allow showing recovery options in BitLocker Setup Wizard for fixed or system disk.")] Boolean HideRecoveryOptions;
    [Write, Description("Configure what pieces of BitLocker recovery information are stored to AD DS. Possible values are: passwordAndKey, passwordOnly."), ValueMap{"passwordAndKey","passwordOnly"}, Values{"passwordAndKey","passwordOnly"}] String RecoveryInformationToStore;
    [Write, Description("Indicates whether users are allowed or required to generate a 256-bit recovery key for fixed or system disk. Possible values are: blocked, required, allowed, notConfigured."), ValueMap{"blocked","required","allowed","notConfigured"}, Values{"blocked","required","allowed","notConfigured"}] String RecoveryKeyUsage;
    [Write, Description("Indicates whether users are allowed or required to generate a 48-digit recovery password for fixed or system disk. Possible values are: blocked, required, allowed, notConfigured."), ValueMap{"blocked","required","allowed","notConfigured"}, Values{"blocked","required","allowed","notConfigured"}] String RecoveryPasswordUsage;
};
[ClassVersion("1.0.0")]
class MSFT_MicrosoftGraphBitLockerRemovableDrivePolicy
{
    [Write, Description("This policy setting determines whether BitLocker protection is required for removable data drives to be writable on a computer.")] Boolean BlockCrossOrganizationWriteAccess;
    [Write, Description("Select the encryption method for removable drives. Possible values are: aesCbc128, aesCbc256, xtsAes128, xtsAes256."), ValueMap{"aesCbc128","aesCbc256","xtsAes128","xtsAes256"}, Values{"aesCbc128","aesCbc256","xtsAes128","xtsAes256"}] String EncryptionMethod;
    [Write, Description("Indicates whether to block write access to devices configured in another organization. If requireEncryptionForWriteAccess is false, this value does not affect.")] Boolean RequireEncryptionForWriteAccess;
};
[ClassVersion("1.0.0")]
class MSFT_MicrosoftGraphBitLockerSystemDrivePolicy
{
    [Write, Description("Select the encryption method for operating system drives. Possible values are: aesCbc128, aesCbc256, xtsAes128, xtsAes256."), ValueMap{"aesCbc128","aesCbc256","xtsAes128","xtsAes256"}, Values{"aesCbc128","aesCbc256","xtsAes128","xtsAes256"}] String EncryptionMethod;
    [Write, Description("Indicates the minimum length of startup pin. Valid values 4 to 20")] UInt32 MinimumPinLength;
    [Write, Description("Enable pre-boot recovery message and Url. If requireStartupAuthentication is false, this value does not affect.")] Boolean PrebootRecoveryEnableMessageAndUrl;
    [Write, Description("Defines a custom recovery message.")] String PrebootRecoveryMessage;
    [Write, Description("Defines a custom recovery URL.")] String PrebootRecoveryUrl;
    [Write, Description("Allows to recover BitLocker encrypted operating system drives in the absence of the required startup key information. This policy setting is applied when you turn on BitLocker."), EmbeddedInstance("MSFT_MicrosoftGraphBitLockerRecoveryOptions")] String RecoveryOptions;
    [Write, Description("Indicates whether to allow BitLocker without a compatible TPM (requires a password or a startup key on a USB flash drive).")] Boolean StartupAuthenticationBlockWithoutTpmChip;
    [Write, Description("Require additional authentication at startup.")] Boolean StartupAuthenticationRequired;
    [Write, Description("Indicates if TPM startup key is allowed/required/disallowed. Possible values are: blocked, required, allowed, notConfigured."), ValueMap{"blocked","required","allowed","notConfigured"}, Values{"blocked","required","allowed","notConfigured"}] String StartupAuthenticationTpmKeyUsage;
    [Write, Description("Indicates if TPM startup pin key and key are allowed/required/disallowed. Possible values are: blocked, required, allowed, notConfigured."), ValueMap{"blocked","required","allowed","notConfigured"}, Values{"blocked","required","allowed","notConfigured"}] String StartupAuthenticationTpmPinAndKeyUsage;
    [Write, Description("Indicates if TPM startup pin is allowed/required/disallowed. Possible values are: blocked, required, allowed, notConfigured."), ValueMap{"blocked","required","allowed","notConfigured"}, Values{"blocked","required","allowed","notConfigured"}] String StartupAuthenticationTpmPinUsage;
    [Write, Description("Indicates if TPM startup is allowed/required/disallowed. Possible values are: blocked, required, allowed, notConfigured."), ValueMap{"blocked","required","allowed","notConfigured"}, Values{"blocked","required","allowed","notConfigured"}] String StartupAuthenticationTpmUsage;
};
[ClassVersion("1.0.0")]
class MSFT_MicrosoftGraphDefenderDetectedMalwareActions
{
    [Write, Description("Indicates a Defender action to take for high severity Malware threat detected. Possible values are: deviceDefault, clean, quarantine, remove, allow, userDefined, block."), ValueMap{"deviceDefault","clean","quarantine","remove","allow","userDefined","block"}, Values{"deviceDefault","clean","quarantine","remove","allow","userDefined","block"}] String HighSeverity;
    [Write, Description("Indicates a Defender action to take for low severity Malware threat detected. Possible values are: deviceDefault, clean, quarantine, remove, allow, userDefined, block."), ValueMap{"deviceDefault","clean","quarantine","remove","allow","userDefined","block"}, Values{"deviceDefault","clean","quarantine","remove","allow","userDefined","block"}] String LowSeverity;
    [Write, Description("Indicates a Defender action to take for moderate severity Malware threat detected. Possible values are: deviceDefault, clean, quarantine, remove, allow, userDefined, block."), ValueMap{"deviceDefault","clean","quarantine","remove","allow","userDefined","block"}, Values{"deviceDefault","clean","quarantine","remove","allow","userDefined","block"}] String ModerateSeverity;
    [Write, Description("Indicates a Defender action to take for severe severity Malware threat detected. Possible values are: deviceDefault, clean, quarantine, remove, allow, userDefined, block."), ValueMap{"deviceDefault","clean","quarantine","remove","allow","userDefined","block"}, Values{"deviceDefault","clean","quarantine","remove","allow","userDefined","block"}] String SevereSeverity;
};
[ClassVersion("1.0.0")]
class MSFT_MicrosoftGraphWindowsFirewallNetworkProfile
{
    [Write, Description("Configures the firewall to merge authorized application rules from group policy with those from local store instead of ignoring the local store rules. When AuthorizedApplicationRulesFromGroupPolicyNotMerged and AuthorizedApplicationRulesFromGroupPolicyMerged are both true, AuthorizedApplicationRulesFromGroupPolicyMerged takes priority.")] Boolean AuthorizedApplicationRulesFromGroupPolicyMerged;
    [Write, Description("Configures the firewall to prevent merging authorized application rules from group policy with those from local store instead of ignoring the local store rules. When AuthorizedApplicationRulesFromGroupPolicyNotMerged and AuthorizedApplicationRulesFromGroupPolicyMerged are both true, AuthorizedApplicationRulesFromGroupPolicyMerged takes priority.")] Boolean AuthorizedApplicationRulesFromGroupPolicyNotMerged;
    [Write, Description("Configures the firewall to merge connection security rules from group policy with those from local store instead of ignoring the local store rules. When ConnectionSecurityRulesFromGroupPolicyNotMerged and ConnectionSecurityRulesFromGroupPolicyMerged are both true, ConnectionSecurityRulesFromGroupPolicyMerged takes priority.")] Boolean ConnectionSecurityRulesFromGroupPolicyMerged;
    [Write, Description("Configures the firewall to prevent merging connection security rules from group policy with those from local store instead of ignoring the local store rules. When ConnectionSecurityRulesFromGroupPolicyNotMerged and ConnectionSecurityRulesFromGroupPolicyMerged are both true, ConnectionSecurityRulesFromGroupPolicyMerged takes priority.")] Boolean ConnectionSecurityRulesFromGroupPolicyNotMerged;
    [Write, Description("Configures the host device to allow or block the firewall and advanced security enforcement for the network profile. Possible values are: notConfigured, blocked, allowed."), ValueMap{"notConfigured","blocked","allowed"}, Values{"notConfigured","blocked","allowed"}] String FirewallEnabled;
    [Write, Description("Configures the firewall to merge global port rules from group policy with those from local store instead of ignoring the local store rules. When GlobalPortRulesFromGroupPolicyNotMerged and GlobalPortRulesFromGroupPolicyMerged are both true, GlobalPortRulesFromGroupPolicyMerged takes priority.")] Boolean GlobalPortRulesFromGroupPolicyMerged;
    [Write, Description("Configures the firewall to prevent merging global port rules from group policy with those from local store instead of ignoring the local store rules. When GlobalPortRulesFromGroupPolicyNotMerged and GlobalPortRulesFromGroupPolicyMerged are both true, GlobalPortRulesFromGroupPolicyMerged takes priority.")] Boolean GlobalPortRulesFromGroupPolicyNotMerged;
    [Write, Description("Configures the firewall to block all incoming connections by default. When InboundConnectionsRequired and InboundConnectionsBlocked are both true, InboundConnectionsBlocked takes priority.")] Boolean InboundConnectionsBlocked;
    [Write, Description("Configures the firewall to allow all incoming connections by default. When InboundConnectionsRequired and InboundConnectionsBlocked are both true, InboundConnectionsBlocked takes priority.")] Boolean InboundConnectionsRequired;
    [Write, Description("Prevents the firewall from displaying notifications when an application is blocked from listening on a port. When InboundNotificationsRequired and InboundNotificationsBlocked are both true, InboundNotificationsBlocked takes priority.")] Boolean InboundNotificationsBlocked;
    [Write, Description("Allows the firewall to display notifications when an application is blocked from listening on a port. When InboundNotificationsRequired and InboundNotificationsBlocked are both true, InboundNotificationsBlocked takes priority.")] Boolean InboundNotificationsRequired;
    [Write, Description("Configures the firewall to block all incoming traffic regardless of other policy settings. When IncomingTrafficRequired and IncomingTrafficBlocked are both true, IncomingTrafficBlocked takes priority.")] Boolean IncomingTrafficBlocked;
    [Write, Description("Configures the firewall to allow incoming traffic pursuant to other policy settings. When IncomingTrafficRequired and IncomingTrafficBlocked are both true, IncomingTrafficBlocked takes priority.")] Boolean IncomingTrafficRequired;
    [Write, Description("Configures the firewall to block all outgoing connections by default. When OutboundConnectionsRequired and OutboundConnectionsBlocked are both true, OutboundConnectionsBlocked takes priority. This setting will get applied to Windows releases version 1809 and above.")] Boolean OutboundConnectionsBlocked;
    [Write, Description("Configures the firewall to allow all outgoing connections by default. When OutboundConnectionsRequired and OutboundConnectionsBlocked are both true, OutboundConnectionsBlocked takes priority. This setting will get applied to Windows releases version 1809 and above.")] Boolean OutboundConnectionsRequired;
    [Write, Description("Configures the firewall to merge Firewall Rule policies from group policy with those from local store instead of ignoring the local store rules. When PolicyRulesFromGroupPolicyNotMerged and PolicyRulesFromGroupPolicyMerged are both true, PolicyRulesFromGroupPolicyMerged takes priority.")] Boolean PolicyRulesFromGroupPolicyMerged;
    [Write, Description("Configures the firewall to prevent merging Firewall Rule policies from group policy with those from local store instead of ignoring the local store rules. When PolicyRulesFromGroupPolicyNotMerged and PolicyRulesFromGroupPolicyMerged are both true, PolicyRulesFromGroupPolicyMerged takes priority.")] Boolean PolicyRulesFromGroupPolicyNotMerged;
    [Write, Description("Configures the firewall to allow the host computer to respond to unsolicited network traffic of that traffic is secured by IPSec even when stealthModeBlocked is set to true. When SecuredPacketExemptionBlocked and SecuredPacketExemptionAllowed are both true, SecuredPacketExemptionAllowed takes priority.")] Boolean SecuredPacketExemptionAllowed;
    [Write, Description("Configures the firewall to block the host computer to respond to unsolicited network traffic of that traffic is secured by IPSec even when stealthModeBlocked is set to true. When SecuredPacketExemptionBlocked and SecuredPacketExemptionAllowed are both true, SecuredPacketExemptionAllowed takes priority.")] Boolean SecuredPacketExemptionBlocked;
    [Write, Description("Prevent the server from operating in stealth mode. When StealthModeRequired and StealthModeBlocked are both true, StealthModeBlocked takes priority.")] Boolean StealthModeBlocked;
    [Write, Description("Allow the server to operate in stealth mode. When StealthModeRequired and StealthModeBlocked are both true, StealthModeBlocked takes priority.")] Boolean StealthModeRequired;
    [Write, Description("Configures the firewall to block unicast responses to multicast broadcast traffic. When UnicastResponsesToMulticastBroadcastsRequired and UnicastResponsesToMulticastBroadcastsBlocked are both true, UnicastResponsesToMulticastBroadcastsBlocked takes priority.")] Boolean UnicastResponsesToMulticastBroadcastsBlocked;
    [Write, Description("Configures the firewall to allow unicast responses to multicast broadcast traffic. When UnicastResponsesToMulticastBroadcastsRequired and UnicastResponsesToMulticastBroadcastsBlocked are both true, UnicastResponsesToMulticastBroadcastsBlocked takes priority.")] Boolean UnicastResponsesToMulticastBroadcastsRequired;
};
[ClassVersion("1.0.0")]
class MSFT_MicrosoftGraphWindowsFirewallRule
{
    [Write, Description("The action the rule enforces. If not specified, the default is Allowed. Possible values are: notConfigured, blocked, allowed."), ValueMap{"notConfigured","blocked","allowed"}, Values{"notConfigured","blocked","allowed"}] String Action;
    [Write, Description("The description of the rule.")] String Description;
    [Write, Description("The display name of the rule. Does not need to be unique.")] String DisplayName;
    [Write, Description("Indicates whether edge traversal is enabled or disabled for this rule. The EdgeTraversal setting indicates that specific inbound traffic is allowed to tunnel through NATs and other edge devices using the Teredo tunneling technology. In order for this setting to work correctly, the application or service with the inbound firewall rule needs to support IPv6. The primary application of this setting allows listeners on the host to be globally addressable through a Teredo IPv6 address. New rules have the EdgeTraversal property disabled by default. Possible values are: notConfigured, blocked, allowed."), ValueMap{"notConfigured","blocked","allowed"}, Values{"notConfigured","blocked","allowed"}] String EdgeTraversal;
    [Write, Description("The full file path of an app that's affected by the firewall rule.")] String FilePath;
    [Write, Description("The interface types of the rule. Possible values are: notConfigured, remoteAccess, wireless, lan."), ValueMap{"notConfigured","remoteAccess","wireless","lan"}, Values{"notConfigured","remoteAccess","wireless","lan"}] String InterfaceTypes;
    [Write, Description("List of local addresses covered by the rule. Default is any address. Valid tokens include:'' indicates any local address. If present, this must be the only token included.A subnet can be specified using either the subnet mask or network prefix notation. If neither a subnet mask nor a network prefix is specified, the subnet mask defaults to 255.255.255.255.A valid IPv6 address.An IPv4 address range in the format of 'start address - end address' with no spaces included.An IPv6 address range in the format of 'start address - end address' with no spaces included.")] String LocalAddressRanges[];
    [Write, Description("List of local port ranges. For example, '100-120', '200', '300-320'. If not specified, the default is All.")] String LocalPortRanges[];
    [Write, Description("Specifies the list of authorized local users for the app container. This is a string in Security Descriptor Definition Language (SDDL) format.")] String LocalUserAuthorizations;
    [Write, Description("The package family name of a Microsoft Store application that's affected by the firewall rule.")] String PackageFamilyName;
    [Write, Description("Specifies the profiles to which the rule belongs. If not specified, the default is All. Possible values are: notConfigured, domain, private, public."), ValueMap{"notConfigured","domain","private","public"}, Values{"notConfigured","domain","private","public"}] String ProfileTypes;
    [Write, Description("0-255 number representing the IP protocol (TCP = 6, UDP = 17). If not specified, the default is All. Valid values 0 to 255")] UInt32 Protocol;
    [Write, Description("List of tokens specifying the remote addresses covered by the rule. Tokens are case insensitive. Default is any address. Valid tokens include:'' indicates any remote address. If present, this must be the only token included.'Defaultgateway''DHCP''DNS''WINS''Intranet' (supported on Windows versions 1809+)'RmtIntranet' (supported on Windows versions 1809+)'Internet' (supported on Windows versions 1809+)'Ply2Renders' (supported on Windows versions 1809+)'LocalSubnet' indicates any local address on the local subnet.A subnet can be specified using either the subnet mask or network prefix notation. If neither a subnet mask nor a network prefix is specified, the subnet mask defaults to 255.255.255.255.A valid IPv6 address.An IPv4 address range in the format of 'start address - end address' with no spaces included.An IPv6 address range in the format of 'start address - end address' with no spaces included.")] String RemoteAddressRanges[];
    [Write, Description("List of remote port ranges. For example, '100-120', '200', '300-320'. If not specified, the default is All.")] String RemotePortRanges[];
    [Write, Description("The name used in cases when a service, not an application, is sending or receiving traffic.")] String ServiceName;
    [Write, Description("The traffic direction that the rule is enabled for. If not specified, the default is Out. Possible values are: notConfigured, out, in."), ValueMap{"notConfigured","out","in"}, Values{"notConfigured","out","in"}] String TrafficDirection;
};
[ClassVersion("1.0.0")]
class MSFT_MicrosoftGraphDeviceManagementUserRightsSetting
{
    [Write, Description("Representing a collection of local users or groups which will be set on device if the state of this setting is Allowed. This collection can contain a maximum of 500 elements."), EmbeddedInstance("MSFT_MicrosoftGraphDeviceManagementUserRightsLocalUserOrGroup")] String LocalUsersOrGroups[];
    [Write, Description("Representing the current state of this user rights setting. Possible values are: notConfigured, blocked, allowed."), ValueMap{"notConfigured","blocked","allowed"}, Values{"notConfigured","blocked","allowed"}] String State;
};
[ClassVersion("1.0.0")]
class MSFT_MicrosoftGraphDeviceManagementUserRightsLocalUserOrGroup
{
    [Write, Description("Admins description of this local user or group.")] String Description;
    [Write, Description("The name of this local user or group.")] String Name;
    [Write, Description("The security identifier of this local user or group (e.g. S-1-5-32-544).")] String SecurityIdentifier;
};
 
[ClassVersion("1.0.0.0"), FriendlyName("IntuneDeviceConfigurationEndpointProtectionPolicyWindows10")]
class MSFT_IntuneDeviceConfigurationEndpointProtectionPolicyWindows10 : OMI_BaseResource
{
    [Write, Description("Gets or sets whether applications inside Microsoft Defender Application Guard can access the devices camera and microphone.")] Boolean ApplicationGuardAllowCameraMicrophoneRedirection;
    [Write, Description("Allow users to download files from Edge in the application guard container and save them on the host file system")] Boolean ApplicationGuardAllowFileSaveOnHost;
    [Write, Description("Allow persisting user generated data inside the App Guard Containter (favorites, cookies, web passwords, etc.)")] Boolean ApplicationGuardAllowPersistence;
    [Write, Description("Allow printing to Local Printers from Container")] Boolean ApplicationGuardAllowPrintToLocalPrinters;
    [Write, Description("Allow printing to Network Printers from Container")] Boolean ApplicationGuardAllowPrintToNetworkPrinters;
    [Write, Description("Allow printing to PDF from Container")] Boolean ApplicationGuardAllowPrintToPDF;
    [Write, Description("Allow printing to XPS from Container")] Boolean ApplicationGuardAllowPrintToXPS;
    [Write, Description("Allow application guard to use virtual GPU")] Boolean ApplicationGuardAllowVirtualGPU;
    [Write, Description("Block clipboard to share data from Host to Container, or from Container to Host, or both ways, or neither ways. Possible values are: notConfigured, blockBoth, blockHostToContainer, blockContainerToHost, blockNone."), ValueMap{"notConfigured","blockBoth","blockHostToContainer","blockContainerToHost","blockNone"}, Values{"notConfigured","blockBoth","blockHostToContainer","blockContainerToHost","blockNone"}] String ApplicationGuardBlockClipboardSharing;
    [Write, Description("Block clipboard to transfer image file, text file or neither of them. Possible values are: notConfigured, blockImageAndTextFile, blockImageFile, blockNone, blockTextFile."), ValueMap{"notConfigured","blockImageAndTextFile","blockImageFile","blockNone","blockTextFile"}, Values{"notConfigured","blockImageAndTextFile","blockImageFile","blockNone","blockTextFile"}] String ApplicationGuardBlockFileTransfer;
    [Write, Description("Block enterprise sites to load non-enterprise content, such as third party plug-ins")] Boolean ApplicationGuardBlockNonEnterpriseContent;
    [Write, Description("Allows certain device level Root Certificates to be shared with the Microsoft Defender Application Guard container.")] String ApplicationGuardCertificateThumbprints[];
    [Write, Description("Enable Windows Defender Application Guard")] Boolean ApplicationGuardEnabled;
    [Write, Description("Enable Windows Defender Application Guard for newer Windows builds. Possible values are: notConfigured, enabledForEdge, enabledForOffice, enabledForEdgeAndOffice."), ValueMap{"notConfigured","enabledForEdge","enabledForOffice","enabledForEdgeAndOffice"}, Values{"notConfigured","enabledForEdge","enabledForOffice","enabledForEdgeAndOffice"}] String ApplicationGuardEnabledOptions;
    [Write, Description("Force auditing will persist Windows logs and events to meet security/compliance criteria (sample events are user login-logoff, use of privilege rights, software installation, system changes, etc.)")] Boolean ApplicationGuardForceAuditing;
    [Write, Description("Enables the Admin to choose what types of app to allow on devices. Possible values are: notConfigured, enforceComponentsAndStoreApps, auditComponentsAndStoreApps, enforceComponentsStoreAppsAndSmartlocker, auditComponentsStoreAppsAndSmartlocker."), ValueMap{"notConfigured","enforceComponentsAndStoreApps","auditComponentsAndStoreApps","enforceComponentsStoreAppsAndSmartlocker","auditComponentsStoreAppsAndSmartlocker"}, Values{"notConfigured","enforceComponentsAndStoreApps","auditComponentsAndStoreApps","enforceComponentsStoreAppsAndSmartlocker","auditComponentsStoreAppsAndSmartlocker"}] String AppLockerApplicationControl;
    [Write, Description("Allows the admin to allow standard users to enable encrpytion during Azure AD Join.")] Boolean BitLockerAllowStandardUserEncryption;
    [Write, Description("Allows the Admin to disable the warning prompt for other disk encryption on the user machines.")] Boolean BitLockerDisableWarningForOtherDiskEncryption;
    [Write, Description("Allows the admin to require encryption to be turned on using BitLocker. This policy is valid only for a mobile SKU.")] Boolean BitLockerEnableStorageCardEncryptionOnMobile;
    [Write, Description("Allows the admin to require encryption to be turned on using BitLocker.")] Boolean BitLockerEncryptDevice;
    [Write, Description("BitLocker Fixed Drive Policy."), EmbeddedInstance("MSFT_MicrosoftGraphbitLockerFixedDrivePolicy")] String BitLockerFixedDrivePolicy;
    [Write, Description("This setting initiates a client-driven recovery password rotation after an OS drive recovery (either by using bootmgr or WinRE). Possible values are: notConfigured, disabled, enabledForAzureAd, enabledForAzureAdAndHybrid."), ValueMap{"notConfigured","disabled","enabledForAzureAd","enabledForAzureAdAndHybrid"}, Values{"notConfigured","disabled","enabledForAzureAd","enabledForAzureAdAndHybrid"}] String BitLockerRecoveryPasswordRotation;
    [Write, Description("BitLocker Removable Drive Policy."), EmbeddedInstance("MSFT_MicrosoftGraphbitLockerRemovableDrivePolicy")] String BitLockerRemovableDrivePolicy;
    [Write, Description("BitLocker System Drive Policy."), EmbeddedInstance("MSFT_MicrosoftGraphbitLockerSystemDrivePolicy")] String BitLockerSystemDrivePolicy;
    [Write, Description("List of folder paths to be added to the list of protected folders")] String DefenderAdditionalGuardedFolders[];
    [Write, Description("Value indicating the behavior of Adobe Reader from creating child processes. Possible values are: userDefined, enable, auditMode, warn, notConfigured."), ValueMap{"userDefined","enable","auditMode","warn","notConfigured"}, Values{"userDefined","enable","auditMode","warn","notConfigured"}] String DefenderAdobeReaderLaunchChildProcess;
    [Write, Description("Value indicating use of advanced protection against ransomeware. Possible values are: userDefined, enable, auditMode, warn, notConfigured."), ValueMap{"userDefined","enable","auditMode","warn","notConfigured"}, Values{"userDefined","enable","auditMode","warn","notConfigured"}] String DefenderAdvancedRansomewareProtectionType;
    [Write, Description("Allows or disallows Windows Defender Behavior Monitoring functionality.")] Boolean DefenderAllowBehaviorMonitoring;
    [Write, Description("To best protect your PC, Windows Defender will send information to Microsoft about any problems it finds. Microsoft will analyze that information, learn more about problems affecting you and other customers, and offer improved solutions.")] Boolean DefenderAllowCloudProtection;
    [Write, Description("Allows or disallows user access to the Windows Defender UI. If disallowed, all Windows Defender notifications will also be suppressed.")] Boolean DefenderAllowEndUserAccess;
    [Write, Description("Allows or disallows Windows Defender Intrusion Prevention functionality.")] Boolean DefenderAllowIntrusionPreventionSystem;
    [Write, Description("Allows or disallows Windows Defender On Access Protection functionality.")] Boolean DefenderAllowOnAccessProtection;
    [Write, Description("Allows or disallows Windows Defender Realtime Monitoring functionality.")] Boolean DefenderAllowRealTimeMonitoring;
    [Write, Description("Allows or disallows scanning of archives.")] Boolean DefenderAllowScanArchiveFiles;
    [Write, Description("Allows or disallows Windows Defender IOAVP Protection functionality.")] Boolean DefenderAllowScanDownloads;
    [Write, Description("Allows or disallows a scanning of network files.")] Boolean DefenderAllowScanNetworkFiles;
    [Write, Description("Allows or disallows a full scan of removable drives. During a quick scan, removable drives may still be scanned.")] Boolean DefenderAllowScanRemovableDrivesDuringFullScan;
    [Write, Description("Allows or disallows Windows Defender Script Scanning functionality.")] Boolean DefenderAllowScanScriptsLoadedInInternetExplorer;
    [Write, Description("List of exe files and folders to be excluded from attack surface reduction rules")] String DefenderAttackSurfaceReductionExcludedPaths[];
    [Write, Description("Allows or disallows user access to the Windows Defender UI. If disallowed, all Windows Defender notifications will also be suppressed.")] Boolean DefenderBlockEndUserAccess;
    [Write, Description("Value indicating the behavior ofBlock persistence through WMI event subscription. Possible values are: userDefined, block, auditMode, warn, disable."), ValueMap{"userDefined","block","auditMode","warn","disable"}, Values{"userDefined","block","auditMode","warn","disable"}] String DefenderBlockPersistenceThroughWmiType;
    [Write, Description("This policy setting allows you to manage whether a check for new virus and spyware definitions will occur before running a scan.")] Boolean DefenderCheckForSignaturesBeforeRunningScan;
    [Write, Description("Added in Windows 10, version 1709. This policy setting determines how aggressive Windows Defender Antivirus will be in blocking and scanning suspicious files. Value type is integer. This feature requires the 'Join Microsoft MAPS' setting enabled in order to function. Possible values are: notConfigured, high, highPlus, zeroTolerance."), ValueMap{"notConfigured","high","highPlus","zeroTolerance"}, Values{"notConfigured","high","highPlus","zeroTolerance"}] String DefenderCloudBlockLevel;
    [Write, Description("Added in Windows 10, version 1709. This feature allows Windows Defender Antivirus to block a suspicious file for up to 60 seconds, and scan it in the cloud to make sure it's safe. Value type is integer, range is 0 - 50. This feature depends on three other MAPS settings the must all be enabled- 'Configure the 'Block at First Sight' feature 'Join Microsoft MAPS' 'Send file samples when further analysis is required'. Valid values 0 to 50")] UInt32 DefenderCloudExtendedTimeoutInSeconds;
    [Write, Description("Time period (in days) that quarantine items will be stored on the system. Valid values 0 to 90")] UInt32 DefenderDaysBeforeDeletingQuarantinedMalware;
    [Write, Description("Allows an administrator to specify any valid threat severity levels and the corresponding default action ID to take."), EmbeddedInstance("MSFT_MicrosoftGraphdefenderDetectedMalwareActions")] String DefenderDetectedMalwareActions;
    [Write, Description("Allows or disallows Windows Defender Behavior Monitoring functionality.")] Boolean DefenderDisableBehaviorMonitoring;
    [Write, Description("This policy setting allows you to configure catch-up scans for scheduled full scans. A catch-up scan is a scan that is initiated because a regularly scheduled scan was missed. Usually these scheduled scans are missed because the computer was turned off at the scheduled time.")] Boolean DefenderDisableCatchupFullScan;
    [Write, Description("This policy setting allows you to configure catch-up scans for scheduled quick scans. A catch-up scan is a scan that is initiated because a regularly scheduled scan was missed. Usually these scheduled scans are missed because the computer was turned off at the scheduled time.")] Boolean DefenderDisableCatchupQuickScan;
    [Write, Description("To best protect your PC, Windows Defender will send information to Microsoft about any problems it finds. Microsoft will analyze that information, learn more about problems affecting you and other customers, and offer improved solutions.")] Boolean DefenderDisableCloudProtection;
    [Write, Description("Allows or disallows Windows Defender Intrusion Prevention functionality.")] Boolean DefenderDisableIntrusionPreventionSystem;
    [Write, Description("Allows or disallows Windows Defender On Access Protection functionality.")] Boolean DefenderDisableOnAccessProtection;
    [Write, Description("Allows or disallows Windows Defender Realtime Monitoring functionality.")] Boolean DefenderDisableRealTimeMonitoring;
    [Write, Description("Allows or disallows scanning of archives.")] Boolean DefenderDisableScanArchiveFiles;
    [Write, Description("Allows or disallows Windows Defender IOAVP Protection functionality.")] Boolean DefenderDisableScanDownloads;
    [Write, Description("Allows or disallows a scanning of network files.")] Boolean DefenderDisableScanNetworkFiles;
    [Write, Description("Allows or disallows a full scan of removable drives. During a quick scan, removable drives may still be scanned.")] Boolean DefenderDisableScanRemovableDrivesDuringFullScan;
    [Write, Description("Allows or disallows Windows Defender Script Scanning functionality.")] Boolean DefenderDisableScanScriptsLoadedInInternetExplorer;
    [Write, Description("Value indicating if execution of executable content (exe, dll, ps, js, vbs, etc) should be dropped from email (webmail/mail-client). Possible values are: userDefined, enable, auditMode, warn, notConfigured."), ValueMap{"userDefined","enable","auditMode","warn","notConfigured"}, Values{"userDefined","enable","auditMode","warn","notConfigured"}] String DefenderEmailContentExecution;
    [Write, Description("Value indicating if execution of executable content (exe, dll, ps, js, vbs, etc) should be dropped from email (webmail/mail-client). Possible values are: userDefined, block, auditMode, warn, disable."), ValueMap{"userDefined","block","auditMode","warn","disable"}, Values{"userDefined","block","auditMode","warn","disable"}] String DefenderEmailContentExecutionType;
    [Write, Description("This policy setting allows you to enable or disable low CPU priority for scheduled scans.")] Boolean DefenderEnableLowCpuPriority;
    [Write, Description("Allows or disallows scanning of email.")] Boolean DefenderEnableScanIncomingMail;
    [Write, Description("Allows or disallows a full scan of mapped network drives.")] Boolean DefenderEnableScanMappedNetworkDrivesDuringFullScan;
    [Write, Description("Xml content containing information regarding exploit protection details.")] String DefenderExploitProtectionXml;
    [Write, Description("Name of the file from which DefenderExploitProtectionXml was obtained.")] String DefenderExploitProtectionXmlFileName;
    [Write, Description("File extensions to exclude from scans and real time protection.")] String DefenderFileExtensionsToExclude[];
    [Write, Description("Files and folder to exclude from scans and real time protection.")] String DefenderFilesAndFoldersToExclude[];
    [Write, Description("List of paths to exe that are allowed to access protected folders")] String DefenderGuardedFoldersAllowedAppPaths[];
    [Write, Description("Value indicating the behavior of protected folders. Possible values are: userDefined, enable, auditMode, blockDiskModification, auditDiskModification."), ValueMap{"userDefined","enable","auditMode","blockDiskModification","auditDiskModification"}, Values{"userDefined","enable","auditMode","blockDiskModification","auditDiskModification"}] String DefenderGuardMyFoldersType;
    [Write, Description("Value indicating the behavior of NetworkProtection. Possible values are: userDefined, enable, auditMode, warn, notConfigured."), ValueMap{"userDefined","enable","auditMode","warn","notConfigured"}, Values{"userDefined","enable","auditMode","warn","notConfigured"}] String DefenderNetworkProtectionType;
    [Write, Description("Value indicating the behavior of Office applications/macros creating or launching executable content. Possible values are: userDefined, enable, auditMode, warn, notConfigured."), ValueMap{"userDefined","enable","auditMode","warn","notConfigured"}, Values{"userDefined","enable","auditMode","warn","notConfigured"}] String DefenderOfficeAppsExecutableContentCreationOrLaunch;
    [Write, Description("Value indicating the behavior of Office applications/macros creating or launching executable content. Possible values are: userDefined, block, auditMode, warn, disable."), ValueMap{"userDefined","block","auditMode","warn","disable"}, Values{"userDefined","block","auditMode","warn","disable"}] String DefenderOfficeAppsExecutableContentCreationOrLaunchType;
    [Write, Description("Value indicating the behavior of Office application launching child processes. Possible values are: userDefined, enable, auditMode, warn, notConfigured."), ValueMap{"userDefined","enable","auditMode","warn","notConfigured"}, Values{"userDefined","enable","auditMode","warn","notConfigured"}] String DefenderOfficeAppsLaunchChildProcess;
    [Write, Description("Value indicating the behavior of Office application launching child processes. Possible values are: userDefined, block, auditMode, warn, disable."), ValueMap{"userDefined","block","auditMode","warn","disable"}, Values{"userDefined","block","auditMode","warn","disable"}] String DefenderOfficeAppsLaunchChildProcessType;
    [Write, Description("Value indicating the behavior of Office applications injecting into other processes. Possible values are: userDefined, enable, auditMode, warn, notConfigured."), ValueMap{"userDefined","enable","auditMode","warn","notConfigured"}, Values{"userDefined","enable","auditMode","warn","notConfigured"}] String DefenderOfficeAppsOtherProcessInjection;
    [Write, Description("Value indicating the behavior ofOffice applications injecting into other processes. Possible values are: userDefined, block, auditMode, warn, disable."), ValueMap{"userDefined","block","auditMode","warn","disable"}, Values{"userDefined","block","auditMode","warn","disable"}] String DefenderOfficeAppsOtherProcessInjectionType;
    [Write, Description("Value indicating the behavior of Office communication applications, including Microsoft Outlook, from creating child processes. Possible values are: userDefined, enable, auditMode, warn, notConfigured."), ValueMap{"userDefined","enable","auditMode","warn","notConfigured"}, Values{"userDefined","enable","auditMode","warn","notConfigured"}] String DefenderOfficeCommunicationAppsLaunchChildProcess;
    [Write, Description("Value indicating the behavior of Win32 imports from Macro code in Office. Possible values are: userDefined, enable, auditMode, warn, notConfigured."), ValueMap{"userDefined","enable","auditMode","warn","notConfigured"}, Values{"userDefined","enable","auditMode","warn","notConfigured"}] String DefenderOfficeMacroCodeAllowWin32Imports;
    [Write, Description("Value indicating the behavior of Win32 imports from Macro code in Office. Possible values are: userDefined, block, auditMode, warn, disable."), ValueMap{"userDefined","block","auditMode","warn","disable"}, Values{"userDefined","block","auditMode","warn","disable"}] String DefenderOfficeMacroCodeAllowWin32ImportsType;
    [Write, Description("Added in Windows 10, version 1607. Specifies the level of detection for potentially unwanted applications (PUAs). Windows Defender alerts you when potentially unwanted software is being downloaded or attempts to install itself on your computer. Possible values are: userDefined, enable, auditMode, warn, notConfigured."), ValueMap{"userDefined","enable","auditMode","warn","notConfigured"}, Values{"userDefined","enable","auditMode","warn","notConfigured"}] String DefenderPotentiallyUnwantedAppAction;
    [Write, Description("Value indicating if credential stealing from the Windows local security authority subsystem is permitted. Possible values are: userDefined, enable, auditMode, warn, notConfigured."), ValueMap{"userDefined","enable","auditMode","warn","notConfigured"}, Values{"userDefined","enable","auditMode","warn","notConfigured"}] String DefenderPreventCredentialStealingType;
    [Write, Description("Value indicating response to process creations originating from PSExec and WMI commands. Possible values are: userDefined, enable, auditMode, warn, notConfigured."), ValueMap{"userDefined","enable","auditMode","warn","notConfigured"}, Values{"userDefined","enable","auditMode","warn","notConfigured"}] String DefenderProcessCreation;
    [Write, Description("Value indicating response to process creations originating from PSExec and WMI commands. Possible values are: userDefined, block, auditMode, warn, disable."), ValueMap{"userDefined","block","auditMode","warn","disable"}, Values{"userDefined","block","auditMode","warn","disable"}] String DefenderProcessCreationType;
    [Write, Description("Processes to exclude from scans and real time protection.")] String DefenderProcessesToExclude[];
    [Write, Description("Controls which sets of files should be monitored. Possible values are: monitorAllFiles, monitorIncomingFilesOnly, monitorOutgoingFilesOnly."), ValueMap{"monitorAllFiles","monitorIncomingFilesOnly","monitorOutgoingFilesOnly"}, Values{"monitorAllFiles","monitorIncomingFilesOnly","monitorOutgoingFilesOnly"}] String DefenderScanDirection;
    [Write, Description("Represents the average CPU load factor for the Windows Defender scan (in percent). The default value is 50. Valid values 0 to 100")] UInt32 DefenderScanMaxCpuPercentage;
    [Write, Description("Selects whether to perform a quick scan or full scan. Possible values are: userDefined, disabled, quick, full."), ValueMap{"userDefined","disabled","quick","full"}, Values{"userDefined","disabled","quick","full"}] String DefenderScanType;
    [Write, Description("Selects the time of day that the Windows Defender quick scan should run. For example, a value of 0=12:00AM, a value of 60=1:00AM, a value of 120=2:00, and so on, up to a value of 1380=11:00PM. The default value is 120")] String DefenderScheduledQuickScanTime;
    [Write, Description("Selects the day that the Windows Defender scan should run. Possible values are: userDefined, everyday, sunday, monday, tuesday, wednesday, thursday, friday, saturday, noScheduledScan."), ValueMap{"userDefined","everyday","sunday","monday","tuesday","wednesday","thursday","friday","saturday","noScheduledScan"}, Values{"userDefined","everyday","sunday","monday","tuesday","wednesday","thursday","friday","saturday","noScheduledScan"}] String DefenderScheduledScanDay;
    [Write, Description("Selects the time of day that the Windows Defender scan should run.")] String DefenderScheduledScanTime;
    [Write, Description("Value indicating the behavior of js/vbs executing payload downloaded from Internet. Possible values are: userDefined, enable, auditMode, warn, notConfigured."), ValueMap{"userDefined","enable","auditMode","warn","notConfigured"}, Values{"userDefined","enable","auditMode","warn","notConfigured"}] String DefenderScriptDownloadedPayloadExecution;
    [Write, Description("Value indicating the behavior of js/vbs executing payload downloaded from Internet. Possible values are: userDefined, block, auditMode, warn, disable."), ValueMap{"userDefined","block","auditMode","warn","disable"}, Values{"userDefined","block","auditMode","warn","disable"}] String DefenderScriptDownloadedPayloadExecutionType;
    [Write, Description("Value indicating the behavior of obfuscated js/vbs/ps/macro code. Possible values are: userDefined, enable, auditMode, warn, notConfigured."), ValueMap{"userDefined","enable","auditMode","warn","notConfigured"}, Values{"userDefined","enable","auditMode","warn","notConfigured"}] String DefenderScriptObfuscatedMacroCode;
    [Write, Description("Value indicating the behavior of obfuscated js/vbs/ps/macro code. Possible values are: userDefined, block, auditMode, warn, disable."), ValueMap{"userDefined","block","auditMode","warn","disable"}, Values{"userDefined","block","auditMode","warn","disable"}] String DefenderScriptObfuscatedMacroCodeType;
    [Write, Description("Indicates whether or not to block user from overriding Exploit Protection settings.")] Boolean DefenderSecurityCenterBlockExploitProtectionOverride;
    [Write, Description("Used to disable the display of the account protection area.")] Boolean DefenderSecurityCenterDisableAccountUI;
    [Write, Description("Used to disable the display of the app and browser protection area.")] Boolean DefenderSecurityCenterDisableAppBrowserUI;
    [Write, Description("Used to disable the display of the Clear TPM button.")] Boolean DefenderSecurityCenterDisableClearTpmUI;
    [Write, Description("Used to disable the display of the family options area.")] Boolean DefenderSecurityCenterDisableFamilyUI;
    [Write, Description("Used to disable the display of the hardware protection area.")] Boolean DefenderSecurityCenterDisableHardwareUI;
    [Write, Description("Used to disable the display of the device performance and health area.")] Boolean DefenderSecurityCenterDisableHealthUI;
    [Write, Description("Used to disable the display of the firewall and network protection area.")] Boolean DefenderSecurityCenterDisableNetworkUI;
    [Write, Description("Used to disable the display of the notification area control. The user needs to either sign out and sign in or reboot the computer for this setting to take effect.")] Boolean DefenderSecurityCenterDisableNotificationAreaUI;
    [Write, Description("Used to disable the display of the ransomware protection area.")] Boolean DefenderSecurityCenterDisableRansomwareUI;
    [Write, Description("Used to disable the display of the secure boot area under Device security.")] Boolean DefenderSecurityCenterDisableSecureBootUI;
    [Write, Description("Used to disable the display of the security process troubleshooting under Device security.")] Boolean DefenderSecurityCenterDisableTroubleshootingUI;
    [Write, Description("Used to disable the display of the virus and threat protection area.")] Boolean DefenderSecurityCenterDisableVirusUI;
    [Write, Description("Used to disable the display of update TPM Firmware when a vulnerable firmware is detected.")] Boolean DefenderSecurityCenterDisableVulnerableTpmFirmwareUpdateUI;
    [Write, Description("The email address that is displayed to users.")] String DefenderSecurityCenterHelpEmail;
    [Write, Description("The phone number or Skype ID that is displayed to users.")] String DefenderSecurityCenterHelpPhone;
    [Write, Description("The help portal URL this is displayed to users.")] String DefenderSecurityCenterHelpURL;
    [Write, Description("Configure where to display IT contact information to end users. Possible values are: notConfigured, displayInAppAndInNotifications, displayOnlyInApp, displayOnlyInNotifications."), ValueMap{"notConfigured","displayInAppAndInNotifications","displayOnlyInApp","displayOnlyInNotifications"}, Values{"notConfigured","displayInAppAndInNotifications","displayOnlyInApp","displayOnlyInNotifications"}] String DefenderSecurityCenterITContactDisplay;
    [Write, Description("Notifications to show from the displayed areas of app. Possible values are: notConfigured, blockNoncriticalNotifications, blockAllNotifications."), ValueMap{"notConfigured","blockNoncriticalNotifications","blockAllNotifications"}, Values{"notConfigured","blockNoncriticalNotifications","blockAllNotifications"}] String DefenderSecurityCenterNotificationsFromApp;
    [Write, Description("The company name that is displayed to the users.")] String DefenderSecurityCenterOrganizationDisplayName;
    [Write, Description("Specifies the interval (in hours) that will be used to check for signatures, so instead of using the ScheduleDay and ScheduleTime the check for new signatures will be set according to the interval. Valid values 0 to 24")] UInt32 DefenderSignatureUpdateIntervalInHours;
    [Write, Description("Checks for the user consent level in Windows Defender to send data. Possible values are: sendSafeSamplesAutomatically, alwaysPrompt, neverSend, sendAllSamplesAutomatically."), ValueMap{"sendSafeSamplesAutomatically","alwaysPrompt","neverSend","sendAllSamplesAutomatically"}, Values{"sendSafeSamplesAutomatically","alwaysPrompt","neverSend","sendAllSamplesAutomatically"}] String DefenderSubmitSamplesConsentType;
    [Write, Description("Value indicating response to executables that don't meet a prevalence, age, or trusted list criteria. Possible values are: userDefined, enable, auditMode, warn, notConfigured."), ValueMap{"userDefined","enable","auditMode","warn","notConfigured"}, Values{"userDefined","enable","auditMode","warn","notConfigured"}] String DefenderUntrustedExecutable;
    [Write, Description("Value indicating response to executables that don't meet a prevalence, age, or trusted list criteria. Possible values are: userDefined, block, auditMode, warn, disable."), ValueMap{"userDefined","block","auditMode","warn","disable"}, Values{"userDefined","block","auditMode","warn","disable"}] String DefenderUntrustedExecutableType;
    [Write, Description("Value indicating response to untrusted and unsigned processes that run from USB. Possible values are: userDefined, enable, auditMode, warn, notConfigured."), ValueMap{"userDefined","enable","auditMode","warn","notConfigured"}, Values{"userDefined","enable","auditMode","warn","notConfigured"}] String DefenderUntrustedUSBProcess;
    [Write, Description("Value indicating response to untrusted and unsigned processes that run from USB. Possible values are: userDefined, block, auditMode, warn, disable."), ValueMap{"userDefined","block","auditMode","warn","disable"}, Values{"userDefined","block","auditMode","warn","disable"}] String DefenderUntrustedUSBProcessType;
    [Write, Description("This property will be deprecated in May 2019 and will be replaced with property DeviceGuardSecureBootWithDMA. Specifies whether Platform Security Level is enabled at next reboot.")] Boolean DeviceGuardEnableSecureBootWithDMA;
    [Write, Description("Turns On Virtualization Based Security(VBS).")] Boolean DeviceGuardEnableVirtualizationBasedSecurity;
    [Write, Description("Allows the IT admin to configure the launch of System Guard. Possible values are: notConfigured, enabled, disabled."), ValueMap{"notConfigured","enabled","disabled"}, Values{"notConfigured","enabled","disabled"}] String DeviceGuardLaunchSystemGuard;
    [Write, Description("Turn on Credential Guard when Platform Security Level with Secure Boot and Virtualization Based Security are both enabled. Possible values are: notConfigured, enableWithUEFILock, enableWithoutUEFILock, disable."), ValueMap{"notConfigured","enableWithUEFILock","enableWithoutUEFILock","disable"}, Values{"notConfigured","enableWithUEFILock","enableWithoutUEFILock","disable"}] String DeviceGuardLocalSystemAuthorityCredentialGuardSettings;
    [Write, Description("Specifies whether Platform Security Level is enabled at next reboot. Possible values are: notConfigured, withoutDMA, withDMA."), ValueMap{"notConfigured","withoutDMA","withDMA"}, Values{"notConfigured","withoutDMA","withDMA"}] String DeviceGuardSecureBootWithDMA;
    [Write, Description("This policy is intended to provide additional security against external DMA capable devices. It allows for more control over the enumeration of external DMA capable devices incompatible with DMA Remapping/device memory isolation and sandboxing. This policy only takes effect when Kernel DMA Protection is supported and enabled by the system firmware. Kernel DMA Protection is a platform feature that cannot be controlled via policy or by end user. It has to be supported by the system at the time of manufacturing. To check if the system supports Kernel DMA Protection, please check the Kernel DMA Protection field in the Summary page of MSINFO32.exe. Possible values are: deviceDefault, blockAll, allowAll."), ValueMap{"deviceDefault","blockAll","allowAll"}, Values{"deviceDefault","blockAll","allowAll"}] String DmaGuardDeviceEnumerationPolicy;
    [Write, Description("Blocks stateful FTP connections to the device")] Boolean FirewallBlockStatefulFTP;
    [Write, Description("Specify how the certificate revocation list is to be enforced. Possible values are: deviceDefault, none, attempt, require."), ValueMap{"deviceDefault","none","attempt","require"}, Values{"deviceDefault","none","attempt","require"}] String FirewallCertificateRevocationListCheckMethod;
    [Write, Description("Configures the idle timeout for security associations, in seconds, from 300 to 3600 inclusive. This is the period after which security associations will expire and be deleted. Valid values 300 to 3600")] UInt32 FirewallIdleTimeoutForSecurityAssociationInSeconds;
    [Write, Description("Configures IPSec exemptions to allow both IPv4 and IPv6 DHCP traffic")] Boolean FirewallIPSecExemptionsAllowDHCP;
    [Write, Description("Configures IPSec exemptions to allow ICMP")] Boolean FirewallIPSecExemptionsAllowICMP;
    [Write, Description("Configures IPSec exemptions to allow neighbor discovery IPv6 ICMP type-codes")] Boolean FirewallIPSecExemptionsAllowNeighborDiscovery;
    [Write, Description("Configures IPSec exemptions to allow router discovery IPv6 ICMP type-codes")] Boolean FirewallIPSecExemptionsAllowRouterDiscovery;
    [Write, Description("Configures IPSec exemptions to no exemptions")] Boolean FirewallIPSecExemptionsNone;
    [Write, Description("If an authentication set is not fully supported by a keying module, direct the module to ignore only unsupported authentication suites rather than the entire set")] Boolean FirewallMergeKeyingModuleSettings;
    [Write, Description("Configures how packet queueing should be applied in the tunnel gateway scenario. Possible values are: deviceDefault, disabled, queueInbound, queueOutbound, queueBoth."), ValueMap{"deviceDefault","disabled","queueInbound","queueOutbound","queueBoth"}, Values{"deviceDefault","disabled","queueInbound","queueOutbound","queueBoth"}] String FirewallPacketQueueingMethod;
    [Write, Description("Select the preshared key encoding to be used. Possible values are: deviceDefault, none, utF8."), ValueMap{"deviceDefault","none","utF8"}, Values{"deviceDefault","none","utF8"}] String FirewallPreSharedKeyEncodingMethod;
    [Write, Description("Configures the firewall profile settings for domain networks"), EmbeddedInstance("MSFT_MicrosoftGraphwindowsFirewallNetworkProfile")] String FirewallProfileDomain;
    [Write, Description("Configures the firewall profile settings for private networks"), EmbeddedInstance("MSFT_MicrosoftGraphwindowsFirewallNetworkProfile")] String FirewallProfilePrivate;
    [Write, Description("Configures the firewall profile settings for public networks"), EmbeddedInstance("MSFT_MicrosoftGraphwindowsFirewallNetworkProfile")] String FirewallProfilePublic;
    [Write, Description("Configures the firewall rule settings. This collection can contain a maximum of 150 elements."), EmbeddedInstance("MSFT_MicrosoftGraphwindowsFirewallRule")] String FirewallRules[];
    [Write, Description("This security setting determines which challenge/response authentication protocol is used for network logons. Possible values are: lmAndNltm, lmNtlmAndNtlmV2, lmAndNtlmOnly, lmAndNtlmV2, lmNtlmV2AndNotLm, lmNtlmV2AndNotLmOrNtm."), ValueMap{"lmAndNltm","lmNtlmAndNtlmV2","lmAndNtlmOnly","lmAndNtlmV2","lmNtlmV2AndNotLm","lmNtlmV2AndNotLmOrNtm"}, Values{"lmAndNltm","lmNtlmAndNtlmV2","lmAndNtlmOnly","lmAndNtlmV2","lmNtlmV2AndNotLm","lmNtlmV2AndNotLmOrNtm"}] String LanManagerAuthenticationLevel;
    [Write, Description("If enabled,the SMB client will allow insecure guest logons. If not configured, the SMB client will reject insecure guest logons.")] Boolean LanManagerWorkstationDisableInsecureGuestLogons;
    [Write, Description("Define a different account name to be associated with the security identifier (SID) for the account 'Administrator'.")] String LocalSecurityOptionsAdministratorAccountName;
    [Write, Description("Define the behavior of the elevation prompt for admins in Admin Approval Mode. Possible values are: notConfigured, elevateWithoutPrompting, promptForCredentialsOnTheSecureDesktop, promptForConsentOnTheSecureDesktop, promptForCredentials, promptForConsent, promptForConsentForNonWindowsBinaries."), ValueMap{"notConfigured","elevateWithoutPrompting","promptForCredentialsOnTheSecureDesktop","promptForConsentOnTheSecureDesktop","promptForCredentials","promptForConsent","promptForConsentForNonWindowsBinaries"}, Values{"notConfigured","elevateWithoutPrompting","promptForCredentialsOnTheSecureDesktop","promptForConsentOnTheSecureDesktop","promptForCredentials","promptForConsent","promptForConsentForNonWindowsBinaries"}] String LocalSecurityOptionsAdministratorElevationPromptBehavior;
    [Write, Description("This security setting determines whether to allows anonymous users to perform certain activities, such as enumerating the names of domain accounts and network shares.")] Boolean LocalSecurityOptionsAllowAnonymousEnumerationOfSAMAccountsAndShares;
    [Write, Description("Block PKU2U authentication requests to this device to use online identities.")] Boolean LocalSecurityOptionsAllowPKU2UAuthenticationRequests;
    [Write, Description("Edit the default Security Descriptor Definition Language string to allow or deny users and groups to make remote calls to the SAM.")] String LocalSecurityOptionsAllowRemoteCallsToSecurityAccountsManager;
    [Write, Description("UI helper boolean for LocalSecurityOptionsAllowRemoteCallsToSecurityAccountsManager entity")] Boolean LocalSecurityOptionsAllowRemoteCallsToSecurityAccountsManagerHelperBool;
    [Write, Description("This security setting determines whether a computer can be shut down without having to log on to Windows.")] Boolean LocalSecurityOptionsAllowSystemToBeShutDownWithoutHavingToLogOn;
    [Write, Description("Allow UIAccess apps to prompt for elevation without using the secure desktop.")] Boolean LocalSecurityOptionsAllowUIAccessApplicationElevation;
    [Write, Description("Allow UIAccess apps to prompt for elevation without using the secure desktop.Default is enabled")] Boolean LocalSecurityOptionsAllowUIAccessApplicationsForSecureLocations;
    [Write, Description("Prevent a portable computer from being undocked without having to log in.")] Boolean LocalSecurityOptionsAllowUndockWithoutHavingToLogon;
    [Write, Description("Prevent users from adding new Microsoft accounts to this computer.")] Boolean LocalSecurityOptionsBlockMicrosoftAccounts;
    [Write, Description("Enable Local accounts that are not password protected to log on from locations other than the physical device.Default is enabled")] Boolean LocalSecurityOptionsBlockRemoteLogonWithBlankPassword;
    [Write, Description("Enabling this settings allows only interactively logged on user to access CD-ROM media.")] Boolean LocalSecurityOptionsBlockRemoteOpticalDriveAccess;
    [Write, Description("Restrict installing printer drivers as part of connecting to a shared printer to admins only.")] Boolean LocalSecurityOptionsBlockUsersInstallingPrinterDrivers;
    [Write, Description("This security setting determines whether the virtual memory pagefile is cleared when the system is shut down.")] Boolean LocalSecurityOptionsClearVirtualMemoryPageFile;
    [Write, Description("This security setting determines whether packet signing is required by the SMB client component.")] Boolean LocalSecurityOptionsClientDigitallySignCommunicationsAlways;
    [Write, Description("If this security setting is enabled, the Server Message Block (SMB) redirector is allowed to send plaintext passwords to non-Microsoft SMB servers that do not support password encryption during authentication.")] Boolean LocalSecurityOptionsClientSendUnencryptedPasswordToThirdPartySMBServers;
    [Write, Description("App installations requiring elevated privileges will prompt for admin credentials.Default is enabled")] Boolean LocalSecurityOptionsDetectApplicationInstallationsAndPromptForElevation;
    [Write, Description("Determines whether the Local Administrator account is enabled or disabled.")] Boolean LocalSecurityOptionsDisableAdministratorAccount;
    [Write, Description("This security setting determines whether the SMB client attempts to negotiate SMB packet signing.")] Boolean LocalSecurityOptionsDisableClientDigitallySignCommunicationsIfServerAgrees;
    [Write, Description("Determines if the Guest account is enabled or disabled.")] Boolean LocalSecurityOptionsDisableGuestAccount;
    [Write, Description("This security setting determines whether packet signing is required by the SMB server component.")] Boolean LocalSecurityOptionsDisableServerDigitallySignCommunicationsAlways;
    [Write, Description("This security setting determines whether the SMB server will negotiate SMB packet signing with clients that request it.")] Boolean LocalSecurityOptionsDisableServerDigitallySignCommunicationsIfClientAgrees;
    [Write, Description("This security setting determines what additional permissions will be granted for anonymous connections to the computer.")] Boolean LocalSecurityOptionsDoNotAllowAnonymousEnumerationOfSAMAccounts;
    [Write, Description("Require CTRL+ALT+DEL to be pressed before a user can log on.")] Boolean LocalSecurityOptionsDoNotRequireCtrlAltDel;
    [Write, Description("This security setting determines if, at the next password change, the LAN Manager (LM) hash value for the new password is stored. Its not stored by default.")] Boolean LocalSecurityOptionsDoNotStoreLANManagerHashValueOnNextPasswordChange;
    [Write, Description("Define who is allowed to format and eject removable NTFS media. Possible values are: notConfigured, administrators, administratorsAndPowerUsers, administratorsAndInteractiveUsers."), ValueMap{"notConfigured","administrators","administratorsAndPowerUsers","administratorsAndInteractiveUsers"}, Values{"notConfigured","administrators","administratorsAndPowerUsers","administratorsAndInteractiveUsers"}] String LocalSecurityOptionsFormatAndEjectOfRemovableMediaAllowedUser;
    [Write, Description("Define a different account name to be associated with the security identifier (SID) for the account 'Guest'.")] String LocalSecurityOptionsGuestAccountName;
    [Write, Description("Do not display the username of the last person who signed in on this device.")] Boolean LocalSecurityOptionsHideLastSignedInUser;
    [Write, Description("Do not display the username of the person signing in to this device after credentials are entered and before the devices desktop is shown.")] Boolean LocalSecurityOptionsHideUsernameAtSignIn;
    [Write, Description("Configure the user information that is displayed when the session is locked. If not configured, user display name, domain and username are shown. Possible values are: notConfigured, administrators, administratorsAndPowerUsers, administratorsAndInteractiveUsers."), ValueMap{"notConfigured","administrators","administratorsAndPowerUsers","administratorsAndInteractiveUsers"}, Values{"notConfigured","administrators","administratorsAndPowerUsers","administratorsAndInteractiveUsers"}] String LocalSecurityOptionsInformationDisplayedOnLockScreen;
    [Write, Description("Configure the user information that is displayed when the session is locked. If not configured, user display name, domain and username are shown. Possible values are: notConfigured, userDisplayNameDomainUser, userDisplayNameOnly, doNotDisplayUser."), ValueMap{"notConfigured","userDisplayNameDomainUser","userDisplayNameOnly","doNotDisplayUser"}, Values{"notConfigured","userDisplayNameDomainUser","userDisplayNameOnly","doNotDisplayUser"}] String LocalSecurityOptionsInformationShownOnLockScreen;
    [Write, Description("Set message text for users attempting to log in.")] String LocalSecurityOptionsLogOnMessageText;
    [Write, Description("Set message title for users attempting to log in.")] String LocalSecurityOptionsLogOnMessageTitle;
    [Write, Description("Define maximum minutes of inactivity on the interactive desktops login screen until the screen saver runs. Valid values 0 to 9999")] UInt32 LocalSecurityOptionsMachineInactivityLimit;
    [Write, Description("Define maximum minutes of inactivity on the interactive desktops login screen until the screen saver runs. Valid values 0 to 9999")] UInt32 LocalSecurityOptionsMachineInactivityLimitInMinutes;
    [Write, Description("This security setting allows a client to require the negotiation of 128-bit encryption and/or NTLMv2 session security. Possible values are: none, requireNtmlV2SessionSecurity, require128BitEncryption, ntlmV2And128BitEncryption."), ValueMap{"none","requireNtmlV2SessionSecurity","require128BitEncryption","ntlmV2And128BitEncryption"}, Values{"none","requireNtmlV2SessionSecurity","require128BitEncryption","ntlmV2And128BitEncryption"}] String LocalSecurityOptionsMinimumSessionSecurityForNtlmSspBasedClients;
    [Write, Description("This security setting allows a server to require the negotiation of 128-bit encryption and/or NTLMv2 session security. Possible values are: none, requireNtmlV2SessionSecurity, require128BitEncryption, ntlmV2And128BitEncryption."), ValueMap{"none","requireNtmlV2SessionSecurity","require128BitEncryption","ntlmV2And128BitEncryption"}, Values{"none","requireNtmlV2SessionSecurity","require128BitEncryption","ntlmV2And128BitEncryption"}] String LocalSecurityOptionsMinimumSessionSecurityForNtlmSspBasedServers;
    [Write, Description("Enforce PKI certification path validation for a given executable file before it is permitted to run.")] Boolean LocalSecurityOptionsOnlyElevateSignedExecutables;
    [Write, Description("By default, this security setting restricts anonymous access to shares and pipes to the settings for named pipes that can be accessed anonymously and Shares that can be accessed anonymously")] Boolean LocalSecurityOptionsRestrictAnonymousAccessToNamedPipesAndShares;
    [Write, Description("This security setting determines what happens when the smart card for a logged-on user is removed from the smart card reader. Possible values are: noAction, lockWorkstation, forceLogoff, disconnectRemoteDesktopSession."), ValueMap{"noAction","lockWorkstation","forceLogoff","disconnectRemoteDesktopSession"}, Values{"noAction","lockWorkstation","forceLogoff","disconnectRemoteDesktopSession"}] String LocalSecurityOptionsSmartCardRemovalBehavior;
    [Write, Description("Define the behavior of the elevation prompt for standard users. Possible values are: notConfigured, automaticallyDenyElevationRequests, promptForCredentialsOnTheSecureDesktop, promptForCredentials."), ValueMap{"notConfigured","automaticallyDenyElevationRequests","promptForCredentialsOnTheSecureDesktop","promptForCredentials"}, Values{"notConfigured","automaticallyDenyElevationRequests","promptForCredentialsOnTheSecureDesktop","promptForCredentials"}] String LocalSecurityOptionsStandardUserElevationPromptBehavior;
    [Write, Description("Enable all elevation requests to go to the interactive user's desktop rather than the secure desktop. Prompt behavior policy settings for admins and standard users are used.")] Boolean LocalSecurityOptionsSwitchToSecureDesktopWhenPromptingForElevation;
    [Write, Description("Defines whether the built-in admin account uses Admin Approval Mode or runs all apps with full admin privileges.Default is enabled")] Boolean LocalSecurityOptionsUseAdminApprovalMode;
    [Write, Description("Define whether Admin Approval Mode and all UAC policy settings are enabled, default is enabled")] Boolean LocalSecurityOptionsUseAdminApprovalModeForAdministrators;
    [Write, Description("Virtualize file and registry write failures to per user locations")] Boolean LocalSecurityOptionsVirtualizeFileAndRegistryWriteFailuresToPerUserLocations;
    [Write, Description("Allows IT Admins to control whether users can can ignore SmartScreen warnings and run malicious files.")] Boolean SmartScreenBlockOverrideForFiles;
    [Write, Description("Allows IT Admins to configure SmartScreen for Windows.")] Boolean SmartScreenEnableInShell;
    [Write, Description("This user right is used by Credential Manager during Backup/Restore. Users' saved credentials might be compromised if this privilege is given to other entities. Only states NotConfigured and Allowed are supported"), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsAccessCredentialManagerAsTrustedCaller;
    [Write, Description("This user right allows a process to impersonate any user without authentication. The process can therefore gain access to the same local resources as that user. Only states NotConfigured and Allowed are supported"), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsActAsPartOfTheOperatingSystem;
    [Write, Description("This user right determines which users and groups are allowed to connect to the computer over the network. State Allowed is supported."), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsAllowAccessFromNetwork;
    [Write, Description("This user right determines which users can bypass file, directory, registry, and other persistent objects permissions when backing up files and directories. Only states NotConfigured and Allowed are supported"), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsBackupData;
    [Write, Description("This user right determines which users and groups are block from connecting to the computer over the network. State Block is supported."), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsBlockAccessFromNetwork;
    [Write, Description("This user right determines which users and groups can change the time and date on the internal clock of the computer. Only states NotConfigured and Allowed are supported"), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsChangeSystemTime;
    [Write, Description("This security setting determines whether users can create global objects that are available to all sessions. Users who can create global objects could affect processes that run under other users' sessions, which could lead to application failure or data corruption. Only states NotConfigured and Allowed are supported"), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsCreateGlobalObjects;
    [Write, Description("This user right determines which users and groups can call an internal API to create and change the size of a page file. Only states NotConfigured and Allowed are supported"), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsCreatePageFile;
    [Write, Description("This user right determines which accounts can be used by processes to create a directory object using the object manager. Only states NotConfigured and Allowed are supported"), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsCreatePermanentSharedObjects;
    [Write, Description("This user right determines if the user can create a symbolic link from the computer to which they are logged on. Only states NotConfigured and Allowed are supported"), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsCreateSymbolicLinks;
    [Write, Description("This user right determines which users/groups can be used by processes to create a token that can then be used to get access to any local resources when the process uses an internal API to create an access token. Only states NotConfigured and Allowed are supported"), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsCreateToken;
    [Write, Description("This user right determines which users can attach a debugger to any process or to the kernel. Only states NotConfigured and Allowed are supported"), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsDebugPrograms;
    [Write, Description("This user right determines which users can set the Trusted for Delegation setting on a user or computer object. Only states NotConfigured and Allowed are supported."), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsDelegation;
    [Write, Description("This user right determines which users cannot log on to the computer. States NotConfigured, Blocked are supported"), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsDenyLocalLogOn;
    [Write, Description("This user right determines which accounts can be used by a process to add entries to the security log. The security log is used to trace unauthorized system access. Only states NotConfigured and Allowed are supported."), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsGenerateSecurityAudits;
    [Write, Description("Assigning this user right to a user allows programs running on behalf of that user to impersonate a client. Requiring this user right for this kind of impersonation prevents an unauthorized user from convincing a client to connect to a service that they have created and then impersonating that client, which can elevate the unauthorized user's permissions to administrative or system levels. Only states NotConfigured and Allowed are supported."), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsImpersonateClient;
    [Write, Description("This user right determines which accounts can use a process with Write Property access to another process to increase the execution priority assigned to the other process. Only states NotConfigured and Allowed are supported."), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsIncreaseSchedulingPriority;
    [Write, Description("This user right determines which users can dynamically load and unload device drivers or other code in to kernel mode. Only states NotConfigured and Allowed are supported."), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsLoadUnloadDrivers;
    [Write, Description("This user right determines which users can log on to the computer. States NotConfigured, Allowed are supported"), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsLocalLogOn;
    [Write, Description("This user right determines which accounts can use a process to keep data in physical memory, which prevents the system from paging the data to virtual memory on disk. Only states NotConfigured and Allowed are supported."), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsLockMemory;
    [Write, Description("This user right determines which users can specify object access auditing options for individual resources, such as files, Active Directory objects, and registry keys. Only states NotConfigured and Allowed are supported."), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsManageAuditingAndSecurityLogs;
    [Write, Description("This user right determines which users and groups can run maintenance tasks on a volume, such as remote defragmentation. Only states NotConfigured and Allowed are supported."), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsManageVolumes;
    [Write, Description("This user right determines who can modify firmware environment values. Only states NotConfigured and Allowed are supported."), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsModifyFirmwareEnvironment;
    [Write, Description("This user right determines which user accounts can modify the integrity label of objects, such as files, registry keys, or processes owned by other users. Only states NotConfigured and Allowed are supported."), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsModifyObjectLabels;
    [Write, Description("This user right determines which users can use performance monitoring tools to monitor the performance of system processes. Only states NotConfigured and Allowed are supported."), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsProfileSingleProcess;
    [Write, Description("This user right determines which users and groups are prohibited from logging on as a Remote Desktop Services client. Only states NotConfigured and Blocked are supported"), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsRemoteDesktopServicesLogOn;
    [Write, Description("This user right determines which users are allowed to shut down a computer from a remote location on the network. Misuse of this user right can result in a denial of service. Only states NotConfigured and Allowed are supported."), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsRemoteShutdown;
    [Write, Description("This user right determines which users can bypass file, directory, registry, and other persistent objects permissions when restoring backed up files and directories, and determines which users can set any valid security principal as the owner of an object. Only states NotConfigured and Allowed are supported."), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsRestoreData;
    [Write, Description("This user right determines which users can take ownership of any securable object in the system, including Active Directory objects, files and folders, printers, registry keys, processes, and threads. Only states NotConfigured and Allowed are supported."), EmbeddedInstance("MSFT_MicrosoftGraphdeviceManagementUserRightsSetting")] String UserRightsTakeOwnership;
    [Write, Description("Configure windows defender TamperProtection settings. Possible values are: notConfigured, enable, disable."), ValueMap{"notConfigured","enable","disable"}, Values{"notConfigured","enable","disable"}] String WindowsDefenderTamperProtection;
    [Write, Description("This setting determines whether the Accessory management service's start type is Automatic(2), Manual(3), Disabled(4). Default: Manual. Possible values are: manual, automatic, disabled."), ValueMap{"manual","automatic","disabled"}, Values{"manual","automatic","disabled"}] String XboxServicesAccessoryManagementServiceStartupMode;
    [Write, Description("This setting determines whether xbox game save is enabled (1) or disabled (0).")] Boolean XboxServicesEnableXboxGameSaveTask;
    [Write, Description("This setting determines whether Live Auth Manager service's start type is Automatic(2), Manual(3), Disabled(4). Default: Manual. Possible values are: manual, automatic, disabled."), ValueMap{"manual","automatic","disabled"}, Values{"manual","automatic","disabled"}] String XboxServicesLiveAuthManagerServiceStartupMode;
    [Write, Description("This setting determines whether Live Game save service's start type is Automatic(2), Manual(3), Disabled(4). Default: Manual. Possible values are: manual, automatic, disabled."), ValueMap{"manual","automatic","disabled"}, Values{"manual","automatic","disabled"}] String XboxServicesLiveGameSaveServiceStartupMode;
    [Write, Description("This setting determines whether Networking service's start type is Automatic(2), Manual(3), Disabled(4). Default: Manual. Possible values are: manual, automatic, disabled."), ValueMap{"manual","automatic","disabled"}, Values{"manual","automatic","disabled"}] String XboxServicesLiveNetworkingServiceStartupMode;
    [Write, Description("Admin provided description of the Device Configuration.")] String Description;
    [Required, Description("Admin provided name of the device configuration.")] String DisplayName;
    [Write, Description("Indicates whether or not the underlying Device Configuration supports the assignment of scope tags. Assigning to the ScopeTags property is not allowed when this value is false and entities will not be visible to scoped users. This occurs for Legacy policies created in Silverlight and can be resolved by deleting and recreating the policy in the Azure Portal. This property is read-only.")] Boolean SupportsScopeTags;
    [Key, Description("The unique identifier for an entity. Read-only.")] String Id;
    [Write, Description("Represents the assignment to the Intune policy."), EmbeddedInstance("MSFT_DeviceManagementConfigurationPolicyAssignments")] String Assignments[];
    [Write, Description("Present ensures the policy exists, absent ensures it is removed."), ValueMap{"Present","Absent"}, Values{"Present","Absent"}] string Ensure;
    [Write, Description("Credentials of the Admin"), EmbeddedInstance("MSFT_Credential")] string Credential;
    [Write, Description("Id of the Azure Active Directory application to authenticate with.")] String ApplicationId;
    [Write, Description("Id of the Azure Active Directory tenant used for authentication.")] String TenantId;
    [Write, Description("Secret of the Azure Active Directory tenant used for authentication."), EmbeddedInstance("MSFT_Credential")] String ApplicationSecret;
    [Write, Description("Thumbprint of the Azure Active Directory application's authentication certificate to use for authentication.")] String CertificateThumbprint;
    [Write, Description("Managed ID being used for authentication.")] Boolean ManagedIdentity;
};