IntuneDeviceFeaturesConfigurationPolicyMacOS¶
Parameters¶
| Parameter | Attribute | DataType | Description | Allowed Values |
|---|---|---|---|---|
| AdminShowHostInfo | Write | Boolean | Whether to show admin host information on the login window. | |
| AirPrintDestinations | Write | MSFT_MicrosoftGraphAirPrintDestination[] | An array of AirPrint printers that should always be shown. This collection can contain a maximum of 500 elements. | |
| AppAssociatedDomains | Write | MSFT_MicrosoftGraphMacOSAssociatedDomainsItem[] | Gets or sets a list that maps apps to their associated domains. Application identifiers must be unique. This collection can contain a maximum of 500 elements. | |
| Assignments | Write | MSFT_DeviceManagementConfigurationPolicyAssignments[] | Represents the assignment to the Intune policy. | |
| AssociatedDomains | Write | MSFT_MicrosoftGraphKeyValuePair2[] | DEPRECATED: use appAssociatedDomains instead. Gets or sets a list that maps apps to their associated domains. The key should match the app's ID, and the value should be a string in the form of 'service:domain' where domain is a fully qualified hostname (e.g. webcredentials:example.com). This collection can contain a maximum of 500 elements. | |
| AuthorizedUsersListHidden | Write | Boolean | Whether to show the name and password dialog or a list of users on the login window. | |
| AuthorizedUsersListHideAdminUsers | Write | Boolean | Whether to hide admin users in the authorized users list on the login window. | |
| AuthorizedUsersListHideLocalUsers | Write | Boolean | Whether to show only network and system users in the authorized users list on the login window. | |
| AuthorizedUsersListHideMobileAccounts | Write | Boolean | Whether to hide mobile users in the authorized users list on the login window. | |
| AuthorizedUsersListIncludeNetworkUsers | Write | Boolean | Whether to show network users in the authorized users list on the login window. | |
| AuthorizedUsersListShowOtherManagedUsers | Write | Boolean | Whether to show other users in the authorized users list on the login window. | |
| AutoLaunchItems | Write | MSFT_MicrosoftGraphMacOSLaunchItem[] | List of applications, files, folders, and other items to launch when the user logs in. This collection can contain a maximum of 500 elements. | |
| ConsoleAccessDisabled | Write | Boolean | Whether the Other user will disregard use of the console special user name. | |
| ContentCachingBlockDeletion | Write | Boolean | Prevents content caches from purging content to free up disk space for other apps. | |
| ContentCachingClientListenRanges | Write | MSFT_MicrosoftGraphIpRange2[] | A list of custom IP ranges content caches will use to listen for clients. This collection can contain a maximum of 500 elements. | |
| ContentCachingClientPolicy | Write | String | Determines the method in which content caching servers will listen for clients. Possible values are: notConfigured, clientsInLocalNetwork, clientsWithSamePublicIpAddress, clientsInCustomLocalNetworks, clientsInCustomLocalNetworksWithFallback. | notConfigured, clientsInLocalNetwork, clientsWithSamePublicIpAddress, clientsInCustomLocalNetworks, clientsInCustomLocalNetworksWithFallback |
| ContentCachingDataPath | Write | String | The path to the directory used to store cached content. The value must be (or end with) /Library/Application Support/Apple/AssetCache/Data | |
| ContentCachingDisableConnectionSharing | Write | Boolean | Disables internet connection sharing. | |
| ContentCachingEnabled | Write | Boolean | Enables content caching and prevents it from being disabled by the user. | |
| ContentCachingForceConnectionSharing | Write | Boolean | Forces internet connection sharing. contentCachingDisableConnectionSharing overrides this setting. | |
| ContentCachingKeepAwake | Write | Boolean | Prevent the device from sleeping if content caching is enabled. | |
| ContentCachingLogClientIdentities | Write | Boolean | Enables logging of IP addresses and ports of clients that request cached content. | |
| ContentCachingMaxSizeBytes | Write | SInt64 | The maximum number of bytes of disk space that will be used for the content cache. A value of 0 (default) indicates unlimited disk space. | |
| ContentCachingParents | Write | String[] | A list of IP addresses representing parent content caches. | |
| ContentCachingParentSelectionPolicy | Write | String | Determines the method in which content caching servers will select parents if multiple are present. Possible values are: notConfigured, roundRobin, firstAvailable, urlPathHash, random, stickyAvailable. | notConfigured, roundRobin, firstAvailable, urlPathHash, random, stickyAvailable |
| ContentCachingPeerFilterRanges | Write | MSFT_MicrosoftGraphIpRange2[] | A list of custom IP ranges content caches will use to query for content from peers caches. This collection can contain a maximum of 500 elements. | |
| ContentCachingPeerListenRanges | Write | MSFT_MicrosoftGraphIpRange2[] | A list of custom IP ranges content caches will use to listen for peer caches. This collection can contain a maximum of 500 elements. | |
| ContentCachingPeerPolicy | Write | String | Determines the method in which content caches peer with other caches. Possible values are: notConfigured, peersInLocalNetwork, peersWithSamePublicIpAddress, peersInCustomLocalNetworks. | notConfigured, peersInLocalNetwork, peersWithSamePublicIpAddress, peersInCustomLocalNetworks |
| ContentCachingPort | Write | SInt32 | Sets the port used for content caching. If the value is 0, a random available port will be selected. Valid values 0 to 65535 | |
| ContentCachingPublicRanges | Write | MSFT_MicrosoftGraphIpRange2[] | A list of custom IP ranges that Apple's content caching service should use to match clients to content caches. This collection can contain a maximum of 500 elements. | |
| ContentCachingShowAlerts | Write | Boolean | Display content caching alerts as system notifications. | |
| ContentCachingType | Write | String | Determines what type of content is allowed to be cached by Apple's content caching service. Possible values are: notConfigured, userContentOnly, sharedContentOnly. | notConfigured, userContentOnly, sharedContentOnly |
| Description | Write | String | Admin provided description of the Device Configuration. | |
| DisplayName | Key | String | Admin provided name of the device configuration. | |
| Id | Write | String | The unique identifier for an entity. Read-only. | |
| LoginWindowText | Write | String | Custom text to be displayed on the login window. | |
| LogOutDisabledWhileLoggedIn | Write | Boolean | Whether the Log Out menu item on the login window will be disabled while the user is logged in. | |
| MacOSSingleSignOnExtension | Write | MSFT_MicrosoftGraphMacOSSingleSignOnExtension | Gets or sets a single sign-on extension profile. | |
| PowerOffDisabledWhileLoggedIn | Write | Boolean | Whether the Power Off menu item on the login window will be disabled while the user is logged in. | |
| RestartDisabled | Write | Boolean | Whether to hide the Restart button item on the login window. | |
| RestartDisabledWhileLoggedIn | Write | Boolean | Whether the Restart menu item on the login window will be disabled while the user is logged in. | |
| RoleScopeTagIds | Write | String[] | List of Scope Tags for this Entity instance. | |
| ScreenLockDisableImmediate | Write | Boolean | Whether to disable the immediate screen lock functions. | |
| ShutDownDisabled | Write | Boolean | Whether to hide the Shut Down button item on the login window. | |
| ShutDownDisabledWhileLoggedIn | Write | Boolean | Whether the Shut Down menu item on the login window will be disabled while the user is logged in. | |
| SingleSignOnExtension | Write | MSFT_MicrosoftGraphSingleSignOnExtension | Gets or sets a single sign-on extension profile. Deprecated: use MacOSSingleSignOnExtension instead. | |
| SleepDisabled | Write | Boolean | Whether to hide the Sleep menu item on the login window. | |
| Ensure | Write | String | Specify if the policy should exist. | Present, Absent |
| Credential | Write | PSCredential | Credentials of the Intune Admin | |
| ApplicationId | Write | String | Id of the Entra ID application to authenticate with. | |
| TenantId | Write | String | Id of the Entra ID tenant used for authentication. | |
| ApplicationSecret | Write | PSCredential | Secret of the Entra ID application to authenticate with. | |
| CertificateThumbprint | Write | String | Thumbprint of the Entra ID application's authentication certificate to use for authentication. | |
| CertificatePassword | Write | PSCredential | Username can be made up to anything but password will be used for CertificatePassword | |
| CertificatePath | Write | String | Path to certificate used in service principal usually a PFX file. | |
| ManagedIdentity | Write | Boolean | Managed ID being used for authentication. | |
| AccessTokens | Write | String[] | Access token used for authentication. |
Embedded Instances¶
MSFT_MicrosoftGraphAirPrintDestination¶
Parameters¶
| Parameter | Attribute | DataType | Description | Allowed Values |
|---|---|---|---|---|
| ForceTls | Write | Boolean | If true AirPrint connections are secured by Transport Layer Security (TLS). Default is false. Available in iOS 11.0 and later. | |
| IpAddress | Write | String | The IP Address of the AirPrint destination. | |
| Port | Write | SInt32 | The listening port of the AirPrint destination. If this key is not specified AirPrint will use the default port. Available in iOS 11.0 and later. | |
| ResourcePath | Write | String | The Resource Path associated with the printer. This corresponds to the rp parameter of the ipps.tcp Bonjour record. For example: printers/CanonMG5300series, printers/XeroxPhaser7600, ipp/print, EpsonIPPPrinter. |
MSFT_MicrosoftGraphMacOSAssociatedDomainsItem¶
Parameters¶
| Parameter | Attribute | DataType | Description | Allowed Values |
|---|---|---|---|---|
| ApplicationIdentifier | Write | String | The application identifier of the app to associate domains with. | |
| DirectDownloadsEnabled | Write | Boolean | Determines whether data should be downloaded directly or via a CDN. | |
| Domains | Write | String[] | The list of domains to associate. |
MSFT_DeviceManagementConfigurationPolicyAssignments¶
Parameters¶
| Parameter | Attribute | DataType | Description | Allowed Values |
|---|---|---|---|---|
| dataType | Required | String | The type of the target assignment. | #microsoft.graph.cloudPcManagementGroupAssignmentTarget, #microsoft.graph.groupAssignmentTarget, #microsoft.graph.allLicensedUsersAssignmentTarget, #microsoft.graph.allDevicesAssignmentTarget, #microsoft.graph.exclusionGroupAssignmentTarget, #microsoft.graph.configurationManagerCollectionAssignmentTarget |
| deviceAndAppManagementAssignmentFilterType | Write | String | The type of filter of the target assignment i.e. Exclude or Include. Possible values are:none, include, exclude. | none, include, exclude |
| deviceAndAppManagementAssignmentFilterId | Write | String | The Id of the filter for the target assignment. | |
| deviceAndAppManagementAssignmentFilterDisplayName | Write | String | The display name of the filter for the target assignment. | |
| groupId | Write | String | The group Id that is the target of the assignment. | |
| groupDisplayName | Write | String | The group Display Name that is the target of the assignment. | |
| collectionId | Write | String | The collection Id that is the target of the assignment.(ConfigMgr) |
MSFT_MicrosoftGraphKeyValuePair2¶
Parameters¶
| Parameter | Attribute | DataType | Description | Allowed Values |
|---|---|---|---|---|
| Name | Write | String | Name for this key-value pair | |
| Value | Write | String | Value for this key-value pair |
MSFT_MicrosoftGraphMacOSLaunchItem¶
Parameters¶
| Parameter | Attribute | DataType | Description | Allowed Values |
|---|---|---|---|---|
| Hide | Write | Boolean | Whether or not to hide the item from the Users and Groups List. | |
| Path | Write | String | Path to the launch item. |
MSFT_MicrosoftGraphIpRange2¶
Parameters¶
| Parameter | Attribute | DataType | Description | Allowed Values |
|---|---|---|---|---|
| CidrAddress | Write | String | IPv4 address in CIDR notation. Not nullable. | |
| LowerAddress | Write | String | Lower address. | |
| ODataType | Write | String | The type of the entity. | #microsoft.graph.iPv4CidrRange, #microsoft.graph.iPv4Range, #microsoft.graph.iPv6CidrRange, #microsoft.graph.iPv6Range |
| UpperAddress | Write | String | Upper address. |
MSFT_MicrosoftGraphMacOSSingleSignOnExtension¶
Parameters¶
| Parameter | Attribute | DataType | Description | Allowed Values |
|---|---|---|---|---|
| ActiveDirectorySiteCode | Write | String | Gets or sets the Active Directory site. | |
| BlockActiveDirectorySiteAutoDiscovery | Write | Boolean | Enables or disables whether the Kerberos extension can automatically determine its site name. | |
| BlockAutomaticLogin | Write | Boolean | Enables or disables Keychain usage. | |
| BundleIdAccessControlList | Write | String[] | An optional list of additional bundle IDs allowed to use the AAD extension for single sign-on. | |
| CacheName | Write | String | Gets or sets the Generic Security Services name of the Kerberos cache to use for this profile. | |
| Configurations | Write | MSFT_MicrosoftGraphKeyTypedValuePair[] | Gets or sets a list of typed key-value pairs used to configure Credential-type profiles. This collection can contain a maximum of 500 elements. | |
| CredentialBundleIdAccessControlList | Write | String[] | Gets or sets a list of app Bundle IDs allowed to access the Kerberos Ticket Granting Ticket. | |
| CredentialsCacheMonitored | Write | Boolean | When set to True, the credential is requested on the next matching Kerberos challenge or network state change. When the credential is expired or missing, a new credential is created. Available for devices running macOS versions 12 and later. | |
| DomainRealms | Write | String[] | Gets or sets a list of realms for custom domain-realm mapping. Realms are case sensitive. | |
| Domains | Write | String[] | Gets or sets a list of hosts or domain names for which the app extension performs SSO. | |
| EnableSharedDeviceMode | Write | Boolean | Enables or disables shared device mode. | |
| ExtensionIdentifier | Write | String | Gets or sets the bundle ID of the app extension that performs SSO for the specified URLs. | |
| IsDefaultRealm | Write | Boolean | When true, this profile's realm will be selected as the default. Necessary if multiple Kerberos-type profiles are configured. | |
| KerberosAppsInBundleIdACLIncluded | Write | Boolean | When set to True, the Kerberos extension allows any apps entered with the app bundle ID, managed apps, and standard Kerberos utilities, such as TicketViewer and klist, to access and use the credential. Available for devices running macOS versions 12 and later. | |
| ManagedAppsInBundleIdACLIncluded | Write | Boolean | When set to True, the Kerberos extension allows managed apps, and any apps entered with the app bundle ID to access the credential. When set to False, the Kerberos extension allows all apps to access the credential. Available for devices running iOS and iPadOS versions 14 and later. | |
| ModeCredentialUsed | Write | String | Select how other processes use the Kerberos Extension credential. | |
| ODataType | Write | String | The type of the entity. | #microsoft.graph.macOSAzureAdSingleSignOnExtension, #microsoft.graph.macOSCredentialSingleSignOnExtension, #microsoft.graph.macOSKerberosSingleSignOnExtension, #microsoft.graph.macOSRedirectSingleSignOnExtension |
| PasswordBlockModification | Write | Boolean | Enables or disables password changes. | |
| PasswordChangeUrl | Write | String | Gets or sets the URL that the user will be sent to when they initiate a password change. | |
| PasswordEnableLocalSync | Write | Boolean | Enables or disables password syncing. This won't affect users logged in with a mobile account on macOS. | |
| PasswordExpirationDays | Write | SInt32 | Overrides the default password expiration in days. For most domains, this value is calculated automatically. | |
| PasswordExpirationNotificationDays | Write | SInt32 | Gets or sets the number of days until the user is notified that their password will expire (default is 15). | |
| PasswordMinimumAgeDays | Write | SInt32 | Gets or sets the minimum number of days until a user can change their password again. | |
| PasswordMinimumLength | Write | SInt32 | Gets or sets the minimum length of a password. | |
| PasswordPreviousPasswordBlockCount | Write | SInt32 | Gets or sets the number of previous passwords to block. | |
| PasswordRequireActiveDirectoryComplexity | Write | Boolean | Enables or disables whether passwords must meet Active Directory's complexity requirements. | |
| PasswordRequirementsDescription | Write | String | Gets or sets a description of the password complexity requirements. | |
| PreferredKDCs | Write | String[] | Add creates an ordered list of preferred Key Distribution Centers (KDCs) to use for Kerberos traffic. This list is used when the servers are not discoverable using DNS. When the servers are discoverable, the list is used for both connectivity checks, and used first for Kerberos traffic. If the servers dont respond, then the device uses DNS discovery. Delete removes an existing list, and devices use DNS discovery. Available for devices running macOS versions 12 and later. | |
| Realm | Write | String | Gets or sets the case-sensitive realm name for this profile. | |
| RequireUserPresence | Write | Boolean | Gets or sets whether to require authentication via Touch ID, Face ID, or a passcode to access the keychain entry. | |
| SignInHelpText | Write | String | Text displayed to the user at the Kerberos sign in window. Available for devices running iOS and iPadOS versions 14 and later. | |
| TeamIdentifier | Write | String | Gets or sets the team ID of the app extension that performs SSO for the specified URLs. | |
| TlsForLDAPRequired | Write | Boolean | When set to True, LDAP connections are required to use Transport Layer Security (TLS). Available for devices running macOS versions 11 and later. | |
| UrlPrefixes | Write | String[] | One or more URL prefixes of identity providers on whose behalf the app extension performs single sign-on. URLs must begin with http:// or https://. All URL prefixes must be unique for all profiles. | |
| UsernameLabelCustom | Write | String | This label replaces the user name shown in the Kerberos extension. You can enter a name to match the name of your company or organization. Available for devices running macOS versions 11 and later. | |
| UserPrincipalName | Write | String | Gets or sets the principle user name to use for this profile. The realm name does not need to be included. | |
| UserSetupDelayed | Write | Boolean | When set to True, the user isnt prompted to set up the Kerberos extension until the extension is enabled by the admin, or a Kerberos challenge is received. Available for devices running macOS versions 11 and later. |
MSFT_MicrosoftGraphSingleSignOnExtension¶
Parameters¶
| Parameter | Attribute | DataType | Description | Allowed Values |
|---|---|---|---|---|
| ActiveDirectorySiteCode | Write | String | Gets or sets the Active Directory site. | |
| BlockActiveDirectorySiteAutoDiscovery | Write | Boolean | Enables or disables whether the Kerberos extension can automatically determine its site name. | |
| BlockAutomaticLogin | Write | Boolean | Enables or disables Keychain usage. | |
| CacheName | Write | String | Gets or sets the Generic Security Services name of the Kerberos cache to use for this profile. | |
| Configurations | Write | MSFT_MicrosoftGraphKeyTypedValuePair[] | Gets or sets a list of typed key-value pairs used to configure Credential-type profiles. This collection can contain a maximum of 500 elements. | |
| CredentialBundleIdAccessControlList | Write | String[] | Gets or sets a list of app Bundle IDs allowed to access the Kerberos Ticket Granting Ticket. | |
| DomainRealms | Write | String[] | Gets or sets a list of realms for custom domain-realm mapping. Realms are case sensitive. | |
| Domains | Write | String[] | Gets or sets a list of hosts or domain names for which the app extension performs SSO. | |
| ExtensionIdentifier | Write | String | Gets or sets the bundle ID of the app extension that performs SSO for the specified URLs. | |
| IsDefaultRealm | Write | Boolean | When true, this profile's realm will be selected as the default. Necessary if multiple Kerberos-type profiles are configured. | |
| ODataType | Write | String | The type of the entity. | #microsoft.graph.credentialSingleSignOnExtension, #microsoft.graph.iosSingleSignOnExtension, #microsoft.graph.kerberosSingleSignOnExtension, #microsoft.graph.macOSSingleSignOnExtension, #microsoft.graph.redirectSingleSignOnExtension |
| PasswordBlockModification | Write | Boolean | Enables or disables password changes. | |
| PasswordChangeUrl | Write | String | Gets or sets the URL that the user will be sent to when they initiate a password change. | |
| PasswordEnableLocalSync | Write | Boolean | Enables or disables password syncing. This won't affect users logged in with a mobile account on macOS. | |
| PasswordExpirationDays | Write | SInt32 | Overrides the default password expiration in days. For most domains, this value is calculated automatically. | |
| PasswordExpirationNotificationDays | Write | SInt32 | Gets or sets the number of days until the user is notified that their password will expire (default is 15). | |
| PasswordMinimumAgeDays | Write | SInt32 | Gets or sets the minimum number of days until a user can change their password again. | |
| PasswordMinimumLength | Write | SInt32 | Gets or sets the minimum length of a password. | |
| PasswordPreviousPasswordBlockCount | Write | SInt32 | Gets or sets the number of previous passwords to block. | |
| PasswordRequireActiveDirectoryComplexity | Write | Boolean | Enables or disables whether passwords must meet Active Directory's complexity requirements. | |
| PasswordRequirementsDescription | Write | String | Gets or sets a description of the password complexity requirements. | |
| Realm | Write | String | Gets or sets the case-sensitive realm name for this profile. | |
| RequireUserPresence | Write | Boolean | Gets or sets whether to require authentication via Touch ID, Face ID, or a passcode to access the keychain entry. | |
| TeamIdentifier | Write | String | Gets or sets the team ID of the app extension that performs SSO for the specified URLs. | |
| UrlPrefixes | Write | String[] | One or more URL prefixes of identity providers on whose behalf the app extension performs single sign-on. URLs must begin with http:// or https://. All URL prefixes must be unique for all profiles. | |
| UserPrincipalName | Write | String | Gets or sets the principle user name to use for this profile. The realm name does not need to be included. |
MSFT_MicrosoftGraphKeyTypedValuePair¶
Parameters¶
| Parameter | Attribute | DataType | Description | Allowed Values |
|---|---|---|---|---|
| Key | Write | String | The string key of the key-value pair. | |
| ODataType | Write | String | The type of the entity. | #microsoft.graph.keyBooleanValuePair, #microsoft.graph.keyIntegerValuePair, #microsoft.graph.keyRealValuePair, #microsoft.graph.keyStringValuePair |
| Value | Write | Boolean | The Boolean value of the key-value pair. |
Description¶
This resource configures a Intune Device Features Configuration Policy for macOS.
Permissions¶
Graph¶
To authenticate with the Graph API, this resource requires the following permissions:
Delegated permissions¶
- Read
-
GroupMember.Read.All, DeviceManagementConfiguration.Read.All, DeviceManagementRBAC.Read.All
-
Update
- GroupMember.Read.All, DeviceManagementConfiguration.ReadWrite.All, DeviceManagementRBAC.Read.All
Application permissions¶
- Read
-
GroupMember.Read.All, DeviceManagementConfiguration.Read.All, DeviceManagementRBAC.Read.All
-
Update
- GroupMember.Read.All, DeviceManagementConfiguration.ReadWrite.All, DeviceManagementRBAC.Read.All
Examples¶
Example 1¶
This example is used to test new resources and showcase the usage of new resources being worked on. It is not meant to use as a production baseline.
Configuration Example
{
param
(
[Parameter()]
[System.String]
$ApplicationId,
[Parameter()]
[System.String]
$TenantId,
[Parameter()]
[System.String]
$CertificateThumbprint
)
Import-DscResource -ModuleName Microsoft365DSC
Node localhost
{
IntuneDeviceFeaturesConfigurationPolicyMacOS 'IntuneDeviceFeaturesConfigurationPolicyMacOS-Example'
{
AdminShowHostInfo = $true;
AirPrintDestinations = @(
MSFT_MicrosoftGraphAirPrintDestination{
ForceTls = $true
IpAddress = "10.20.30.40"
Port = 631
ResourcePath = "printers/Design-Colour-01"
}
);
AppAssociatedDomains = @(
MSFT_MicrosoftGraphMacOSAssociatedDomainsItem{
ApplicationIdentifier = "com.contoso.intranet"
DirectDownloadsEnabled = $false
Domains = @("webcredentials:intranet.contoso.com", "applinks:intranet.contoso.com")
}
);
Assignments = @(
MSFT_DeviceManagementConfigurationPolicyAssignments{
dataType = "#microsoft.graph.allDevicesAssignmentTarget"
deviceAndAppManagementAssignmentFilterType = "none"
}
);
AssociatedDomains = @(
MSFT_MicrosoftGraphKeyValuePair2{
Name = "com.contoso.intranet"
Value = "webcredentials:intranet.contoso.com"
}
);
AuthorizedUsersListHidden = $false;
AuthorizedUsersListHideAdminUsers = $true;
AuthorizedUsersListHideLocalUsers = $false;
AuthorizedUsersListHideMobileAccounts = $false;
AuthorizedUsersListIncludeNetworkUsers = $true;
AuthorizedUsersListShowOtherManagedUsers = $false;
AutoLaunchItems = @(
MSFT_MicrosoftGraphMacOSLaunchItem{
Hide = $true
Path = "/Applications/Microsoft Teams.app"
}
);
ConsoleAccessDisabled = $true;
ContentCachingBlockDeletion = $false;
ContentCachingClientListenRanges = @(
MSFT_MicrosoftGraphIpRange2{
CidrAddress = "10.20.0.0/16"
LowerAddress = "10.20.0.1"
ODataType = "#microsoft.graph.iPv4CidrRange"
UpperAddress = "10.20.255.254"
}
);
ContentCachingClientPolicy = "clientsInLocalNetwork";
ContentCachingDataPath = "/Library/Application Support/Apple/AssetCache/Data";
ContentCachingDisableConnectionSharing = $false;
ContentCachingEnabled = $true;
ContentCachingForceConnectionSharing = $false;
ContentCachingKeepAwake = $true;
ContentCachingLogClientIdentities = $true;
ContentCachingMaxSizeBytes = 107374182400;
ContentCachingParents = @("mac-cache-01.contoso.com", "mac-cache-02.contoso.com");
ContentCachingParentSelectionPolicy = "roundRobin";
ContentCachingPeerFilterRanges = @(
MSFT_MicrosoftGraphIpRange2{
CidrAddress = "10.20.0.0/16"
LowerAddress = "10.20.0.1"
ODataType = "#microsoft.graph.iPv4CidrRange"
UpperAddress = "10.20.255.254"
}
);
ContentCachingPeerListenRanges = @(
MSFT_MicrosoftGraphIpRange2{
CidrAddress = "10.20.0.0/16"
LowerAddress = "10.20.0.1"
ODataType = "#microsoft.graph.iPv4CidrRange"
UpperAddress = "10.20.255.254"
}
);
ContentCachingPeerPolicy = "peersInLocalNetwork";
ContentCachingPort = 49152;
ContentCachingPublicRanges = @(
MSFT_MicrosoftGraphIpRange2{
CidrAddress = "10.20.0.0/16"
LowerAddress = "10.20.0.1"
ODataType = "#microsoft.graph.iPv4CidrRange"
UpperAddress = "10.20.255.254"
}
);
ContentCachingShowAlerts = $true;
ContentCachingType = "userContentOnly";
Description = "Login window branding and content caching for managed Macs";
DisplayName = "macOS Device Features";
LoginWindowText = "Property of Contoso. Unauthorized use is prohibited.";
LogOutDisabledWhileLoggedIn = $false;
MacOSSingleSignOnExtension = MSFT_MicrosoftGraphMacOSSingleSignOnExtension{
ActiveDirectorySiteCode = "EMEA-ZRH"
BlockActiveDirectorySiteAutoDiscovery = $false
BlockAutomaticLogin = $false
BundleIdAccessControlList = @("com.microsoft.Outlook", "com.microsoft.teams2")
CacheName = "CONTOSO.COM"
Configurations = @(
MSFT_MicrosoftGraphKeyTypedValuePair{
Key = "allowPasswordChange"
ODataType = "#microsoft.graph.keyBooleanValuePair"
Value = $true
}
)
CredentialBundleIdAccessControlList = @("com.apple.Safari", "com.microsoft.edgemac")
CredentialsCacheMonitored = $true
DomainRealms = @("contoso.com", "corp.contoso.com")
Domains = @("contoso.com", "corp.contoso.com")
EnableSharedDeviceMode = $false
ExtensionIdentifier = "com.microsoft.CompanyPortalMac.ssoextension"
IsDefaultRealm = $true
KerberosAppsInBundleIdACLIncluded = $true
ManagedAppsInBundleIdACLIncluded = $true
ModeCredentialUsed = "Password"
ODataType = "#microsoft.graph.macOSAzureAdSingleSignOnExtension"
PasswordBlockModification = $false
PasswordChangeUrl = "https://passwordreset.contoso.com"
PasswordEnableLocalSync = $true
PasswordExpirationDays = 90
PasswordExpirationNotificationDays = 14
PasswordMinimumAgeDays = 1
PasswordMinimumLength = 12
PasswordPreviousPasswordBlockCount = 5
PasswordRequireActiveDirectoryComplexity = $true
PasswordRequirementsDescription = "At least 12 characters, with an upper case letter, a lower case letter and a number"
PreferredKDCs = @("kdc01.contoso.com", "kdc02.contoso.com")
Realm = "CONTOSO.COM"
RequireUserPresence = $true
SignInHelpText = "Sign in with your Contoso account"
TeamIdentifier = "UBF8T346G9"
TlsForLDAPRequired = $true
UrlPrefixes = @("https://intranet.contoso.com", "https://portal.contoso.com")
UsernameLabelCustom = "Contoso account"
UserPrincipalName = "mac.admin@$TenantId"
UserSetupDelayed = $false
};
PowerOffDisabledWhileLoggedIn = $false;
RestartDisabled = $false;
RestartDisabledWhileLoggedIn = $false;
RoleScopeTagIds = @("0");
ScreenLockDisableImmediate = $false;
ShutDownDisabled = $false;
ShutDownDisabledWhileLoggedIn = $false;
SingleSignOnExtension = MSFT_MicrosoftGraphSingleSignOnExtension{
ActiveDirectorySiteCode = "EMEA-ZRH"
BlockActiveDirectorySiteAutoDiscovery = $false
BlockAutomaticLogin = $false
CacheName = "CONTOSO.COM"
Configurations = @(
MSFT_MicrosoftGraphKeyTypedValuePair{
Key = "allowPasswordChange"
ODataType = "#microsoft.graph.keyBooleanValuePair"
Value = $true
}
)
CredentialBundleIdAccessControlList = @("com.apple.Safari", "com.microsoft.edgemac")
DomainRealms = @("contoso.com", "corp.contoso.com")
Domains = @("contoso.com", "corp.contoso.com")
ExtensionIdentifier = "com.microsoft.CompanyPortalMac.ssoextension"
IsDefaultRealm = $true
ODataType = "#microsoft.graph.credentialSingleSignOnExtension"
PasswordBlockModification = $false
PasswordChangeUrl = "https://passwordreset.contoso.com"
PasswordEnableLocalSync = $true
PasswordExpirationDays = 90
PasswordExpirationNotificationDays = 14
PasswordMinimumAgeDays = 1
PasswordMinimumLength = 12
PasswordPreviousPasswordBlockCount = 5
PasswordRequireActiveDirectoryComplexity = $true
PasswordRequirementsDescription = "At least 12 characters, with an upper case letter, a lower case letter and a number"
Realm = "CONTOSO.COM"
RequireUserPresence = $true
TeamIdentifier = "UBF8T346G9"
UrlPrefixes = @("https://intranet.contoso.com", "https://portal.contoso.com")
UserPrincipalName = "mac.admin@$TenantId"
};
SleepDisabled = $false;
Ensure = "Present";
ApplicationId = $ApplicationId;
TenantId = $TenantId;
CertificateThumbprint = $CertificateThumbprint;
}
}
}
Example 2¶
This example is used to test new resources and showcase the usage of new resources being worked on. It is not meant to use as a production baseline.
Configuration Example
{
param
(
[Parameter()]
[System.String]
$ApplicationId,
[Parameter()]
[System.String]
$TenantId,
[Parameter()]
[System.String]
$CertificateThumbprint
)
Import-DscResource -ModuleName Microsoft365DSC
Node localhost
{
IntuneDeviceFeaturesConfigurationPolicyMacOS 'IntuneDeviceFeaturesConfigurationPolicyMacOS-Example'
{
AdminShowHostInfo = $true;
AirPrintDestinations = @(
MSFT_MicrosoftGraphAirPrintDestination{
ForceTls = $true
IpAddress = "10.20.30.40"
Port = 631
ResourcePath = "printers/Design-Colour-01"
}
);
AppAssociatedDomains = @(
MSFT_MicrosoftGraphMacOSAssociatedDomainsItem{
ApplicationIdentifier = "com.contoso.intranet"
DirectDownloadsEnabled = $false
Domains = @("webcredentials:intranet.contoso.com", "applinks:intranet.contoso.com")
}
);
Assignments = @(
MSFT_DeviceManagementConfigurationPolicyAssignments{
dataType = "#microsoft.graph.allDevicesAssignmentTarget"
deviceAndAppManagementAssignmentFilterType = "none"
}
);
AssociatedDomains = @(
MSFT_MicrosoftGraphKeyValuePair2{
Name = "com.contoso.intranet"
Value = "webcredentials:intranet.contoso.com"
}
);
AuthorizedUsersListHidden = $false;
AuthorizedUsersListHideAdminUsers = $true;
AuthorizedUsersListHideLocalUsers = $false;
AuthorizedUsersListHideMobileAccounts = $false;
AuthorizedUsersListIncludeNetworkUsers = $true;
AuthorizedUsersListShowOtherManagedUsers = $false;
AutoLaunchItems = @(
MSFT_MicrosoftGraphMacOSLaunchItem{
Hide = $true
Path = "/Applications/Microsoft Teams.app"
}
);
ConsoleAccessDisabled = $true;
ContentCachingBlockDeletion = $false;
ContentCachingClientListenRanges = @(
MSFT_MicrosoftGraphIpRange2{
CidrAddress = "10.20.0.0/16"
LowerAddress = "10.20.0.1"
ODataType = "#microsoft.graph.iPv4CidrRange"
UpperAddress = "10.20.255.254"
}
);
ContentCachingClientPolicy = "clientsInLocalNetwork";
ContentCachingDataPath = "/Library/Application Support/Apple/AssetCache/Cache"; # Updated Property
ContentCachingDisableConnectionSharing = $false;
ContentCachingEnabled = $true;
ContentCachingForceConnectionSharing = $false;
ContentCachingKeepAwake = $true;
ContentCachingLogClientIdentities = $true;
ContentCachingMaxSizeBytes = 107374182400;
ContentCachingParents = @("mac-cache-01.contoso.com", "mac-cache-02.contoso.com");
ContentCachingParentSelectionPolicy = "roundRobin";
ContentCachingPeerFilterRanges = @(
MSFT_MicrosoftGraphIpRange2{
CidrAddress = "10.20.0.0/16"
LowerAddress = "10.20.0.1"
ODataType = "#microsoft.graph.iPv4CidrRange"
UpperAddress = "10.20.255.254"
}
);
ContentCachingPeerListenRanges = @(
MSFT_MicrosoftGraphIpRange2{
CidrAddress = "10.20.0.0/16"
LowerAddress = "10.20.0.1"
ODataType = "#microsoft.graph.iPv4CidrRange"
UpperAddress = "10.20.255.254"
}
);
ContentCachingPeerPolicy = "peersInLocalNetwork";
ContentCachingPort = 49152;
ContentCachingPublicRanges = @(
MSFT_MicrosoftGraphIpRange2{
CidrAddress = "10.20.0.0/16"
LowerAddress = "10.20.0.1"
ODataType = "#microsoft.graph.iPv4CidrRange"
UpperAddress = "10.20.255.254"
}
);
ContentCachingShowAlerts = $true;
ContentCachingType = "userContentOnly";
Description = "Login window branding and content caching for managed Macs";
DisplayName = "macOS Device Features";
LoginWindowText = "Property of Contoso. Unauthorized use is prohibited.";
LogOutDisabledWhileLoggedIn = $false;
MacOSSingleSignOnExtension = MSFT_MicrosoftGraphMacOSSingleSignOnExtension{
ActiveDirectorySiteCode = "EMEA-ZRH"
BlockActiveDirectorySiteAutoDiscovery = $false
BlockAutomaticLogin = $false
BundleIdAccessControlList = @("com.microsoft.Outlook", "com.microsoft.teams2")
CacheName = "CONTOSO.COM"
Configurations = @(
MSFT_MicrosoftGraphKeyTypedValuePair{
Key = "allowPasswordChange"
ODataType = "#microsoft.graph.keyBooleanValuePair"
Value = $true
}
)
CredentialBundleIdAccessControlList = @("com.apple.Safari", "com.microsoft.edgemac")
CredentialsCacheMonitored = $true
DomainRealms = @("contoso.com", "corp.contoso.com")
Domains = @("contoso.com", "corp.contoso.com")
EnableSharedDeviceMode = $false
ExtensionIdentifier = "com.microsoft.CompanyPortalMac.ssoextension"
IsDefaultRealm = $true
KerberosAppsInBundleIdACLIncluded = $true
ManagedAppsInBundleIdACLIncluded = $true
ModeCredentialUsed = "Password"
ODataType = "#microsoft.graph.macOSAzureAdSingleSignOnExtension"
PasswordBlockModification = $false
PasswordChangeUrl = "https://passwordreset.contoso.com"
PasswordEnableLocalSync = $true
PasswordExpirationDays = 90
PasswordExpirationNotificationDays = 14
PasswordMinimumAgeDays = 1
PasswordMinimumLength = 12
PasswordPreviousPasswordBlockCount = 5
PasswordRequireActiveDirectoryComplexity = $true
PasswordRequirementsDescription = "At least 12 characters, with an upper case letter, a lower case letter and a number"
PreferredKDCs = @("kdc01.contoso.com", "kdc02.contoso.com")
Realm = "CONTOSO.COM"
RequireUserPresence = $true
SignInHelpText = "Sign in with your Contoso account"
TeamIdentifier = "UBF8T346G9"
TlsForLDAPRequired = $true
UrlPrefixes = @("https://intranet.contoso.com", "https://portal.contoso.com")
UsernameLabelCustom = "Contoso account"
UserPrincipalName = "mac.admin@$TenantId"
UserSetupDelayed = $false
};
PowerOffDisabledWhileLoggedIn = $false;
RestartDisabled = $false;
RestartDisabledWhileLoggedIn = $false;
RoleScopeTagIds = @("0");
ScreenLockDisableImmediate = $false;
ShutDownDisabled = $false;
ShutDownDisabledWhileLoggedIn = $false;
SingleSignOnExtension = MSFT_MicrosoftGraphSingleSignOnExtension{
ActiveDirectorySiteCode = "EMEA-ZRH"
BlockActiveDirectorySiteAutoDiscovery = $false
BlockAutomaticLogin = $false
CacheName = "CONTOSO.COM"
Configurations = @(
MSFT_MicrosoftGraphKeyTypedValuePair{
Key = "allowPasswordChange"
ODataType = "#microsoft.graph.keyBooleanValuePair"
Value = $true
}
)
CredentialBundleIdAccessControlList = @("com.apple.Safari", "com.microsoft.edgemac")
DomainRealms = @("contoso.com", "corp.contoso.com")
Domains = @("contoso.com", "corp.contoso.com")
ExtensionIdentifier = "com.microsoft.CompanyPortalMac.ssoextension"
IsDefaultRealm = $true
ODataType = "#microsoft.graph.credentialSingleSignOnExtension"
PasswordBlockModification = $false
PasswordChangeUrl = "https://passwordreset.contoso.com"
PasswordEnableLocalSync = $true
PasswordExpirationDays = 90
PasswordExpirationNotificationDays = 14
PasswordMinimumAgeDays = 1
PasswordMinimumLength = 12
PasswordPreviousPasswordBlockCount = 5
PasswordRequireActiveDirectoryComplexity = $true
PasswordRequirementsDescription = "At least 12 characters, with an upper case letter, a lower case letter and a number"
Realm = "CONTOSO.COM"
RequireUserPresence = $true
TeamIdentifier = "UBF8T346G9"
UrlPrefixes = @("https://intranet.contoso.com", "https://portal.contoso.com")
UserPrincipalName = "mac.admin@$TenantId"
};
SleepDisabled = $false;
Ensure = "Present";
ApplicationId = $ApplicationId;
TenantId = $TenantId;
CertificateThumbprint = $CertificateThumbprint;
}
}
}
Example 3¶
This example is used to test new resources and showcase the usage of new resources being worked on. It is not meant to use as a production baseline.
Configuration Example
{
param
(
[Parameter()]
[System.String]
$ApplicationId,
[Parameter()]
[System.String]
$TenantId,
[Parameter()]
[System.String]
$CertificateThumbprint
)
Import-DscResource -ModuleName Microsoft365DSC
Node localhost
{
IntuneDeviceFeaturesConfigurationPolicyMacOS 'IntuneDeviceFeaturesConfigurationPolicyMacOS-Example'
{
DisplayName = "macOS Device Features";
Ensure = "Absent";
ApplicationId = $ApplicationId;
TenantId = $TenantId;
CertificateThumbprint = $CertificateThumbprint;
}
}
}