From 8765ca821598bcb87b35b10cfddd4d3c732c3fc1 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Thu, 11 Jul 2024 10:18:33 -0400 Subject: [PATCH 001/123] Updated Tests to use SP --- .../workflows/Global - Integration - AAD.yml | 2 +- ...-AADActivityBasedTimeoutPolicy-Example.ps1 | 18 ++++++++--- .../AADAdministrativeUnit/1-Create.ps1 | 21 +++++++++---- .../AADAdministrativeUnit/2-Update.ps1 | 21 +++++++++---- .../AADAdministrativeUnit/3-Remove.ps1 | 21 +++++++++---- .../Resources/AADApplication/1-Create.ps1 | 18 ++++++++--- .../Resources/AADApplication/2-Update.ps1 | 18 ++++++++--- .../Resources/AADApplication/3-Remove.ps1 | 18 ++++++++--- .../Resources/AADAttributeSet/1-Create.ps1 | 21 +++++++++---- .../Resources/AADAttributeSet/2-Update.ps1 | 21 +++++++++---- .../1-Create.ps1 | 21 +++++++++---- .../2-Update.ps1 | 21 +++++++++---- .../3-Remove.ps1 | 21 +++++++++---- .../AADAuthenticationFlowPolicy/2-Update.ps1 | 17 +++++++++-- .../2-Update.ps1 | 21 +++++++++---- .../2-Update.ps1 | 21 +++++++++---- .../3-Remove.ps1 | 21 +++++++++---- .../2-Update.ps1 | 21 +++++++++---- .../2-Update.ps1 | 21 +++++++++---- .../3-Remove.ps1 | 21 +++++++++---- .../2-Update.ps1 | 21 +++++++++---- .../3-Remove.ps1 | 21 +++++++++---- .../2-Update.ps1 | 21 +++++++++---- .../3-Remove.ps1 | 21 +++++++++---- .../2-Update.ps1 | 21 +++++++++---- .../3-Remove.ps1 | 21 +++++++++---- .../3-Remove.ps1 | 21 +++++++++---- .../2-Update.ps1 | 21 +++++++++---- .../3-Remove.ps1 | 4 ++- .../1-Create.ps1 | 21 +++++++++---- .../2-Update.ps1 | 21 +++++++++---- .../3-Remove.ps1 | 21 +++++++++---- .../AADAuthorizationPolicy/2-Update.ps1 | 21 +++++++++---- .../AADConditionalAccessPolicy/1-Create.ps1 | 21 +++++++++---- .../AADConditionalAccessPolicy/2-Update.ps1 | 21 +++++++++---- .../AADConditionalAccessPolicy/3-Remove.ps1 | 21 +++++++++---- .../AADCrossTenantAccessPolicy/2-Update.ps1 | 18 ++++++++--- .../2-Update.ps1 | 18 ++++++++--- .../1-Create.ps1 | 18 ++++++++--- .../2-Update.ps1 | 18 ++++++++--- .../3-Remove.ps1 | 18 ++++++++--- .../1-Create.ps1 | 18 ++++++++--- .../2-Update.ps1 | 18 ++++++++--- .../3-Remove.ps1 | 18 ++++++++--- .../1-Create.ps1 | 18 ++++++++--- .../2-Update.ps1 | 18 ++++++++--- .../3-Remove.ps1 | 18 ++++++++--- .../1-Create.ps1 | 18 ++++++++--- .../2-Update.ps1 | 18 ++++++++--- .../3-Remove.ps1 | 18 ++++++++--- .../1-Create.ps1 | 23 +++++++++----- .../2-Update.ps1 | 23 +++++++++----- .../3-Remove.ps1 | 18 ++++++++--- .../1-Create.ps1 | 21 +++++++++---- .../3-Remove.ps1 | 21 +++++++++---- .../AADExternalIdentityPolicy/2-Update.ps1 | 21 +++++++++---- .../Examples/Resources/AADGroup/1-Create.ps1 | 21 +++++++++---- .../Examples/Resources/AADGroup/2-Update.ps1 | 21 +++++++++---- .../Examples/Resources/AADGroup/3-Remove.ps1 | 18 ++++++++--- .../AADGroupLifecyclePolicy/2-Update.ps1 | 20 +++++++++---- .../AADGroupLifecyclePolicy/3-Remove.ps1 | 20 +++++++++---- .../AADGroupsNamingPolicy/2-Update.ps1 | 18 ++++++++--- .../AADGroupsNamingPolicy/3-Remove.ps1 | 18 ++++++++--- .../Resources/AADGroupsSettings/2-Update.ps1 | 18 ++++++++--- .../Resources/AADGroupsSettings/3-Remove.ps1 | 18 ++++++++--- .../AADNamedLocationPolicy/1-Create.ps1 | 18 ++++++++--- .../AADNamedLocationPolicy/2-Update.ps1 | 18 ++++++++--- .../AADNamedLocationPolicy/3-Remove.ps1 | 18 ++++++++--- .../Resources/AADRoleDefinition/1-Create.ps1 | 18 ++++++++--- .../Resources/AADRoleDefinition/2-Update.ps1 | 18 ++++++++--- .../Resources/AADRoleDefinition/3-Remove.ps1 | 18 ++++++++--- .../1-Create.ps1 | 7 +++-- .../2-Update.ps1 | 7 +++-- .../3-Remove.ps1 | 6 ++-- .../Resources/AADRoleSetting/2-Update.ps1 | 18 ++++++++--- .../AADSecurityDefaults/2-Update.ps1 | 18 ++++++++--- .../AADServicePrincipal/1-Create.ps1 | 25 +++++++++++----- .../AADServicePrincipal/2-Update.ps1 | 25 +++++++++++----- .../AADServicePrincipal/3-Remove.ps1 | 18 ++++++++--- .../AADSocialIdentityProvider/1-Create.ps1 | 21 +++++++++---- .../AADSocialIdentityProvider/2-Update.ps1 | 21 +++++++++---- .../AADSocialIdentityProvider/3-Remove.ps1 | 21 +++++++++---- .../Resources/AADTenantDetails/2-Update.ps1 | 18 ++++++++--- .../AADTokenLifetimePolicy/1-Create.ps1 | 18 ++++++++--- .../AADTokenLifetimePolicy/2-Update.ps1 | 18 ++++++++--- .../AADTokenLifetimePolicy/3-Remove.ps1 | 18 ++++++++--- .../Examples/Resources/AADUser/1-Create.ps1 | 21 +++++++++---- .../Examples/Resources/AADUser/2-Update.ps1 | 21 +++++++++---- .../Examples/Resources/AADUser/3-Remove.ps1 | 21 +++++++++---- Tests/Integration/M365DSCTestEngine.psm1 | 30 ++++++++++++++----- 90 files changed, 1267 insertions(+), 448 deletions(-) diff --git a/.github/workflows/Global - Integration - AAD.yml b/.github/workflows/Global - Integration - AAD.yml index 67e0d5cff9..ce236fcc76 100644 --- a/.github/workflows/Global - Integration - AAD.yml +++ b/.github/workflows/Global - Integration - AAD.yml @@ -56,7 +56,7 @@ jobs: $Credential = New-Object System.Management.Automation.PSCredential ($env:INTEGRATION_USERNAME, $CredPassword) try { - & .\Tests\Integration\Microsoft365DSC\M365DSCIntegration.AAD.Create.Tests.ps1 -Credential $Credential + & .\Tests\Integration\Microsoft365DSC\M365DSCIntegration.AAD.Create.Tests.ps1 -ApplicationId $env:APPLICATIONID -TenantId $env:TENANTID -CertificateThumbprint $env:CERTIFICATETHUMBPRINT } catch { diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADActivityBasedTimeoutPolicy/1-AADActivityBasedTimeoutPolicy-Example.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADActivityBasedTimeoutPolicy/1-AADActivityBasedTimeoutPolicy-Example.ps1 index 1d915a10b4..5bcfbc9182 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADActivityBasedTimeoutPolicy/1-AADActivityBasedTimeoutPolicy-Example.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADActivityBasedTimeoutPolicy/1-AADActivityBasedTimeoutPolicy-Example.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -21,7 +29,9 @@ Configuration Example DisplayName = "displayName-value"; Ensure = "Present"; Id = "000000-0000-0000-0000-000000000000"; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/1-Create.ps1 index c8cd6045bb..31c5d07bc5 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/1-Create.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -34,7 +41,9 @@ Configuration Example } } ) - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/2-Update.ps1 index c9f01960e9..bd5fd79f4c 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -35,7 +42,9 @@ Configuration Example } } ) - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/3-Remove.ps1 index ae31a25232..9de6056775 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +27,9 @@ Configuration Example { DisplayName = 'Test-Unit' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADApplication/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADApplication/1-Create.ps1 index 50de632034..e121cf248b 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADApplication/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADApplication/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -51,7 +59,9 @@ Configuration Example } ) Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADApplication/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADApplication/2-Update.ps1 index b61f02d26f..d77b1a52b8 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADApplication/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADApplication/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -51,7 +59,9 @@ Configuration Example } ) Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADApplication/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADApplication/3-Remove.ps1 index 104eed381a..d74e883bc6 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADApplication/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADApplication/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = "AppDisplayName" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAttributeSet/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAttributeSet/1-Create.ps1 index e2eddf1bfa..0027794f7b 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAttributeSet/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAttributeSet/1-Create.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +25,9 @@ Configuration Example { AADAttributeSet "AADAttributeSetTest" { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Description = "Attribute set with 420 attributes"; Ensure = "Present"; Id = "TestAttributeSet"; diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAttributeSet/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAttributeSet/2-Update.ps1 index 52b8df2775..63cad5eca2 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAttributeSet/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAttributeSet/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +25,9 @@ Configuration Example { AADAttributeSet "AADAttributeSetTest" { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Description = "Attribute set with 420 attributes"; Ensure = "Present"; Id = "TestAttributeSet"; diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationContextClassReference/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationContextClassReference/1-Create.ps1 index 33c0004a94..7abe999a3d 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationContextClassReference/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationContextClassReference/1-Create.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +25,9 @@ Configuration Example { AADAuthenticationContextClassReference "AADAuthenticationContextClassReference-Test" { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Description = "Context test"; DisplayName = "My Context"; Ensure = "Present"; diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationContextClassReference/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationContextClassReference/2-Update.ps1 index 902a3e01e3..83a52bbbb7 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationContextClassReference/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationContextClassReference/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +25,9 @@ Configuration Example { AADAuthenticationContextClassReference "AADAuthenticationContextClassReference-Test" { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Description = "Context test Updated"; # Updated Property DisplayName = "My Context"; Ensure = "Present"; diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationContextClassReference/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationContextClassReference/3-Remove.ps1 index b562f75732..e0cdad4aa2 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationContextClassReference/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationContextClassReference/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +25,9 @@ Configuration Example { AADAuthenticationContextClassReference "AADAuthenticationContextClassReference-Test" { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Description = "Context test Updated"; # Updated Property DisplayName = "My Context"; Ensure = "Absent"; diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationFlowPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationFlowPolicy/2-Update.ps1 index 6e8e006574..59700ac6de 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationFlowPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationFlowPolicy/2-Update.ps1 @@ -5,8 +5,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [System.Management.Automation.PSCredential] - $credsCredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -15,7 +24,9 @@ Configuration Example { { AADAuthenticationFlowPolicy "AADAuthenticationFlowPolicy" { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Description = "Authentication flows policy allows modification of settings related to authentication flows in AAD tenant, such as self-service sign up configuration."; DisplayName = "Authentication flows policy"; Id = "authenticationFlowsPolicy"; diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicy/2-Update.ps1 index 3ad69bbb1d..533b73f0bb 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicy/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -35,7 +42,9 @@ Configuration Example State = 'default' } }; - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyAuthenticator/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyAuthenticator/2-Update.ps1 index cd3382cfa8..55b70dc485 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyAuthenticator/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyAuthenticator/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +24,9 @@ Configuration Example { AADAuthenticationMethodPolicyAuthenticator "AADAuthenticationMethodPolicyAuthenticator-MicrosoftAuthenticator" { - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; ExcludeTargets = @( MSFT_AADAuthenticationMethodPolicyAuthenticatorExcludeTarget{ diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyAuthenticator/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyAuthenticator/3-Remove.ps1 index 9e646afa6e..0b95b98d20 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyAuthenticator/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyAuthenticator/3-Remove.ps1 @@ -9,11 +9,18 @@ Configuration Example Node localhost { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) AADAuthenticationMethodPolicyAuthenticator "AADAuthenticationMethodPolicyAuthenticator-MicrosoftAuthenticator" { @@ -27,7 +34,9 @@ Configuration Example ); IsSoftwareOathEnabled = $True; # Updated Property State = "enabled"; - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyEmail/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyEmail/2-Update.ps1 index 889bee8111..1237994612 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyEmail/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyEmail/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +25,9 @@ Configuration Example AADAuthenticationMethodPolicyEmail "AADAuthenticationMethodPolicyEmail-Email" { AllowExternalIdToUseEmailOtp = "enabled"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; ExcludeTargets = @( MSFT_AADAuthenticationMethodPolicyEmailExcludeTarget{ diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyFido2/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyFido2/2-Update.ps1 index cce861359c..d6696fb373 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyFido2/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyFido2/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +24,9 @@ Configuration Example { AADAuthenticationMethodPolicyFido2 "AADAuthenticationMethodPolicyFido2-Fido2" { - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; ExcludeTargets = @( MSFT_AADAuthenticationMethodPolicyFido2ExcludeTarget{ diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyFido2/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyFido2/3-Remove.ps1 index 373788d186..f11914f361 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyFido2/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyFido2/3-Remove.ps1 @@ -9,17 +9,26 @@ Configuration Example Node localhost { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) AADAuthenticationMethodPolicyFido2 "AADAuthenticationMethodPolicyFido2-Fido2" { Ensure = "Absent"; Id = "Fido2"; - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicySms/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicySms/2-Update.ps1 index 7111b8b114..437304c66e 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicySms/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicySms/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +24,9 @@ Configuration Example { AADAuthenticationMethodPolicySms "AADAuthenticationMethodPolicySms-Sms" { - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; ExcludeTargets = @( MSFT_AADAuthenticationMethodPolicySmsExcludeTarget{ diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicySms/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicySms/3-Remove.ps1 index 14b220283c..1f4ccb0a59 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicySms/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicySms/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +24,9 @@ Configuration Example { AADAuthenticationMethodPolicySms "AADAuthenticationMethodPolicySms-Sms" { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Absent"; Id = "Sms"; } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicySoftware/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicySoftware/2-Update.ps1 index 808ff41034..3c9f260c3a 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicySoftware/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicySoftware/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +24,9 @@ Configuration Example { AADAuthenticationMethodPolicySoftware "AADAuthenticationMethodPolicySoftware-SoftwareOath" { - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; ExcludeTargets = @( MSFT_AADAuthenticationMethodPolicySoftwareExcludeTarget{ diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicySoftware/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicySoftware/3-Remove.ps1 index 055f75fc9e..8b1b8a49d5 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicySoftware/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicySoftware/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +24,9 @@ Configuration Example { AADAuthenticationMethodPolicySoftware "AADAuthenticationMethodPolicySoftware-SoftwareOath" { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Absent"; Id = "SoftwareOath"; } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyTemporary/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyTemporary/2-Update.ps1 index da062cb512..d78048db51 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyTemporary/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyTemporary/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +24,9 @@ Configuration Example { AADAuthenticationMethodPolicyTemporary "AADAuthenticationMethodPolicyTemporary-TemporaryAccessPass" { - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DefaultLength = 9; # Updated Property DefaultLifetimeInMinutes = 60; Ensure = "Present"; diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyTemporary/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyTemporary/3-Remove.ps1 index 151a54bf4b..c7d0c273a8 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyTemporary/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyTemporary/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +24,9 @@ Configuration Example { AADAuthenticationMethodPolicyTemporary "AADAuthenticationMethodPolicyTemporary-TemporaryAccessPass" { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Absent"; Id = "TemporaryAccessPass"; } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyVoice/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyVoice/3-Remove.ps1 index 859ee2321e..bb46883b2e 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyVoice/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyVoice/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +24,9 @@ Configuration Example { AADAuthenticationMethodPolicyVoice "AADAuthenticationMethodPolicyVoice-Voice" { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Absent"; Id = "Voice"; } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyX509/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyX509/2-Update.ps1 index 47ee911aea..9d6e307835 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyX509/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyX509/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -38,7 +45,9 @@ Configuration Example X509CertificateField = 'SubjectKeyIdentifier' } ); - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; ExcludeTargets = @( MSFT_AADAuthenticationMethodPolicyX509ExcludeTarget{ diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyX509/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyX509/3-Remove.ps1 index ce1b97d528..03b284b3cf 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyX509/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationMethodPolicyX509/3-Remove.ps1 @@ -17,7 +17,9 @@ Configuration Example { AADAuthenticationMethodPolicyX509 "AADAuthenticationMethodPolicyX509-X509Certificate" { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Absent"; Id = "X509Certificate"; } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationStrengthPolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationStrengthPolicy/1-Create.ps1 index 41957eb493..642111df1d 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationStrengthPolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationStrengthPolicy/1-Create.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -21,7 +28,9 @@ Configuration Example Description = "This is an example"; DisplayName = "Example"; Ensure = "Present"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationStrengthPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationStrengthPolicy/2-Update.ps1 index a7e0364755..855d6456fe 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationStrengthPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationStrengthPolicy/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -21,7 +28,9 @@ Configuration Example Description = "This is an example"; DisplayName = "Example"; Ensure = "Present"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationStrengthPolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationStrengthPolicy/3-Remove.ps1 index 48c8e61ab4..8e85d6869b 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationStrengthPolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAuthenticationStrengthPolicy/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,7 +26,9 @@ Configuration Example { DisplayName = "Example"; Ensure = "Absent"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAuthorizationPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAuthorizationPolicy/2-Update.ps1 index 05d87f1232..b4c2d8453c 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAuthorizationPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAuthorizationPolicy/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -32,7 +39,9 @@ Configuration Example GuestUserRole = 'Guest' PermissionGrantPolicyIdsAssignedToDefaultUserRole = @() Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADConditionalAccessPolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADConditionalAccessPolicy/1-Create.ps1 index cdd98d0524..620033193f 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADConditionalAccessPolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADConditionalAccessPolicy/1-Create.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,7 +26,9 @@ Configuration Example { BuiltInControls = @("mfa"); ClientAppTypes = @("all"); - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DeviceFilterMode = "exclude"; DeviceFilterRule = "device.trustType -eq `"AzureAD`" -or device.trustType -eq `"ServerAD`" -or device.trustType -eq `"Workplace`""; DisplayName = "Example CAP"; diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADConditionalAccessPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADConditionalAccessPolicy/2-Update.ps1 index b484a00998..6fe1f8f115 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADConditionalAccessPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADConditionalAccessPolicy/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,7 +26,9 @@ Configuration Example { BuiltInControls = @("mfa"); ClientAppTypes = @("all"); - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DeviceFilterMode = "exclude"; DeviceFilterRule = "device.trustType -eq `"AzureAD`" -or device.trustType -eq `"ServerAD`" -or device.trustType -eq `"Workplace`""; DisplayName = "Example CAP"; diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADConditionalAccessPolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADConditionalAccessPolicy/3-Remove.ps1 index b1e7893a92..c00e9443c0 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADConditionalAccessPolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADConditionalAccessPolicy/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,7 +26,9 @@ Configuration Example { DisplayName = 'Example CAP' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADCrossTenantAccessPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADCrossTenantAccessPolicy/2-Update.ps1 index 3123883dd3..78728b47a2 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADCrossTenantAccessPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADCrossTenantAccessPolicy/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +25,9 @@ Configuration Example AADCrossTenantAccessPolicy "AADCrossTenantAccessPolicy" { AllowedCloudEndpoints = @("microsoftonline.us"); - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DisplayName = "MyXTAPPolicy"; Ensure = "Present"; IsSingleInstance = "Yes"; diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADCrossTenantAccessPolicyConfigurationDefault/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADCrossTenantAccessPolicyConfigurationDefault/2-Update.ps1 index 15e50852b7..89c3b6b506 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADCrossTenantAccessPolicyConfigurationDefault/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADCrossTenantAccessPolicyConfigurationDefault/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -96,7 +104,9 @@ Configuration Example ) } } - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; InboundTrust = MSFT_AADCrossTenantAccessPolicyInboundTrust { IsCompliantDeviceAccepted = $False diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADCrossTenantAccessPolicyConfigurationPartner/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADCrossTenantAccessPolicyConfigurationPartner/1-Create.ps1 index 20018ebc40..3927db26d6 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADCrossTenantAccessPolicyConfigurationPartner/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADCrossTenantAccessPolicyConfigurationPartner/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -41,7 +49,9 @@ Configuration Example ) } }; - Credential = $credsCredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADCrossTenantAccessPolicyConfigurationPartner/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADCrossTenantAccessPolicyConfigurationPartner/2-Update.ps1 index d3064c63ae..5a55a7a169 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADCrossTenantAccessPolicyConfigurationPartner/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADCrossTenantAccessPolicyConfigurationPartner/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -41,7 +49,9 @@ Configuration Example ) } }; - Credential = $credsCredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADCrossTenantAccessPolicyConfigurationPartner/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADCrossTenantAccessPolicyConfigurationPartner/3-Remove.ps1 index 4598bcd52a..14fdfe863e 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADCrossTenantAccessPolicyConfigurationPartner/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADCrossTenantAccessPolicyConfigurationPartner/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,7 +24,9 @@ Configuration Example { AADCrossTenantAccessPolicyConfigurationPartner "AADCrossTenantAccessPolicyConfigurationPartner" { - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Absent"; PartnerTenantId = "12345-12345-12345-12345-12345"; } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackage/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackage/1-Create.ps1 index 778b2ae509..fe39b962e4 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackage/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackage/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { AccessPackagesIncompatibleWith = @(); CatalogId = "General"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Description = "Integration Tests"; DisplayName = "Integration Package"; Ensure = "Present"; diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackage/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackage/2-Update.ps1 index 668580ab74..cb29006fa5 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackage/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackage/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { AccessPackagesIncompatibleWith = @(); CatalogId = "General"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Description = "Integration Tests"; DisplayName = "Integration Package"; Ensure = "Present"; diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackage/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackage/3-Remove.ps1 index 3a8a14b1b3..89c3ef84c0 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackage/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackage/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = 'Integration Package' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalog/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalog/1-Create.ps1 index 1acbe3c12f..6fc2c28b2a 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalog/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalog/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -23,7 +31,9 @@ Configuration Example IsExternallyVisible = $True Managedidentity = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalog/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalog/2-Update.ps1 index 30621cfbe4..c1a0688bbc 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalog/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalog/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -23,7 +31,9 @@ Configuration Example IsExternallyVisible = $False # Updated Property Managedidentity = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalog/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalog/3-Remove.ps1 index 2507ef22a3..7f61ec18d3 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalog/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalog/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = 'My Catalog' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 index acfae36718..21ae8d25c5 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -26,7 +34,9 @@ Configuration Example ResourceType = 'SharePoint Online Site' Url = "https://$($Domain.Split('.')[0]).sharepoint.com/sites/HumanResources" Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 index 7cbaf4e00b..c948f13fb9 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -26,7 +34,9 @@ Configuration Example ResourceType = 'SharePoint Online Site' Url = "https://$($Domain.Split('.')[0]).sharepoint.com/sites/HumanResources" Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 index ff7e3443b3..a6948ba719 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = 'Communication site' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementConnectedOrganization/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementConnectedOrganization/1-Create.ps1 index 1d4fcd1896..5c4bd6ea36 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementConnectedOrganization/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementConnectedOrganization/1-Create.ps1 @@ -6,20 +6,27 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADEntitlementManagementConnectedOrganization 'MyConnectedOrganization' { Description = "this is the tenant partner"; DisplayName = "Test Tenant - DSC"; - ExternalSponsors = @("AdeleV@$Domain"); + ExternalSponsors = @("AdeleV@$TenantId"); IdentitySources = @( MSFT_AADEntitlementManagementConnectedOrganizationIdentitySource{ ExternalTenantId = "e7a80bcf-696e-40ca-8775-a7f85fbb3ebc" @@ -27,10 +34,12 @@ Configuration Example odataType = '#microsoft.graph.azureActiveDirectoryTenant' } ); - InternalSponsors = @("AdeleV@$Domain"); + InternalSponsors = @("AdeleV@$TenantId"); State = "configured"; Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementConnectedOrganization/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementConnectedOrganization/2-Update.ps1 index 5044b39b3a..401a3757e8 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementConnectedOrganization/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementConnectedOrganization/2-Update.ps1 @@ -6,20 +6,27 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADEntitlementManagementConnectedOrganization 'MyConnectedOrganization' { Description = "This is the tenant partner - Updated"; # Updated Property DisplayName = "Test Tenant - DSC"; - ExternalSponsors = @("AdeleV@$Domain"); + ExternalSponsors = @("AdeleV@$TenantId"); IdentitySources = @( MSFT_AADEntitlementManagementConnectedOrganizationIdentitySource{ ExternalTenantId = "e7a80bcf-696e-40ca-8775-a7f85fbb3ebc" @@ -27,10 +34,12 @@ Configuration Example odataType = '#microsoft.graph.azureActiveDirectoryTenant' } ); - InternalSponsors = @("AdeleV@$Domain"); + InternalSponsors = @("AdeleV@$TenantId"); State = "configured"; Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementConnectedOrganization/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementConnectedOrganization/3-Remove.ps1 index cf45043c10..addb134743 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementConnectedOrganization/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementConnectedOrganization/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = "Test Tenant - DSC"; Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementRoleAssignment/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementRoleAssignment/1-Create.ps1 index 62fb587326..3794cb68fa 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementRoleAssignment/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementRoleAssignment/1-Create.ps1 @@ -6,21 +6,30 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADEntitlementManagementRoleAssignment "AADEntitlementManagementRoleAssignment-Create" { AppScopeId = "/"; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; - Principal = "John.Smith@$Domain"; + Principal = "John.Smith@$TenantId"; RoleDefinition = "Catalog creator"; } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementRoleAssignment/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementRoleAssignment/3-Remove.ps1 index c6fa5e0a91..b673df788c 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementRoleAssignment/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementRoleAssignment/3-Remove.ps1 @@ -6,21 +6,30 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADEntitlementManagementRoleAssignment "AADEntitlementManagementRoleAssignment-Remove" { AppScopeId = "/"; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Absent"; - Principal = "John.Smith@$Domain"; + Principal = "John.Smith@$TenantId"; RoleDefinition = "Catalog creator"; } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADExternalIdentityPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADExternalIdentityPolicy/2-Update.ps1 index d722519c05..a43b2b19b0 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADExternalIdentityPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADExternalIdentityPolicy/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +27,9 @@ Configuration Example { AllowDeletedIdentitiesDataRemoval = $False; AllowExternalIdentitiesToLeave = $True; - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint IsSingleInstance = "Yes"; } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADGroup/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADGroup/1-Create.ps1 index 41f8825460..243f549348 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADGroup/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADGroup/1-Create.ps1 @@ -6,12 +6,19 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { @@ -24,9 +31,11 @@ Configuration Example GroupTypes = @("Unified") MailNickname = "M365DSC" Visibility = "Private" - Owners = @("admin@$Domain", "AdeleV@$Domain") + Owners = @("admin@$TenantId", "AdeleV@$TenantId") Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADGroup/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADGroup/2-Update.ps1 index 7862017a86..827370cdcc 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADGroup/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADGroup/2-Update.ps1 @@ -6,12 +6,19 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADGroup 'MyGroups' @@ -23,9 +30,11 @@ Configuration Example GroupTypes = @("Unified") MailNickname = "M365DSC" Visibility = "Private" - Owners = @("admin@$Domain", "AdeleV@$Domain") + Owners = @("admin@$TenantId", "AdeleV@$TenantId") Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADGroup/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADGroup/3-Remove.ps1 index b51e513cf6..172dd9b7bb 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADGroup/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADGroup/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -21,7 +29,9 @@ Configuration Example MailEnabled = $True DisplayName = "DSCGroup" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADGroupLifecyclePolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADGroupLifecyclePolicy/2-Update.ps1 index de3aaa81b0..0603551a46 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADGroupLifecyclePolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADGroupLifecyclePolicy/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,11 +25,13 @@ Configuration Example AADGroupLifecyclePolicy 'GroupLifecyclePolicy' { IsSingleInstance = "Yes" - AlternateNotificationEmails = @("john.smith@contoso.com") + AlternateNotificationEmails = @("john.smith@$TenantId") GroupLifetimeInDays = 99 ManagedGroupTypes = "Selected" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADGroupLifecyclePolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADGroupLifecyclePolicy/3-Remove.ps1 index 29cf864c51..9e61e3593b 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADGroupLifecyclePolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADGroupLifecyclePolicy/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,11 +25,13 @@ Configuration Example AADGroupLifecyclePolicy 'GroupLifecyclePolicy' { IsSingleInstance = "Yes" - AlternateNotificationEmails = @("john.smith@contoso.com") + AlternateNotificationEmails = @("john.smith@$TenantId") GroupLifetimeInDays = 99 ManagedGroupTypes = "Selected" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADGroupsNamingPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADGroupsNamingPolicy/2-Update.ps1 index 2a901421fe..0b54e68c7a 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADGroupsNamingPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADGroupsNamingPolicy/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +28,9 @@ Configuration Example CustomBlockedWordsList = @("CEO", "President") PrefixSuffixNamingRequirement = "[Title]Test[Company][GroupName][Office]Redmond" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADGroupsNamingPolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADGroupsNamingPolicy/3-Remove.ps1 index e07d6dbeeb..f2c687123a 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADGroupsNamingPolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADGroupsNamingPolicy/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { IsSingleInstance = "Yes" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADGroupsSettings/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADGroupsSettings/2-Update.ps1 index e0cdef430d..605e63942b 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADGroupsSettings/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADGroupsSettings/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -25,7 +33,9 @@ Configuration Example GuestUsageGuidelinesUrl = "https://contoso.com/guestusage" UsageGuidelinesUrl = "https://contoso.com/usage" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADGroupsSettings/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADGroupsSettings/3-Remove.ps1 index 6fc6a4be3b..bfe2f1b754 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADGroupsSettings/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADGroupsSettings/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { IsSingleInstance = "Yes" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADNamedLocationPolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADNamedLocationPolicy/1-Create.ps1 index 2cfe4b2336..92dbfc2b4f 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADNamedLocationPolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADNamedLocationPolicy/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -21,7 +29,9 @@ Configuration Example IsTrusted = $False OdataType = "#microsoft.graph.ipNamedLocation" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADNamedLocationPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADNamedLocationPolicy/2-Update.ps1 index 9f1b9edb57..0e487acdf6 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADNamedLocationPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADNamedLocationPolicy/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -21,7 +29,9 @@ Configuration Example IsTrusted = $False OdataType = "#microsoft.graph.ipNamedLocation" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADNamedLocationPolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADNamedLocationPolicy/3-Remove.ps1 index 7020b1c2ae..9b96e7ecd8 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADNamedLocationPolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADNamedLocationPolicy/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = "Company Network" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADRoleDefinition/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADRoleDefinition/1-Create.ps1 index d5b7ab71ed..dc49235c47 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADRoleDefinition/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADRoleDefinition/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -23,7 +31,9 @@ Configuration Example RolePermissions = "microsoft.directory/applicationPolicies/allProperties/read","microsoft.directory/applicationPolicies/allProperties/update","microsoft.directory/applicationPolicies/basic/update" Version = "1.0" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADRoleDefinition/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADRoleDefinition/2-Update.ps1 index e7db69e5e9..c13bdd1da3 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADRoleDefinition/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADRoleDefinition/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -23,7 +31,9 @@ Configuration Example RolePermissions = "microsoft.directory/applicationPolicies/allProperties/read","microsoft.directory/applicationPolicies/allProperties/update","microsoft.directory/applicationPolicies/basic/update" Version = "1.0" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADRoleDefinition/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADRoleDefinition/3-Remove.ps1 index fec85868f1..ab15d63ae4 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADRoleDefinition/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADRoleDefinition/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +28,9 @@ Configuration Example RolePermissions = "microsoft.directory/applicationPolicies/allProperties/read" DisplayName = "DSCRole1" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADRoleEligibilityScheduleRequest/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADRoleEligibilityScheduleRequest/1-Create.ps1 index 439d0b39b9..cbf4513a6b 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADRoleEligibilityScheduleRequest/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADRoleEligibilityScheduleRequest/1-Create.ps1 @@ -14,17 +14,18 @@ Configuration Example Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADRoleEligibilityScheduleRequest "MyRequest" { Action = "AdminAssign"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DirectoryScopeId = "/"; Ensure = "Present"; IsValidationOnly = $False; - Principal = "AdeleV@$Domain"; + Principal = "AdeleV@$TenantId"; RoleDefinition = "Teams Communications Administrator"; ScheduleInfo = MSFT_AADRoleEligibilityScheduleRequestSchedule { startDateTime = '2023-09-01T02:40:44Z' diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADRoleEligibilityScheduleRequest/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADRoleEligibilityScheduleRequest/2-Update.ps1 index fbfb5574ca..5ae77143e8 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADRoleEligibilityScheduleRequest/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADRoleEligibilityScheduleRequest/2-Update.ps1 @@ -14,17 +14,18 @@ Configuration Example Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADRoleEligibilityScheduleRequest "MyRequest" { Action = "AdminUpdate"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DirectoryScopeId = "/"; Ensure = "Present"; IsValidationOnly = $False; - Principal = "AdeleV@$Domain"; + Principal = "AdeleV@$TenantId"; RoleDefinition = "Teams Communications Administrator"; ScheduleInfo = MSFT_AADRoleEligibilityScheduleRequestSchedule { startDateTime = '2023-09-01T02:45:44Z' # Updated Property diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADRoleEligibilityScheduleRequest/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADRoleEligibilityScheduleRequest/3-Remove.ps1 index 6fff4548fc..0e561e0f05 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADRoleEligibilityScheduleRequest/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADRoleEligibilityScheduleRequest/3-Remove.ps1 @@ -19,11 +19,13 @@ Configuration Example AADRoleEligibilityScheduleRequest "MyRequest" { Action = "AdminAssign"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DirectoryScopeId = "/"; Ensure = "Absent"; IsValidationOnly = $True; # Updated Property - Principal = "John.Smith@$OrganizationName"; + Principal = "AdeleV@$TenantId"; RoleDefinition = "Teams Communications Administrator"; ScheduleInfo = MSFT_AADRoleEligibilityScheduleRequestSchedule { startDateTime = '2023-09-01T02:40:44Z' diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADRoleSetting/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADRoleSetting/2-Update.ps1 index 2c6292e400..1e9654b1e7 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADRoleSetting/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADRoleSetting/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -55,7 +63,9 @@ Configuration Example ExpireEligibleAssignment = "P365D"; PermanentActiveAssignmentisExpirationRequired = $False; PermanentEligibleAssignmentisExpirationRequired = $False; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = 'Present' } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADSecurityDefaults/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADSecurityDefaults/2-Update.ps1 index 8ed7979197..533abf2cc2 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADSecurityDefaults/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADSecurityDefaults/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,7 +24,9 @@ Configuration Example { AADSecurityDefaults 'Defaults' { - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Description = "Security defaults is a set of basic identity security mechanisms recommended by Microsoft. When enabled, these recommendations will be automatically enforced in your organization. Administrators and users will be better protected from common identity related attacks."; DisplayName = "Security Defaults"; IsEnabled = $False; diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADServicePrincipal/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADServicePrincipal/1-Create.ps1 index 5d148bc5bb..0ed32092b6 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADServicePrincipal/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADServicePrincipal/1-Create.ps1 @@ -6,13 +6,20 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADServicePrincipal 'AADServicePrincipal' @@ -22,13 +29,15 @@ Configuration Example AlternativeNames = "AlternativeName1","AlternativeName2" AccountEnabled = $true AppRoleAssignmentRequired = $false - Homepage = "https://$Domain" - LogoutUrl = "https://$Domain/logout" - ReplyURLs = "https://$Domain" + Homepage = "https://$TenantId" + LogoutUrl = "https://$TenantId/logout" + ReplyURLs = "https://$TenantId" ServicePrincipalType = "Application" Tags = "{WindowsAzureActiveDirectoryIntegratedApp}" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADServicePrincipal/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADServicePrincipal/2-Update.ps1 index d50d7f231c..5a420757d0 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADServicePrincipal/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADServicePrincipal/2-Update.ps1 @@ -6,13 +6,20 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADServicePrincipal 'AADServicePrincipal' @@ -22,13 +29,15 @@ Configuration Example AlternativeNames = "AlternativeName1","AlternativeName3" # Updated Property AccountEnabled = $true AppRoleAssignmentRequired = $false - Homepage = "https://$Domain" - LogoutUrl = "https://$Domain/logout" - ReplyURLs = "https://$Domain" + Homepage = "https://$TenantId" + LogoutUrl = "https://$TenantId/logout" + ReplyURLs = "https://$TenantId" ServicePrincipalType = "Application" Tags = "{WindowsAzureActiveDirectoryIntegratedApp}" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADServicePrincipal/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADServicePrincipal/3-Remove.ps1 index 50f0db3935..db2855bc8d 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADServicePrincipal/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADServicePrincipal/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,7 +27,9 @@ Configuration Example AppId = "AppDisplayName" DisplayName = "AppDisplayName" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADSocialIdentityProvider/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADSocialIdentityProvider/1-Create.ps1 index 3c4f482979..492fa74ec8 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADSocialIdentityProvider/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADSocialIdentityProvider/1-Create.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +27,9 @@ Configuration Example { ClientId = "Google-OAUTH"; ClientSecret = "FakeSecret"; - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DisplayName = "My Google Provider"; Ensure = "Present"; IdentityProviderType = "Google"; diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADSocialIdentityProvider/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADSocialIdentityProvider/2-Update.ps1 index 3807438f25..746b6fc3a9 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADSocialIdentityProvider/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADSocialIdentityProvider/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +27,9 @@ Configuration Example { ClientId = "Google-OAUTH"; ClientSecret = "FakeSecret-Updated"; # Updated Property - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DisplayName = "My Google Provider"; Ensure = "Present"; IdentityProviderType = "Google"; diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADSocialIdentityProvider/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADSocialIdentityProvider/3-Remove.ps1 index fb8d39bbab..8bd1281080 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADSocialIdentityProvider/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADSocialIdentityProvider/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +27,9 @@ Configuration Example { ClientId = "Google-OAUTH"; ClientSecret = "FakeSecret-Updated"; # Updated Property - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DisplayName = "My Google Provider"; Ensure = "Absent"; IdentityProviderType = "Google"; diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADTenantDetails/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADTenantDetails/2-Update.ps1 index 09a729a235..6a2feef2d6 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADTenantDetails/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADTenantDetails/2-Update.ps1 @@ -5,10 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { param( - [System.Management.Automation.PSCredential] - $credsCredential - ) + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + [Parameter()] + [System.String] + $CertificateThumbprint + ) Import-DscResource -ModuleName Microsoft365DSC Node Localhost @@ -18,7 +26,9 @@ Configuration Example { IsSingleInstance = 'Yes' TechnicalNotificationMails = "example@contoso.com" MarketingNotificationEmails = "example@contoso.com" - Credential = $credsCredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADTokenLifetimePolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADTokenLifetimePolicy/1-Create.ps1 index 886fe687b7..017f0495ef 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADTokenLifetimePolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADTokenLifetimePolicy/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +28,9 @@ Configuration Example Definition = @("{`"TokenLifetimePolicy`":{`"Version`":1,`"AccessTokenLifetime`":`"02:00:00`"}}"); IsOrganizationDefault = $false Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADTokenLifetimePolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADTokenLifetimePolicy/2-Update.ps1 index 729710ea27..97b05430e2 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADTokenLifetimePolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADTokenLifetimePolicy/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +28,9 @@ Configuration Example Definition = @("{`"TokenLifetimePolicy`":{`"Version`":1,`"AccessTokenLifetime`":`"02:00:00`"}}"); IsOrganizationDefault = $true # Updated Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADTokenLifetimePolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADTokenLifetimePolicy/3-Remove.ps1 index 6cc645eca1..dfdde0c981 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADTokenLifetimePolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADTokenLifetimePolicy/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = "PolicyDisplayName" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADUser/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADUser/1-Create.ps1 index 73cdcbb24b..702b86bc25 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADUser/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADUser/1-Create.ps1 @@ -6,18 +6,25 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADUser 'ConfigureJohnSMith' { - UserPrincipalName = "John.Smith@$Domain" + UserPrincipalName = "John.Smith@$TenantId" FirstName = "John" LastName = "Smith" DisplayName = "John J. Smith" @@ -26,7 +33,9 @@ Configuration Example Office = "Ottawa - Queen" UsageLocation = "US" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADUser/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADUser/2-Update.ps1 index 238b7e0925..35726df3ad 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADUser/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADUser/2-Update.ps1 @@ -6,18 +6,25 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADUser 'ConfigureJohnSMith' { - UserPrincipalName = "John.Smith@$Domain" + UserPrincipalName = "John.Smith@$TenantId" FirstName = "John" LastName = "Smith" DisplayName = "John J. Smith" @@ -26,7 +33,9 @@ Configuration Example Office = "Ottawa - Queen" UsageLocation = "US" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADUser/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADUser/3-Remove.ps1 index 72667e151b..eeccbfd03d 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADUser/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADUser/3-Remove.ps1 @@ -6,21 +6,30 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADUser 'ConfigureJohnSMith' { - UserPrincipalName = "John.Smith@$Domain" + UserPrincipalName = "John.Smith@$TenantId" DisplayName = "John J. Smith" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Tests/Integration/M365DSCTestEngine.psm1 b/Tests/Integration/M365DSCTestEngine.psm1 index d75004b683..5fb4812a98 100644 --- a/Tests/Integration/M365DSCTestEngine.psm1 +++ b/Tests/Integration/M365DSCTestEngine.psm1 @@ -18,21 +18,37 @@ function New-M365DSCIntegrationTest param ( [Parameter()] - [System.Management.Automation.PSCredential] - $Credential + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Configuration Master { param ( - [Parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] + $Domain = $TenantId Node Localhost { @@ -95,7 +111,7 @@ function New-M365DSCIntegrationTest # Compile and deploy configuration try { - Master -ConfigurationData $ConfigurationData -Credscredential $Credential + Master -ConfigurationData $ConfigurationData -ApplicationId $ApplicationId -TenantId $TenantId -CertificateThumbprint $CertificateThumbprint Start-DscConfiguration Master -Wait -Force -Verbose -ErrorAction Stop } catch From d4279c7cac7eb0b4182a4b94d6256285fe337339 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Thu, 11 Jul 2024 14:53:51 -0400 Subject: [PATCH 002/123] Update Global - Integration - AAD.yml --- .../workflows/Global - Integration - AAD.yml | 172 +----------------- 1 file changed, 1 insertion(+), 171 deletions(-) diff --git a/.github/workflows/Global - Integration - AAD.yml b/.github/workflows/Global - Integration - AAD.yml index ce236fcc76..88c9556977 100644 --- a/.github/workflows/Global - Integration - AAD.yml +++ b/.github/workflows/Global - Integration - AAD.yml @@ -15,21 +15,18 @@ jobs: steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v3 - - name: Install Microsoft365DSC + - name: Copy Microsoft365DSC shell: powershell run: | - winrm quickconfig -force $source = "./Modules/Microsoft365DSC/" $destination = "C:\Program Files\WindowsPowerShell\Modules" Copy-Item -Path $source -Recurse -Destination $destination -Container -Force - Update-M365DSCDependencies - name: Configure Environment shell: powershell run: | Set-ExecutionPolicy Unrestricted -Force Get-ChildItem "C:\Program Files\WindowsPowerShell\Modules" -Recurse | Unblock-File Set-M365DSCTelemetryOption -Enabled $false - Set-Item -Path WSMan:\localhost\MaxEnvelopeSizekb -Value 99999 - name: Generate {Create} Integration Tests from Examples shell: powershell run: | @@ -46,66 +43,9 @@ jobs: git push $SHA = git rev-parse HEAD echo "commitid=$SHA" >> $env:GITHUB_OUTPUT - - name: Run {Create} Integration Tests - shell: powershell - env: - INTEGRATION_USERNAME: ${{ secrets.INTEGRATION_USERNAME }} - INTEGRATION_PASSWORD: ${{ secrets.INTEGRATION_PASSWORD }} - run: | - $CredPassword = ConvertTo-SecureString $env:INTEGRATION_PASSWORD -AsPlainText -Force - $Credential = New-Object System.Management.Automation.PSCredential ($env:INTEGRATION_USERNAME, $CredPassword) - try - { - & .\Tests\Integration\Microsoft365DSC\M365DSCIntegration.AAD.Create.Tests.ps1 -ApplicationId $env:APPLICATIONID -TenantId $env:TENANTID -CertificateThumbprint $env:CERTIFICATETHUMBPRINT - } - catch - { - throw $_ - } - - name: Validating {Create} Integration Tests - shell: powershell - run: | - try - { - $Result = Test-DSCConfiguration -Detailed -Verbose -ErrorAction Stop - } - catch - { - throw $_ - } - - Write-Host "" - - if ($Result.InDesiredState -eq $false) - { - Write-Host -Message "Resources below are not in the Desired State:" - foreach ($Resource in $Result.ResourcesNotInDesiredState) - { - Write-Host $Resource.InstanceName - } - - throw "Could not validate that the Tenant is in the Desired State" - } - else - { - Write-Host "All resources in the Tenant are in the Desired State" - } - - try - { - # Commenting out since this is very finnicky right now and its preventing other tests from running. - # The Get-DSCConfiguration cmdlet isn't providing much value added when failing and doesn't provide - # info about what parsing issues occured. - #$Result = Get-DSCConfiguration -Verbose -ErrorAction Stop - } - catch - { - throw $_ - } - name: Generate {Update} Integration Tests from Examples shell: powershell run: | - Import-Module './Tests/Integration/M365DSCTestEngine.psm1' New-M365DSCIntegrationTest -Workload AAD -Step '2-Update' - name: Commit {Update} Integration Tests shell: powershell @@ -118,66 +58,9 @@ jobs: git push $SHA = git rev-parse HEAD echo "commitid=$SHA" >> $env:GITHUB_OUTPUT - - name: Run {Update} Integration Tests - shell: powershell - env: - INTEGRATION_USERNAME: ${{ secrets.INTEGRATION_USERNAME }} - INTEGRATION_PASSWORD: ${{ secrets.INTEGRATION_PASSWORD }} - run: | - $CredPassword = ConvertTo-SecureString $env:INTEGRATION_PASSWORD -AsPlainText -Force - $Credential = New-Object System.Management.Automation.PSCredential ($env:INTEGRATION_USERNAME, $CredPassword) - try - { - & .\Tests\Integration\Microsoft365DSC\M365DSCIntegration.AAD.Update.Tests.ps1 -Credential $Credential - } - catch - { - throw $_ - } - - name: Validating {Update} Integration Tests - shell: powershell - run: | - try - { - $Result = Test-DSCConfiguration -Detailed -Verbose -ErrorAction Stop - } - catch - { - throw $_ - } - - Write-Host "" - - if ($Result.InDesiredState -eq $false) - { - Write-Host -Message "Resources below are not in the Desired State:" - foreach ($Resource in $Result.ResourcesNotInDesiredState) - { - Write-Host $Resource.InstanceName - } - - throw "Could not validate that the Tenant is in the Desired State" - } - else - { - Write-Host "All resources in the Tenant are in the Desired State" - } - - try - { - # Commenting out since this is very finnicky right now and its preventing other tests from running. - # The Get-DSCConfiguration cmdlet isn't providing much value added when failing and doesn't provide - # info about what parsing issues occured. - #$Result = Get-DSCConfiguration -Verbose -ErrorAction Stop - } - catch - { - throw $_ - } - name: Generate {Remove} Integration Tests from Examples shell: powershell run: | - Import-Module './Tests/Integration/M365DSCTestEngine.psm1' New-M365DSCIntegrationTest -Workload AAD -Step '3-Remove' - name: Commit {Remove} Integration Tests shell: powershell @@ -190,56 +73,3 @@ jobs: git push $SHA = git rev-parse HEAD echo "commitid=$SHA" >> $env:GITHUB_OUTPUT - - name: Run {Remove} Integration Tests - shell: powershell - env: - INTEGRATION_USERNAME: ${{ secrets.INTEGRATION_USERNAME }} - INTEGRATION_PASSWORD: ${{ secrets.INTEGRATION_PASSWORD }} - run: | - $CredPassword = ConvertTo-SecureString $env:INTEGRATION_PASSWORD -AsPlainText -Force - $Credential = New-Object System.Management.Automation.PSCredential ($env:INTEGRATION_USERNAME, $CredPassword) - try - { - & .\Tests\Integration\Microsoft365DSC\M365DSCIntegration.AAD.Remove.Tests.ps1 -Credential $Credential - } - catch - { - throw $_ - } - - name: Validating {Remove} Integration Tests - shell: powershell - run: | - try - { - $Result = Test-DSCConfiguration -Detailed -Verbose -ErrorAction Stop - } - catch - { - throw $_ - } - - Write-Host "" - - if ($Result.InDesiredState -eq $false) - { - Write-Host -Message "Resources below are not in the Desired State:" - foreach ($Resource in $Result.ResourcesNotInDesiredState) - { - Write-Host $Resource.InstanceName - } - - throw "Could not validate that the Tenant is in the Desired State" - } - else - { - Write-Host "All resources in the Tenant are in the Desired State" - } - - try - { - #$Result = Get-DSCConfiguration -Verbose -ErrorAction Stop - } - catch - { - throw $_ - } From 13bdcc50ba18d570caec041e864a05e3a56a2c08 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Thu, 11 Jul 2024 15:07:06 -0400 Subject: [PATCH 003/123] Revamp Unit Tests --- .../Scheduled - Generate Permission List.yml | 42 +++++++++++++++++++ .../QA/Microsoft365DSC.SettingsJson.Tests.ps1 | 27 +----------- Tests/TestHarness.psm1 | 35 ++++++++++++++++ 3 files changed, 78 insertions(+), 26 deletions(-) create mode 100644 .github/workflows/Scheduled - Generate Permission List.yml diff --git a/.github/workflows/Scheduled - Generate Permission List.yml b/.github/workflows/Scheduled - Generate Permission List.yml new file mode 100644 index 0000000000..7196b559d6 --- /dev/null +++ b/.github/workflows/Scheduled - Generate Permission List.yml @@ -0,0 +1,42 @@ +name: Unit Tests +on: [push, pull_request] + +jobs: + # This workflow contains a single job called "build" + UnitTests: + # The type of runner that the job will run on + runs-on: windows-latest + + permissions: write-all + + # Only when run from the main repo + if: github.repository == 'microsoft/Microsoft365DSC' + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - name: Checkout Repository + uses: actions/checkout@v3 + + - name: Install Dependencies + shell: pwsh + run: | + Import-Module './Modules/M365DSCUtil.psm1' -Force; + Update-M365DSCModule + - name: Get Permissions List + shell: pwsh + run: | + Import-Module './Tests/TestHarness.psm1' -Force; + $permissions = Get-M365DSCAllGraphPermissionsList + $permission - join ',' | Out-File '.\Tests\QA\Graph.PermissionList.txt' + - name: Commit Permissions List + shell: powershell + run: | + git config --local user.email "nicharl@microsoft.com" + git config --local user.name "NikCharlebois" + git add D:/a/Microsoft365DSC/Microsoft365DSC/Tests/QA/* + git pull + git commit -m "Updated Graph Permissions List" + git push + $SHA = git rev-parse HEAD + echo "commitid=$SHA" >> $env:GITHUB_OUTPUT diff --git a/Tests/QA/Microsoft365DSC.SettingsJson.Tests.ps1 b/Tests/QA/Microsoft365DSC.SettingsJson.Tests.ps1 index de2e26c128..83d7fe119d 100644 --- a/Tests/QA/Microsoft365DSC.SettingsJson.Tests.ps1 +++ b/Tests/QA/Microsoft365DSC.SettingsJson.Tests.ps1 @@ -17,32 +17,7 @@ Describe -Name 'Successfully import Settings.json files' { Describe -Name 'Successfully validate all used permissions in Settings.json files ' { BeforeAll { - $allModules = Get-module Microsoft.graph.* -ListAvailable - $allPermissions = @() - foreach ($module in $allModules) - { - $cmds = Get-Command -Module $module.Name - foreach ($cmd in $cmds) - { - $graphInfo = Find-MgGraphCommand -Command $cmd.Name -ErrorAction SilentlyContinue - if ($null -ne $graphInfo) - { - $permissions = $graphInfo.Permissions | Where-Object -FilterScript {$_.PermissionType -eq 'Application'} - $allPermissions += $permissions.Name - } - } - } - - $allPermissions+= @('OrgSettings-Microsoft365Install.Read.All', ` - 'OrgSettings-Forms.Read.All', ` - 'OrgSettings-Todo.Read.All', ` - 'OrgSettings-AppsAndServices.Read.All', ` - 'OrgSettings-DynamicsVoice.Read.All', ` - 'ReportSettings.Read.All', ` - 'RoleManagementPolicy.Read.Directory', ` - 'RoleEligibilitySchedule.Read.Directory', ` - 'Agreement.Read.All') - $roles = $allPermissions | Select-Object -Unique | Sort-Object -Descending:$false + } It "Permissions used in settings.json file for '' should exist" -TestCases $settingsFiles { diff --git a/Tests/TestHarness.psm1 b/Tests/TestHarness.psm1 index 646022d9af..964a9d8af2 100644 --- a/Tests/TestHarness.psm1 +++ b/Tests/TestHarness.psm1 @@ -126,6 +126,41 @@ function Invoke-TestHarness return $results } +function Get-M365DSCAllGraphPermissionsList +{ + [CmdletBinding()] + [OutputType([System.String[]])] + param() + + $allModules = Get-module Microsoft.graph.* -ListAvailable + $allPermissions = @() + foreach ($module in $allModules) + { + $cmds = Get-Command -Module $module.Name + foreach ($cmd in $cmds) + { + $graphInfo = Find-MgGraphCommand -Command $cmd.Name -ErrorAction SilentlyContinue + if ($null -ne $graphInfo) + { + $permissions = $graphInfo.Permissions | Where-Object -FilterScript {$_.PermissionType -eq 'Application'} + $allPermissions += $permissions.Name + } + } + } + + $allPermissions+= @('OrgSettings-Microsoft365Install.Read.All', ` + 'OrgSettings-Forms.Read.All', ` + 'OrgSettings-Todo.Read.All', ` + 'OrgSettings-AppsAndServices.Read.All', ` + 'OrgSettings-DynamicsVoice.Read.All', ` + 'ReportSettings.Read.All', ` + 'RoleManagementPolicy.Read.Directory', ` + 'RoleEligibilitySchedule.Read.Directory', ` + 'Agreement.Read.All') + $roles = $allPermissions | Select-Object -Unique | Sort-Object -Descending:$false + return $roles +} + function Invoke-QualityChecksHarness { [CmdletBinding()] From df5db19b76c0127e63d2174ac7ac6f0af54d49af Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Thu, 11 Jul 2024 19:08:13 +0000 Subject: [PATCH 004/123] Updated Resources and Cmdlet documentation pages --- .../azure-ad/AADActivityBasedTimeoutPolicy.md | 18 +++-- .../azure-ad/AADAdministrativeUnit.md | 63 ++++++++++++----- .../docs/resources/azure-ad/AADApplication.md | 54 +++++++++++---- .../resources/azure-ad/AADAttributeSet.md | 42 ++++++++---- .../AADAuthenticationContextClassReference.md | 63 ++++++++++++----- .../azure-ad/AADAuthenticationFlowPolicy.md | 17 ++++- .../azure-ad/AADAuthenticationMethodPolicy.md | 21 ++++-- ...AuthenticationMethodPolicyAuthenticator.md | 42 ++++++++---- .../AADAuthenticationMethodPolicyEmail.md | 21 ++++-- .../AADAuthenticationMethodPolicyFido2.md | 42 ++++++++---- .../AADAuthenticationMethodPolicySms.md | 42 ++++++++---- .../AADAuthenticationMethodPolicySoftware.md | 42 ++++++++---- .../AADAuthenticationMethodPolicyTemporary.md | 42 ++++++++---- .../AADAuthenticationMethodPolicyVoice.md | 21 ++++-- .../AADAuthenticationMethodPolicyX509.md | 25 +++++-- .../AADAuthenticationStrengthPolicy.md | 63 ++++++++++++----- .../azure-ad/AADAuthorizationPolicy.md | 21 ++++-- .../azure-ad/AADConditionalAccessPolicy.md | 63 ++++++++++++----- .../azure-ad/AADCrossTenantAccessPolicy.md | 18 +++-- ...sTenantAccessPolicyConfigurationDefault.md | 18 +++-- ...sTenantAccessPolicyConfigurationPartner.md | 54 +++++++++++---- .../AADEntitlementManagementAccessPackage.md | 54 +++++++++++---- ...titlementManagementAccessPackageCatalog.md | 54 +++++++++++---- ...tManagementAccessPackageCatalogResource.md | 54 +++++++++++---- ...itlementManagementConnectedOrganization.md | 64 ++++++++++++----- .../AADEntitlementManagementRoleAssignment.md | 42 ++++++++---- .../azure-ad/AADExternalIdentityPolicy.md | 21 ++++-- docs/docs/resources/azure-ad/AADGroup.md | 60 +++++++++++----- .../azure-ad/AADGroupLifecyclePolicy.md | 40 ++++++++--- .../azure-ad/AADGroupsNamingPolicy.md | 36 +++++++--- .../resources/azure-ad/AADGroupsSettings.md | 36 +++++++--- .../azure-ad/AADNamedLocationPolicy.md | 54 +++++++++++---- .../resources/azure-ad/AADRoleDefinition.md | 54 +++++++++++---- .../AADRoleEligibilityScheduleRequest.md | 20 +++--- .../docs/resources/azure-ad/AADRoleSetting.md | 18 +++-- .../resources/azure-ad/AADSecurityDefaults.md | 18 +++-- .../resources/azure-ad/AADServicePrincipal.md | 68 +++++++++++++------ .../azure-ad/AADSocialIdentityProvider.md | 63 ++++++++++++----- .../resources/azure-ad/AADTenantDetails.md | 18 +++-- .../azure-ad/AADTokenLifetimePolicy.md | 54 +++++++++++---- docs/docs/resources/azure-ad/AADUser.md | 63 ++++++++++++----- 41 files changed, 1243 insertions(+), 440 deletions(-) diff --git a/docs/docs/resources/azure-ad/AADActivityBasedTimeoutPolicy.md b/docs/docs/resources/azure-ad/AADActivityBasedTimeoutPolicy.md index 4a0bbe08ae..a6e6de26d7 100644 --- a/docs/docs/resources/azure-ad/AADActivityBasedTimeoutPolicy.md +++ b/docs/docs/resources/azure-ad/AADActivityBasedTimeoutPolicy.md @@ -58,9 +58,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -73,7 +81,9 @@ Configuration Example DisplayName = "displayName-value"; Ensure = "Present"; Id = "000000-0000-0000-0000-000000000000"; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/azure-ad/AADAdministrativeUnit.md b/docs/docs/resources/azure-ad/AADAdministrativeUnit.md index 2aae9da6fb..2b3f72998f 100644 --- a/docs/docs/resources/azure-ad/AADAdministrativeUnit.md +++ b/docs/docs/resources/azure-ad/AADAdministrativeUnit.md @@ -81,11 +81,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -110,7 +117,9 @@ Configuration Example } } ) - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -124,11 +133,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -154,7 +170,9 @@ Configuration Example } } ) - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -168,11 +186,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -183,7 +208,9 @@ Configuration Example { DisplayName = 'Test-Unit' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/azure-ad/AADApplication.md b/docs/docs/resources/azure-ad/AADApplication.md index 395275f43d..3dff4eb19e 100644 --- a/docs/docs/resources/azure-ad/AADApplication.md +++ b/docs/docs/resources/azure-ad/AADApplication.md @@ -80,9 +80,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -125,7 +133,9 @@ Configuration Example } ) Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -140,9 +150,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -185,7 +203,9 @@ Configuration Example } ) Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -200,9 +220,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -212,7 +240,9 @@ Configuration Example { DisplayName = "AppDisplayName" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/azure-ad/AADAttributeSet.md b/docs/docs/resources/azure-ad/AADAttributeSet.md index 5d02ffe128..a867a28c04 100644 --- a/docs/docs/resources/azure-ad/AADAttributeSet.md +++ b/docs/docs/resources/azure-ad/AADAttributeSet.md @@ -57,11 +57,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -70,7 +77,9 @@ Configuration Example { AADAttributeSet "AADAttributeSetTest" { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Description = "Attribute set with 420 attributes"; Ensure = "Present"; Id = "TestAttributeSet"; @@ -88,11 +97,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -101,7 +117,9 @@ Configuration Example { AADAttributeSet "AADAttributeSetTest" { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Description = "Attribute set with 420 attributes"; Ensure = "Present"; Id = "TestAttributeSet"; diff --git a/docs/docs/resources/azure-ad/AADAuthenticationContextClassReference.md b/docs/docs/resources/azure-ad/AADAuthenticationContextClassReference.md index a8a87315ab..88af7e9605 100644 --- a/docs/docs/resources/azure-ad/AADAuthenticationContextClassReference.md +++ b/docs/docs/resources/azure-ad/AADAuthenticationContextClassReference.md @@ -58,11 +58,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -71,7 +78,9 @@ Configuration Example { AADAuthenticationContextClassReference "AADAuthenticationContextClassReference-Test" { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Description = "Context test"; DisplayName = "My Context"; Ensure = "Present"; @@ -90,11 +99,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -103,7 +119,9 @@ Configuration Example { AADAuthenticationContextClassReference "AADAuthenticationContextClassReference-Test" { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Description = "Context test Updated"; # Updated Property DisplayName = "My Context"; Ensure = "Present"; @@ -122,11 +140,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -135,7 +160,9 @@ Configuration Example { AADAuthenticationContextClassReference "AADAuthenticationContextClassReference-Test" { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Description = "Context test Updated"; # Updated Property DisplayName = "My Context"; Ensure = "Absent"; diff --git a/docs/docs/resources/azure-ad/AADAuthenticationFlowPolicy.md b/docs/docs/resources/azure-ad/AADAuthenticationFlowPolicy.md index 581a0a6598..0f173f0864 100644 --- a/docs/docs/resources/azure-ad/AADAuthenticationFlowPolicy.md +++ b/docs/docs/resources/azure-ad/AADAuthenticationFlowPolicy.md @@ -57,8 +57,17 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { param( - [System.Management.Automation.PSCredential] - $credsCredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -67,7 +76,9 @@ Configuration Example { { AADAuthenticationFlowPolicy "AADAuthenticationFlowPolicy" { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Description = "Authentication flows policy allows modification of settings related to authentication flows in AAD tenant, such as self-service sign up configuration."; DisplayName = "Authentication flows policy"; Id = "authenticationFlowsPolicy"; diff --git a/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicy.md b/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicy.md index ef058b60eb..fd9fa85e4c 100644 --- a/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicy.md +++ b/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicy.md @@ -128,11 +128,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -158,7 +165,9 @@ Configuration Example State = 'default' } }; - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicyAuthenticator.md b/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicyAuthenticator.md index 95f6bf00db..ceb80457e4 100644 --- a/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicyAuthenticator.md +++ b/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicyAuthenticator.md @@ -108,11 +108,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -120,7 +127,9 @@ Configuration Example { AADAuthenticationMethodPolicyAuthenticator "AADAuthenticationMethodPolicyAuthenticator-MicrosoftAuthenticator" { - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; ExcludeTargets = @( MSFT_AADAuthenticationMethodPolicyAuthenticatorExcludeTarget{ @@ -181,11 +190,18 @@ Configuration Example Node localhost { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) AADAuthenticationMethodPolicyAuthenticator "AADAuthenticationMethodPolicyAuthenticator-MicrosoftAuthenticator" { @@ -199,7 +215,9 @@ Configuration Example ); IsSoftwareOathEnabled = $True; # Updated Property State = "enabled"; - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicyEmail.md b/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicyEmail.md index 46a93f4da3..e8bd849084 100644 --- a/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicyEmail.md +++ b/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicyEmail.md @@ -77,11 +77,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -90,7 +97,9 @@ Configuration Example AADAuthenticationMethodPolicyEmail "AADAuthenticationMethodPolicyEmail-Email" { AllowExternalIdToUseEmailOtp = "enabled"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; ExcludeTargets = @( MSFT_AADAuthenticationMethodPolicyEmailExcludeTarget{ diff --git a/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicyFido2.md b/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicyFido2.md index 60952ecc93..6828d7d951 100644 --- a/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicyFido2.md +++ b/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicyFido2.md @@ -89,11 +89,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -101,7 +108,9 @@ Configuration Example { AADAuthenticationMethodPolicyFido2 "AADAuthenticationMethodPolicyFido2-Fido2" { - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; ExcludeTargets = @( MSFT_AADAuthenticationMethodPolicyFido2ExcludeTarget{ @@ -145,17 +154,26 @@ Configuration Example Node localhost { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) AADAuthenticationMethodPolicyFido2 "AADAuthenticationMethodPolicyFido2-Fido2" { Ensure = "Absent"; Id = "Fido2"; - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicySms.md b/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicySms.md index 5a4c79bb7e..e6c30d33f2 100644 --- a/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicySms.md +++ b/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicySms.md @@ -76,11 +76,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -88,7 +95,9 @@ Configuration Example { AADAuthenticationMethodPolicySms "AADAuthenticationMethodPolicySms-Sms" { - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; ExcludeTargets = @( MSFT_AADAuthenticationMethodPolicySmsExcludeTarget{ @@ -117,11 +126,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -129,7 +145,9 @@ Configuration Example { AADAuthenticationMethodPolicySms "AADAuthenticationMethodPolicySms-Sms" { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Absent"; Id = "Sms"; } diff --git a/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicySoftware.md b/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicySoftware.md index ddbcf3cc12..b29a65aad3 100644 --- a/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicySoftware.md +++ b/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicySoftware.md @@ -76,11 +76,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -88,7 +95,9 @@ Configuration Example { AADAuthenticationMethodPolicySoftware "AADAuthenticationMethodPolicySoftware-SoftwareOath" { - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; ExcludeTargets = @( MSFT_AADAuthenticationMethodPolicySoftwareExcludeTarget{ @@ -121,11 +130,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -133,7 +149,9 @@ Configuration Example { AADAuthenticationMethodPolicySoftware "AADAuthenticationMethodPolicySoftware-SoftwareOath" { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Absent"; Id = "SoftwareOath"; } diff --git a/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicyTemporary.md b/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicyTemporary.md index 3a3e50f23b..3c4f8b4c4e 100644 --- a/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicyTemporary.md +++ b/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicyTemporary.md @@ -81,11 +81,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -93,7 +100,9 @@ Configuration Example { AADAuthenticationMethodPolicyTemporary "AADAuthenticationMethodPolicyTemporary-TemporaryAccessPass" { - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DefaultLength = 9; # Updated Property DefaultLifetimeInMinutes = 60; Ensure = "Present"; @@ -127,11 +136,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -139,7 +155,9 @@ Configuration Example { AADAuthenticationMethodPolicyTemporary "AADAuthenticationMethodPolicyTemporary-TemporaryAccessPass" { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Absent"; Id = "TemporaryAccessPass"; } diff --git a/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicyVoice.md b/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicyVoice.md index 96f900b4fa..a76a6370ef 100644 --- a/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicyVoice.md +++ b/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicyVoice.md @@ -77,11 +77,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -89,7 +96,9 @@ Configuration Example { AADAuthenticationMethodPolicyVoice "AADAuthenticationMethodPolicyVoice-Voice" { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Absent"; Id = "Voice"; } diff --git a/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicyX509.md b/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicyX509.md index 5789bc2a27..19440efafb 100644 --- a/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicyX509.md +++ b/docs/docs/resources/azure-ad/AADAuthenticationMethodPolicyX509.md @@ -108,11 +108,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -141,7 +148,9 @@ Configuration Example X509CertificateField = 'SubjectKeyIdentifier' } ); - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; ExcludeTargets = @( MSFT_AADAuthenticationMethodPolicyX509ExcludeTarget{ @@ -182,7 +191,9 @@ Configuration Example { AADAuthenticationMethodPolicyX509 "AADAuthenticationMethodPolicyX509-X509Certificate" { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Absent"; Id = "X509Certificate"; } diff --git a/docs/docs/resources/azure-ad/AADAuthenticationStrengthPolicy.md b/docs/docs/resources/azure-ad/AADAuthenticationStrengthPolicy.md index c984932e90..97e991de71 100644 --- a/docs/docs/resources/azure-ad/AADAuthenticationStrengthPolicy.md +++ b/docs/docs/resources/azure-ad/AADAuthenticationStrengthPolicy.md @@ -58,11 +58,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -74,7 +81,9 @@ Configuration Example Description = "This is an example"; DisplayName = "Example"; Ensure = "Present"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -88,11 +97,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -104,7 +120,9 @@ Configuration Example Description = "This is an example"; DisplayName = "Example"; Ensure = "Present"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -118,11 +136,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -132,7 +157,9 @@ Configuration Example { DisplayName = "Example"; Ensure = "Absent"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/azure-ad/AADAuthorizationPolicy.md b/docs/docs/resources/azure-ad/AADAuthorizationPolicy.md index 3fab6e12e0..48e254f332 100644 --- a/docs/docs/resources/azure-ad/AADAuthorizationPolicy.md +++ b/docs/docs/resources/azure-ad/AADAuthorizationPolicy.md @@ -83,11 +83,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -110,7 +117,9 @@ Configuration Example GuestUserRole = 'Guest' PermissionGrantPolicyIdsAssignedToDefaultUserRole = @() Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/azure-ad/AADConditionalAccessPolicy.md b/docs/docs/resources/azure-ad/AADConditionalAccessPolicy.md index 166950184d..6c9999834d 100644 --- a/docs/docs/resources/azure-ad/AADConditionalAccessPolicy.md +++ b/docs/docs/resources/azure-ad/AADConditionalAccessPolicy.md @@ -98,11 +98,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -112,7 +119,9 @@ Configuration Example { BuiltInControls = @("mfa"); ClientAppTypes = @("all"); - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DeviceFilterMode = "exclude"; DeviceFilterRule = "device.trustType -eq `"AzureAD`" -or device.trustType -eq `"ServerAD`" -or device.trustType -eq `"Workplace`""; DisplayName = "Example CAP"; @@ -139,11 +148,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -153,7 +169,9 @@ Configuration Example { BuiltInControls = @("mfa"); ClientAppTypes = @("all"); - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DeviceFilterMode = "exclude"; DeviceFilterRule = "device.trustType -eq `"AzureAD`" -or device.trustType -eq `"ServerAD`" -or device.trustType -eq `"Workplace`""; DisplayName = "Example CAP"; @@ -180,11 +198,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -194,7 +219,9 @@ Configuration Example { DisplayName = 'Example CAP' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/azure-ad/AADCrossTenantAccessPolicy.md b/docs/docs/resources/azure-ad/AADCrossTenantAccessPolicy.md index b8a35807d8..d696e17aa7 100644 --- a/docs/docs/resources/azure-ad/AADCrossTenantAccessPolicy.md +++ b/docs/docs/resources/azure-ad/AADCrossTenantAccessPolicy.md @@ -58,9 +58,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -69,7 +77,9 @@ Configuration Example AADCrossTenantAccessPolicy "AADCrossTenantAccessPolicy" { AllowedCloudEndpoints = @("microsoftonline.us"); - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DisplayName = "MyXTAPPolicy"; Ensure = "Present"; IsSingleInstance = "Yes"; diff --git a/docs/docs/resources/azure-ad/AADCrossTenantAccessPolicyConfigurationDefault.md b/docs/docs/resources/azure-ad/AADCrossTenantAccessPolicyConfigurationDefault.md index c7641d1bfe..ab8bb5d801 100644 --- a/docs/docs/resources/azure-ad/AADCrossTenantAccessPolicyConfigurationDefault.md +++ b/docs/docs/resources/azure-ad/AADCrossTenantAccessPolicyConfigurationDefault.md @@ -98,9 +98,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -188,7 +196,9 @@ Configuration Example ) } } - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; InboundTrust = MSFT_AADCrossTenantAccessPolicyInboundTrust { IsCompliantDeviceAccepted = $False diff --git a/docs/docs/resources/azure-ad/AADCrossTenantAccessPolicyConfigurationPartner.md b/docs/docs/resources/azure-ad/AADCrossTenantAccessPolicyConfigurationPartner.md index de93aeb652..f864be9bd8 100644 --- a/docs/docs/resources/azure-ad/AADCrossTenantAccessPolicyConfigurationPartner.md +++ b/docs/docs/resources/azure-ad/AADCrossTenantAccessPolicyConfigurationPartner.md @@ -108,9 +108,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -143,7 +151,9 @@ Configuration Example ) } }; - Credential = $credsCredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; } } @@ -159,9 +169,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -194,7 +212,9 @@ Configuration Example ) } }; - Credential = $credsCredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; } } @@ -210,9 +230,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -220,7 +248,9 @@ Configuration Example { AADCrossTenantAccessPolicyConfigurationPartner "AADCrossTenantAccessPolicyConfigurationPartner" { - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Absent"; PartnerTenantId = "12345-12345-12345-12345-12345"; } diff --git a/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackage.md b/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackage.md index 8e7e27ec9a..0c50a322d3 100644 --- a/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackage.md +++ b/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackage.md @@ -75,9 +75,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -87,7 +95,9 @@ Configuration Example { AccessPackagesIncompatibleWith = @(); CatalogId = "General"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Description = "Integration Tests"; DisplayName = "Integration Package"; Ensure = "Present"; @@ -107,9 +117,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -119,7 +137,9 @@ Configuration Example { AccessPackagesIncompatibleWith = @(); CatalogId = "General"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Description = "Integration Tests"; DisplayName = "Integration Package"; Ensure = "Present"; @@ -139,9 +159,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -151,7 +179,9 @@ Configuration Example { DisplayName = 'Integration Package' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalog.md b/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalog.md index 98cf826d55..2c8685fc73 100644 --- a/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalog.md +++ b/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalog.md @@ -61,9 +61,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -78,7 +86,9 @@ Configuration Example IsExternallyVisible = $True Managedidentity = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -93,9 +103,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -110,7 +128,9 @@ Configuration Example IsExternallyVisible = $False # Updated Property Managedidentity = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -125,9 +145,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -137,7 +165,9 @@ Configuration Example { DisplayName = 'My Catalog' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md b/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md index 9b8c17ab51..84558df93d 100644 --- a/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md +++ b/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md @@ -140,9 +140,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -160,7 +168,9 @@ Configuration Example ResourceType = 'SharePoint Online Site' Url = "https://$($Domain.Split('.')[0]).sharepoint.com/sites/HumanResources" Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -175,9 +185,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -195,7 +213,9 @@ Configuration Example ResourceType = 'SharePoint Online Site' Url = "https://$($Domain.Split('.')[0]).sharepoint.com/sites/HumanResources" Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -210,9 +230,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -222,7 +250,9 @@ Configuration Example { DisplayName = 'Communication site' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/azure-ad/AADEntitlementManagementConnectedOrganization.md b/docs/docs/resources/azure-ad/AADEntitlementManagementConnectedOrganization.md index aa89bc9871..7c614518b6 100644 --- a/docs/docs/resources/azure-ad/AADEntitlementManagementConnectedOrganization.md +++ b/docs/docs/resources/azure-ad/AADEntitlementManagementConnectedOrganization.md @@ -75,20 +75,27 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADEntitlementManagementConnectedOrganization 'MyConnectedOrganization' { Description = "this is the tenant partner"; DisplayName = "Test Tenant - DSC"; - ExternalSponsors = @("AdeleV@$Domain"); + ExternalSponsors = @("AdeleV@$TenantId"); IdentitySources = @( MSFT_AADEntitlementManagementConnectedOrganizationIdentitySource{ ExternalTenantId = "e7a80bcf-696e-40ca-8775-a7f85fbb3ebc" @@ -96,10 +103,12 @@ Configuration Example odataType = '#microsoft.graph.azureActiveDirectoryTenant' } ); - InternalSponsors = @("AdeleV@$Domain"); + InternalSponsors = @("AdeleV@$TenantId"); State = "configured"; Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -114,20 +123,27 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADEntitlementManagementConnectedOrganization 'MyConnectedOrganization' { Description = "This is the tenant partner - Updated"; # Updated Property DisplayName = "Test Tenant - DSC"; - ExternalSponsors = @("AdeleV@$Domain"); + ExternalSponsors = @("AdeleV@$TenantId"); IdentitySources = @( MSFT_AADEntitlementManagementConnectedOrganizationIdentitySource{ ExternalTenantId = "e7a80bcf-696e-40ca-8775-a7f85fbb3ebc" @@ -135,10 +151,12 @@ Configuration Example odataType = '#microsoft.graph.azureActiveDirectoryTenant' } ); - InternalSponsors = @("AdeleV@$Domain"); + InternalSponsors = @("AdeleV@$TenantId"); State = "configured"; Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -153,9 +171,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -165,7 +191,9 @@ Configuration Example { DisplayName = "Test Tenant - DSC"; Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/azure-ad/AADEntitlementManagementRoleAssignment.md b/docs/docs/resources/azure-ad/AADEntitlementManagementRoleAssignment.md index 0370fd5913..f9c3bbfb34 100644 --- a/docs/docs/resources/azure-ad/AADEntitlementManagementRoleAssignment.md +++ b/docs/docs/resources/azure-ad/AADEntitlementManagementRoleAssignment.md @@ -60,21 +60,30 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADEntitlementManagementRoleAssignment "AADEntitlementManagementRoleAssignment-Create" { AppScopeId = "/"; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; - Principal = "John.Smith@$Domain"; + Principal = "John.Smith@$TenantId"; RoleDefinition = "Catalog creator"; } } @@ -90,21 +99,30 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADEntitlementManagementRoleAssignment "AADEntitlementManagementRoleAssignment-Remove" { AppScopeId = "/"; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Absent"; - Principal = "John.Smith@$Domain"; + Principal = "John.Smith@$TenantId"; RoleDefinition = "Catalog creator"; } } diff --git a/docs/docs/resources/azure-ad/AADExternalIdentityPolicy.md b/docs/docs/resources/azure-ad/AADExternalIdentityPolicy.md index f44a35cb37..b924f4faaf 100644 --- a/docs/docs/resources/azure-ad/AADExternalIdentityPolicy.md +++ b/docs/docs/resources/azure-ad/AADExternalIdentityPolicy.md @@ -55,11 +55,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -70,7 +77,9 @@ Configuration Example { AllowDeletedIdentitiesDataRemoval = $False; AllowExternalIdentitiesToLeave = $True; - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint IsSingleInstance = "Yes"; } } diff --git a/docs/docs/resources/azure-ad/AADGroup.md b/docs/docs/resources/azure-ad/AADGroup.md index da1d4c8760..c9a32bcf2e 100644 --- a/docs/docs/resources/azure-ad/AADGroup.md +++ b/docs/docs/resources/azure-ad/AADGroup.md @@ -81,12 +81,19 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { @@ -99,9 +106,11 @@ Configuration Example GroupTypes = @("Unified") MailNickname = "M365DSC" Visibility = "Private" - Owners = @("admin@$Domain", "AdeleV@$Domain") + Owners = @("admin@$TenantId", "AdeleV@$TenantId") Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -116,12 +125,19 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADGroup 'MyGroups' @@ -133,9 +149,11 @@ Configuration Example GroupTypes = @("Unified") MailNickname = "M365DSC" Visibility = "Private" - Owners = @("admin@$Domain", "AdeleV@$Domain") + Owners = @("admin@$TenantId", "AdeleV@$TenantId") Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -150,9 +168,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -165,7 +191,9 @@ Configuration Example MailEnabled = $True DisplayName = "DSCGroup" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/azure-ad/AADGroupLifecyclePolicy.md b/docs/docs/resources/azure-ad/AADGroupLifecyclePolicy.md index 0927a1e338..14b00a6227 100644 --- a/docs/docs/resources/azure-ad/AADGroupLifecyclePolicy.md +++ b/docs/docs/resources/azure-ad/AADGroupLifecyclePolicy.md @@ -58,9 +58,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -69,11 +77,13 @@ Configuration Example AADGroupLifecyclePolicy 'GroupLifecyclePolicy' { IsSingleInstance = "Yes" - AlternateNotificationEmails = @("john.smith@contoso.com") + AlternateNotificationEmails = @("john.smith@$TenantId") GroupLifetimeInDays = 99 ManagedGroupTypes = "Selected" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -88,9 +98,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -99,11 +117,13 @@ Configuration Example AADGroupLifecyclePolicy 'GroupLifecyclePolicy' { IsSingleInstance = "Yes" - AlternateNotificationEmails = @("john.smith@contoso.com") + AlternateNotificationEmails = @("john.smith@$TenantId") GroupLifetimeInDays = 99 ManagedGroupTypes = "Selected" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/azure-ad/AADGroupsNamingPolicy.md b/docs/docs/resources/azure-ad/AADGroupsNamingPolicy.md index 8330417501..eb62239af4 100644 --- a/docs/docs/resources/azure-ad/AADGroupsNamingPolicy.md +++ b/docs/docs/resources/azure-ad/AADGroupsNamingPolicy.md @@ -57,9 +57,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -71,7 +79,9 @@ Configuration Example CustomBlockedWordsList = @("CEO", "President") PrefixSuffixNamingRequirement = "[Title]Test[Company][GroupName][Office]Redmond" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -86,9 +96,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -98,7 +116,9 @@ Configuration Example { IsSingleInstance = "Yes" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/azure-ad/AADGroupsSettings.md b/docs/docs/resources/azure-ad/AADGroupsSettings.md index 38d9bd215c..1bdb022d83 100644 --- a/docs/docs/resources/azure-ad/AADGroupsSettings.md +++ b/docs/docs/resources/azure-ad/AADGroupsSettings.md @@ -66,9 +66,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -85,7 +93,9 @@ Configuration Example GuestUsageGuidelinesUrl = "https://contoso.com/guestusage" UsageGuidelinesUrl = "https://contoso.com/usage" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -100,9 +110,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -112,7 +130,9 @@ Configuration Example { IsSingleInstance = "Yes" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/azure-ad/AADNamedLocationPolicy.md b/docs/docs/resources/azure-ad/AADNamedLocationPolicy.md index d39f1b3624..543d44d66f 100644 --- a/docs/docs/resources/azure-ad/AADNamedLocationPolicy.md +++ b/docs/docs/resources/azure-ad/AADNamedLocationPolicy.md @@ -62,9 +62,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -77,7 +85,9 @@ Configuration Example IsTrusted = $False OdataType = "#microsoft.graph.ipNamedLocation" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -92,9 +102,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -107,7 +125,9 @@ Configuration Example IsTrusted = $False OdataType = "#microsoft.graph.ipNamedLocation" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -122,9 +142,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -134,7 +162,9 @@ Configuration Example { DisplayName = "Company Network" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/azure-ad/AADRoleDefinition.md b/docs/docs/resources/azure-ad/AADRoleDefinition.md index ac11d0fee9..0e1833f242 100644 --- a/docs/docs/resources/azure-ad/AADRoleDefinition.md +++ b/docs/docs/resources/azure-ad/AADRoleDefinition.md @@ -65,9 +65,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -82,7 +90,9 @@ Configuration Example RolePermissions = "microsoft.directory/applicationPolicies/allProperties/read","microsoft.directory/applicationPolicies/allProperties/update","microsoft.directory/applicationPolicies/basic/update" Version = "1.0" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -97,9 +107,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -114,7 +132,9 @@ Configuration Example RolePermissions = "microsoft.directory/applicationPolicies/allProperties/read","microsoft.directory/applicationPolicies/allProperties/update","microsoft.directory/applicationPolicies/basic/update" Version = "1.0" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -129,9 +149,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -143,7 +171,9 @@ Configuration Example RolePermissions = "microsoft.directory/applicationPolicies/allProperties/read" DisplayName = "DSCRole1" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/azure-ad/AADRoleEligibilityScheduleRequest.md b/docs/docs/resources/azure-ad/AADRoleEligibilityScheduleRequest.md index 6d64b26924..112b40bd04 100644 --- a/docs/docs/resources/azure-ad/AADRoleEligibilityScheduleRequest.md +++ b/docs/docs/resources/azure-ad/AADRoleEligibilityScheduleRequest.md @@ -138,17 +138,18 @@ Configuration Example Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADRoleEligibilityScheduleRequest "MyRequest" { Action = "AdminAssign"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DirectoryScopeId = "/"; Ensure = "Present"; IsValidationOnly = $False; - Principal = "AdeleV@$Domain"; + Principal = "AdeleV@$TenantId"; RoleDefinition = "Teams Communications Administrator"; ScheduleInfo = MSFT_AADRoleEligibilityScheduleRequestSchedule { startDateTime = '2023-09-01T02:40:44Z' @@ -180,17 +181,18 @@ Configuration Example Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADRoleEligibilityScheduleRequest "MyRequest" { Action = "AdminUpdate"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DirectoryScopeId = "/"; Ensure = "Present"; IsValidationOnly = $False; - Principal = "AdeleV@$Domain"; + Principal = "AdeleV@$TenantId"; RoleDefinition = "Teams Communications Administrator"; ScheduleInfo = MSFT_AADRoleEligibilityScheduleRequestSchedule { startDateTime = '2023-09-01T02:45:44Z' # Updated Property @@ -227,11 +229,13 @@ Configuration Example AADRoleEligibilityScheduleRequest "MyRequest" { Action = "AdminAssign"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DirectoryScopeId = "/"; Ensure = "Absent"; IsValidationOnly = $True; # Updated Property - Principal = "John.Smith@$OrganizationName"; + Principal = "AdeleV@$TenantId"; RoleDefinition = "Teams Communications Administrator"; ScheduleInfo = MSFT_AADRoleEligibilityScheduleRequestSchedule { startDateTime = '2023-09-01T02:40:44Z' diff --git a/docs/docs/resources/azure-ad/AADRoleSetting.md b/docs/docs/resources/azure-ad/AADRoleSetting.md index 935ca93ce3..33484e1065 100644 --- a/docs/docs/resources/azure-ad/AADRoleSetting.md +++ b/docs/docs/resources/azure-ad/AADRoleSetting.md @@ -99,9 +99,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -148,7 +156,9 @@ Configuration Example ExpireEligibleAssignment = "P365D"; PermanentActiveAssignmentisExpirationRequired = $False; PermanentEligibleAssignmentisExpirationRequired = $False; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = 'Present' } } diff --git a/docs/docs/resources/azure-ad/AADSecurityDefaults.md b/docs/docs/resources/azure-ad/AADSecurityDefaults.md index 13a46da3f5..ecdda35cdb 100644 --- a/docs/docs/resources/azure-ad/AADSecurityDefaults.md +++ b/docs/docs/resources/azure-ad/AADSecurityDefaults.md @@ -58,9 +58,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -68,7 +76,9 @@ Configuration Example { AADSecurityDefaults 'Defaults' { - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Description = "Security defaults is a set of basic identity security mechanisms recommended by Microsoft. When enabled, these recommendations will be automatically enforced in your organization. Administrators and users will be better protected from common identity related attacks."; DisplayName = "Security Defaults"; IsEnabled = $False; diff --git a/docs/docs/resources/azure-ad/AADServicePrincipal.md b/docs/docs/resources/azure-ad/AADServicePrincipal.md index 2bd9e35831..ea0b418f8f 100644 --- a/docs/docs/resources/azure-ad/AADServicePrincipal.md +++ b/docs/docs/resources/azure-ad/AADServicePrincipal.md @@ -79,13 +79,20 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADServicePrincipal 'AADServicePrincipal' @@ -95,13 +102,15 @@ Configuration Example AlternativeNames = "AlternativeName1","AlternativeName2" AccountEnabled = $true AppRoleAssignmentRequired = $false - Homepage = "https://$Domain" - LogoutUrl = "https://$Domain/logout" - ReplyURLs = "https://$Domain" + Homepage = "https://$TenantId" + LogoutUrl = "https://$TenantId/logout" + ReplyURLs = "https://$TenantId" ServicePrincipalType = "Application" Tags = "{WindowsAzureActiveDirectoryIntegratedApp}" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -116,13 +125,20 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADServicePrincipal 'AADServicePrincipal' @@ -132,13 +148,15 @@ Configuration Example AlternativeNames = "AlternativeName1","AlternativeName3" # Updated Property AccountEnabled = $true AppRoleAssignmentRequired = $false - Homepage = "https://$Domain" - LogoutUrl = "https://$Domain/logout" - ReplyURLs = "https://$Domain" + Homepage = "https://$TenantId" + LogoutUrl = "https://$TenantId/logout" + ReplyURLs = "https://$TenantId" ServicePrincipalType = "Application" Tags = "{WindowsAzureActiveDirectoryIntegratedApp}" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -153,9 +171,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -166,7 +192,9 @@ Configuration Example AppId = "AppDisplayName" DisplayName = "AppDisplayName" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/azure-ad/AADSocialIdentityProvider.md b/docs/docs/resources/azure-ad/AADSocialIdentityProvider.md index f0bf04e72a..2472e76d61 100644 --- a/docs/docs/resources/azure-ad/AADSocialIdentityProvider.md +++ b/docs/docs/resources/azure-ad/AADSocialIdentityProvider.md @@ -60,11 +60,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -75,7 +82,9 @@ Configuration Example { ClientId = "Google-OAUTH"; ClientSecret = "FakeSecret"; - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DisplayName = "My Google Provider"; Ensure = "Present"; IdentityProviderType = "Google"; @@ -92,11 +101,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -107,7 +123,9 @@ Configuration Example { ClientId = "Google-OAUTH"; ClientSecret = "FakeSecret-Updated"; # Updated Property - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DisplayName = "My Google Provider"; Ensure = "Present"; IdentityProviderType = "Google"; @@ -124,11 +142,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -139,7 +164,9 @@ Configuration Example { ClientId = "Google-OAUTH"; ClientSecret = "FakeSecret-Updated"; # Updated Property - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DisplayName = "My Google Provider"; Ensure = "Absent"; IdentityProviderType = "Google"; diff --git a/docs/docs/resources/azure-ad/AADTenantDetails.md b/docs/docs/resources/azure-ad/AADTenantDetails.md index 47f811507a..22b442721c 100644 --- a/docs/docs/resources/azure-ad/AADTenantDetails.md +++ b/docs/docs/resources/azure-ad/AADTenantDetails.md @@ -59,10 +59,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { param( - [System.Management.Automation.PSCredential] - $credsCredential - ) + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + [Parameter()] + [System.String] + $CertificateThumbprint + ) Import-DscResource -ModuleName Microsoft365DSC Node Localhost @@ -72,7 +80,9 @@ Configuration Example { IsSingleInstance = 'Yes' TechnicalNotificationMails = "example@contoso.com" MarketingNotificationEmails = "example@contoso.com" - Credential = $credsCredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/azure-ad/AADTokenLifetimePolicy.md b/docs/docs/resources/azure-ad/AADTokenLifetimePolicy.md index c52961807a..172290d023 100644 --- a/docs/docs/resources/azure-ad/AADTokenLifetimePolicy.md +++ b/docs/docs/resources/azure-ad/AADTokenLifetimePolicy.md @@ -59,9 +59,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -73,7 +81,9 @@ Configuration Example Definition = @("{`"TokenLifetimePolicy`":{`"Version`":1,`"AccessTokenLifetime`":`"02:00:00`"}}"); IsOrganizationDefault = $false Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -88,9 +98,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -102,7 +120,9 @@ Configuration Example Definition = @("{`"TokenLifetimePolicy`":{`"Version`":1,`"AccessTokenLifetime`":`"02:00:00`"}}"); IsOrganizationDefault = $true # Updated Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -117,9 +137,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -129,7 +157,9 @@ Configuration Example { DisplayName = "PolicyDisplayName" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/azure-ad/AADUser.md b/docs/docs/resources/azure-ad/AADUser.md index 7beee6094b..8a53f0316d 100644 --- a/docs/docs/resources/azure-ad/AADUser.md +++ b/docs/docs/resources/azure-ad/AADUser.md @@ -80,18 +80,25 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADUser 'ConfigureJohnSMith' { - UserPrincipalName = "John.Smith@$Domain" + UserPrincipalName = "John.Smith@$TenantId" FirstName = "John" LastName = "Smith" DisplayName = "John J. Smith" @@ -100,7 +107,9 @@ Configuration Example Office = "Ottawa - Queen" UsageLocation = "US" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -115,18 +124,25 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADUser 'ConfigureJohnSMith' { - UserPrincipalName = "John.Smith@$Domain" + UserPrincipalName = "John.Smith@$TenantId" FirstName = "John" LastName = "Smith" DisplayName = "John J. Smith" @@ -135,7 +151,9 @@ Configuration Example Office = "Ottawa - Queen" UsageLocation = "US" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -150,21 +168,30 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADUser 'ConfigureJohnSMith' { - UserPrincipalName = "John.Smith@$Domain" + UserPrincipalName = "John.Smith@$TenantId" DisplayName = "John J. Smith" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } From e9a27e966073640c8dc7a55a5e7002c1137961da Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Thu, 11 Jul 2024 19:09:51 +0000 Subject: [PATCH 005/123] Updated {Create} EXO Integration Tests --- .../M365DSCIntegration.EXO.Create.Tests.ps1 | 30 ++++++++++++++----- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Create.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Create.Tests.ps1 index b1b1aca5d5..5d0291451f 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Create.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Create.Tests.ps1 @@ -1,21 +1,37 @@ param ( [Parameter()] - [System.Management.Automation.PSCredential] - $Credential + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Configuration Master { param ( - [Parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] + $Domain = $TenantId Node Localhost { EXOAcceptedDomain 'O365DSCDomain' @@ -794,7 +810,7 @@ # Compile and deploy configuration try { - Master -ConfigurationData $ConfigurationData -Credscredential $Credential + Master -ConfigurationData $ConfigurationData -ApplicationId $ApplicationId -TenantId $TenantId -CertificateThumbprint $CertificateThumbprint Start-DscConfiguration Master -Wait -Force -Verbose -ErrorAction Stop } catch From 70a28acd81caacd460460eb2b3c58d1dc3398dde Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Thu, 11 Jul 2024 19:10:09 +0000 Subject: [PATCH 006/123] Updated {Create} Intune Integration Tests --- ...M365DSCIntegration.INTUNE.Create.Tests.ps1 | 30 ++++++++++++++----- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.INTUNE.Create.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.INTUNE.Create.Tests.ps1 index 71cbbb9dc0..4650b4880f 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.INTUNE.Create.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.INTUNE.Create.Tests.ps1 @@ -1,21 +1,37 @@ param ( [Parameter()] - [System.Management.Automation.PSCredential] - $Credential + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Configuration Master { param ( - [Parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] + $Domain = $TenantId Node Localhost { IntuneAccountProtectionLocalAdministratorPasswordSolutionPolicy 'My Account Protection LAPS Policy' @@ -2702,7 +2718,7 @@ # Compile and deploy configuration try { - Master -ConfigurationData $ConfigurationData -Credscredential $Credential + Master -ConfigurationData $ConfigurationData -ApplicationId $ApplicationId -TenantId $TenantId -CertificateThumbprint $CertificateThumbprint Start-DscConfiguration Master -Wait -Force -Verbose -ErrorAction Stop } catch From 46faf98d0067536c0dff77c5abc686a5afaf68c7 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Thu, 11 Jul 2024 15:32:42 -0400 Subject: [PATCH 007/123] Update Scheduled - Generate Permission List.yml --- .github/workflows/Scheduled - Generate Permission List.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Scheduled - Generate Permission List.yml b/.github/workflows/Scheduled - Generate Permission List.yml index 7196b559d6..fd34ba8d68 100644 --- a/.github/workflows/Scheduled - Generate Permission List.yml +++ b/.github/workflows/Scheduled - Generate Permission List.yml @@ -1,9 +1,9 @@ -name: Unit Tests +name: Generate Permissions List on: [push, pull_request] jobs: # This workflow contains a single job called "build" - UnitTests: + GeneratePermissionsList: # The type of runner that the job will run on runs-on: windows-latest From 08d56cfa4f3e1a9b221736d299fd5e106e2532b3 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Thu, 11 Jul 2024 19:34:14 +0000 Subject: [PATCH 008/123] Updated {Create} AAD Integration Tests --- .../M365DSCIntegration.AAD.Create.Tests.ps1 | 128 +++++++++++++----- 1 file changed, 92 insertions(+), 36 deletions(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 index 6f8c8a7041..6b22978208 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 @@ -1,21 +1,37 @@ param ( [Parameter()] - [System.Management.Automation.PSCredential] - $Credential + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Configuration Master { param ( - [Parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] + $Domain = $TenantId Node Localhost { AADAdministrativeUnit 'TestUnit' @@ -36,7 +52,9 @@ } } ) - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADApplication 'AADApp1' { @@ -74,11 +92,15 @@ } ) Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADAttributeSet 'AADAttributeSetTest' { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Description = "Attribute set with 420 attributes"; Ensure = "Present"; Id = "TestAttributeSet"; @@ -86,7 +108,9 @@ } AADAuthenticationContextClassReference 'AADAuthenticationContextClassReference-Test' { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Description = "Context test"; DisplayName = "My Context"; Ensure = "Present"; @@ -99,13 +123,17 @@ Description = "This is an example"; DisplayName = "Example"; Ensure = "Present"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADConditionalAccessPolicy 'ConditionalAccessPolicy' { BuiltInControls = @("mfa"); ClientAppTypes = @("all"); - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DeviceFilterMode = "exclude"; DeviceFilterRule = "device.trustType -eq `"AzureAD`" -or device.trustType -eq `"ServerAD`" -or device.trustType -eq `"Workplace`""; DisplayName = "Example CAP"; @@ -147,14 +175,18 @@ ) } }; - Credential = $credsCredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; } AADEntitlementManagementAccessPackage 'myAccessPackage' { AccessPackagesIncompatibleWith = @(); CatalogId = "General"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Description = "Integration Tests"; DisplayName = "Integration Package"; Ensure = "Present"; @@ -197,7 +229,9 @@ IsExternallyVisible = $True Managedidentity = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { @@ -210,13 +244,15 @@ ResourceType = 'SharePoint Online Site' Url = "https://$($Domain.Split('.')[0]).sharepoint.com/sites/HumanResources" Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADEntitlementManagementConnectedOrganization 'MyConnectedOrganization' { Description = "this is the tenant partner"; DisplayName = "Test Tenant - DSC"; - ExternalSponsors = @("AdeleV@$Domain"); + ExternalSponsors = @("AdeleV@$TenantId"); IdentitySources = @( MSFT_AADEntitlementManagementConnectedOrganizationIdentitySource{ ExternalTenantId = "e7a80bcf-696e-40ca-8775-a7f85fbb3ebc" @@ -224,17 +260,21 @@ odataType = '#microsoft.graph.azureActiveDirectoryTenant' } ); - InternalSponsors = @("AdeleV@$Domain"); + InternalSponsors = @("AdeleV@$TenantId"); State = "configured"; Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADEntitlementManagementRoleAssignment 'AADEntitlementManagementRoleAssignment-Create' { AppScopeId = "/"; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; - Principal = "John.Smith@$Domain"; + Principal = "John.Smith@$TenantId"; RoleDefinition = "Catalog creator"; } AADGroup 'MyGroups' @@ -246,9 +286,11 @@ GroupTypes = @("Unified") MailNickname = "M365DSC" Visibility = "Private" - Owners = @("admin@$Domain", "AdeleV@$Domain") + Owners = @("admin@$TenantId", "AdeleV@$TenantId") Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADNamedLocationPolicy 'CompanyNetwork' { @@ -257,7 +299,9 @@ IsTrusted = $False OdataType = "#microsoft.graph.ipNamedLocation" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADRoleDefinition 'AADRoleDefinition1' { @@ -268,16 +312,20 @@ RolePermissions = "microsoft.directory/applicationPolicies/allProperties/read","microsoft.directory/applicationPolicies/allProperties/update","microsoft.directory/applicationPolicies/basic/update" Version = "1.0" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADRoleEligibilityScheduleRequest 'MyRequest' { Action = "AdminAssign"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DirectoryScopeId = "/"; Ensure = "Present"; IsValidationOnly = $False; - Principal = "AdeleV@$Domain"; + Principal = "AdeleV@$TenantId"; RoleDefinition = "Teams Communications Administrator"; ScheduleInfo = MSFT_AADRoleEligibilityScheduleRequestSchedule { startDateTime = '2023-09-01T02:40:44Z' @@ -295,19 +343,23 @@ AlternativeNames = "AlternativeName1","AlternativeName2" AccountEnabled = $true AppRoleAssignmentRequired = $false - Homepage = "https://$Domain" - LogoutUrl = "https://$Domain/logout" - ReplyURLs = "https://$Domain" + Homepage = "https://$TenantId" + LogoutUrl = "https://$TenantId/logout" + ReplyURLs = "https://$TenantId" ServicePrincipalType = "Application" Tags = "{WindowsAzureActiveDirectoryIntegratedApp}" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADSocialIdentityProvider 'AADSocialIdentityProvider-Google' { ClientId = "Google-OAUTH"; ClientSecret = "FakeSecret"; - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DisplayName = "My Google Provider"; Ensure = "Present"; IdentityProviderType = "Google"; @@ -318,11 +370,13 @@ Definition = @("{`"TokenLifetimePolicy`":{`"Version`":1,`"AccessTokenLifetime`":`"02:00:00`"}}"); IsOrganizationDefault = $false Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADUser 'ConfigureJohnSMith' { - UserPrincipalName = "John.Smith@$Domain" + UserPrincipalName = "John.Smith@$TenantId" FirstName = "John" LastName = "Smith" DisplayName = "John J. Smith" @@ -331,7 +385,9 @@ Office = "Ottawa - Queen" UsageLocation = "US" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -348,7 +404,7 @@ # Compile and deploy configuration try { - Master -ConfigurationData $ConfigurationData -Credscredential $Credential + Master -ConfigurationData $ConfigurationData -ApplicationId $ApplicationId -TenantId $TenantId -CertificateThumbprint $CertificateThumbprint Start-DscConfiguration Master -Wait -Force -Verbose -ErrorAction Stop } catch From 2613891425d6819c1a69c841ba007dcacd17119b Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Thu, 11 Jul 2024 15:40:53 -0400 Subject: [PATCH 009/123] Update Scheduled - Generate Permission List.yml --- .github/workflows/Scheduled - Generate Permission List.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/Scheduled - Generate Permission List.yml b/.github/workflows/Scheduled - Generate Permission List.yml index fd34ba8d68..30c9ad12bd 100644 --- a/.github/workflows/Scheduled - Generate Permission List.yml +++ b/.github/workflows/Scheduled - Generate Permission List.yml @@ -15,13 +15,10 @@ jobs: # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - name: Checkout Repository - uses: actions/checkout@v3 - - name: Install Dependencies shell: pwsh run: | - Import-Module './Modules/M365DSCUtil.psm1' -Force; + Import-Module '.Modules/Microsoft365DSC/Modules/M365DSCUtil.psm1' -Force; Update-M365DSCModule - name: Get Permissions List shell: pwsh From 3879219adbc72f0a0b7651ebf9e79d8fe1b64633 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Thu, 11 Jul 2024 15:49:16 -0400 Subject: [PATCH 010/123] Update Scheduled - Generate Permission List.yml --- .github/workflows/Scheduled - Generate Permission List.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Scheduled - Generate Permission List.yml b/.github/workflows/Scheduled - Generate Permission List.yml index 30c9ad12bd..6b84b7f0f9 100644 --- a/.github/workflows/Scheduled - Generate Permission List.yml +++ b/.github/workflows/Scheduled - Generate Permission List.yml @@ -18,7 +18,7 @@ jobs: - name: Install Dependencies shell: pwsh run: | - Import-Module '.Modules/Microsoft365DSC/Modules/M365DSCUtil.psm1' -Force; + Import-Module './Modules/Microsoft365DSC/Modules/M365DSCUtil.psm1' -Force; Update-M365DSCModule - name: Get Permissions List shell: pwsh From 539a2d8fb33cacf34d0f26732eafcf3fcb5d1163 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Thu, 11 Jul 2024 15:53:35 -0400 Subject: [PATCH 011/123] Update Scheduled - Generate Permission List.yml --- .github/workflows/Scheduled - Generate Permission List.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/Scheduled - Generate Permission List.yml b/.github/workflows/Scheduled - Generate Permission List.yml index 6b84b7f0f9..f34b1e2b32 100644 --- a/.github/workflows/Scheduled - Generate Permission List.yml +++ b/.github/workflows/Scheduled - Generate Permission List.yml @@ -23,6 +23,7 @@ jobs: - name: Get Permissions List shell: pwsh run: | + get-childitem -recurse Import-Module './Tests/TestHarness.psm1' -Force; $permissions = Get-M365DSCAllGraphPermissionsList $permission - join ',' | Out-File '.\Tests\QA\Graph.PermissionList.txt' From a550dc87bb4d2459e22b0662d536aec4ddee5684 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Thu, 11 Jul 2024 15:54:39 -0400 Subject: [PATCH 012/123] Update Scheduled - Generate Permission List.yml --- .github/workflows/Scheduled - Generate Permission List.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Scheduled - Generate Permission List.yml b/.github/workflows/Scheduled - Generate Permission List.yml index f34b1e2b32..d74d9d99f3 100644 --- a/.github/workflows/Scheduled - Generate Permission List.yml +++ b/.github/workflows/Scheduled - Generate Permission List.yml @@ -18,12 +18,12 @@ jobs: - name: Install Dependencies shell: pwsh run: | + get-childitem -recurse Import-Module './Modules/Microsoft365DSC/Modules/M365DSCUtil.psm1' -Force; Update-M365DSCModule - name: Get Permissions List shell: pwsh run: | - get-childitem -recurse Import-Module './Tests/TestHarness.psm1' -Force; $permissions = Get-M365DSCAllGraphPermissionsList $permission - join ',' | Out-File '.\Tests\QA\Graph.PermissionList.txt' From fe972ff64937baa10da3763bee97b73f34a2fb60 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Thu, 11 Jul 2024 15:57:33 -0400 Subject: [PATCH 013/123] Update Scheduled - Generate Permission List.yml --- .../workflows/Scheduled - Generate Permission List.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Scheduled - Generate Permission List.yml b/.github/workflows/Scheduled - Generate Permission List.yml index d74d9d99f3..7995b6eb71 100644 --- a/.github/workflows/Scheduled - Generate Permission List.yml +++ b/.github/workflows/Scheduled - Generate Permission List.yml @@ -1,4 +1,4 @@ -name: Generate Permissions List + name: Generate Permissions List on: [push, pull_request] jobs: @@ -15,10 +15,14 @@ jobs: # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - name: Get Files + shell: pwsh + run: | + $results = get-childitem -recurse | Out-String + Write-Host $results - name: Install Dependencies shell: pwsh run: | - get-childitem -recurse Import-Module './Modules/Microsoft365DSC/Modules/M365DSCUtil.psm1' -Force; Update-M365DSCModule - name: Get Permissions List From 0072fb3233cd4f554bcbbeef115587296df6cf57 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Thu, 11 Jul 2024 16:01:05 -0400 Subject: [PATCH 014/123] Update Scheduled - Generate Permission List.yml --- .github/workflows/Scheduled - Generate Permission List.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Scheduled - Generate Permission List.yml b/.github/workflows/Scheduled - Generate Permission List.yml index 7995b6eb71..74ebceb3fb 100644 --- a/.github/workflows/Scheduled - Generate Permission List.yml +++ b/.github/workflows/Scheduled - Generate Permission List.yml @@ -1,4 +1,4 @@ - name: Generate Permissions List +name: Generate Permissions List on: [push, pull_request] jobs: From 76d979f602ff1dd357d39be52d3dc8a39fa91fd7 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Thu, 11 Jul 2024 17:04:57 -0400 Subject: [PATCH 015/123] Update Scheduled - Generate Permission List.yml --- .../Scheduled - Generate Permission List.yml | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/.github/workflows/Scheduled - Generate Permission List.yml b/.github/workflows/Scheduled - Generate Permission List.yml index 74ebceb3fb..38a52d58b0 100644 --- a/.github/workflows/Scheduled - Generate Permission List.yml +++ b/.github/workflows/Scheduled - Generate Permission List.yml @@ -1,5 +1,5 @@ name: Generate Permissions List -on: [push, pull_request] +on: [push] jobs: # This workflow contains a single job called "build" @@ -15,18 +15,13 @@ jobs: # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - name: Get Files - shell: pwsh - run: | - $results = get-childitem -recurse | Out-String - Write-Host $results - name: Install Dependencies - shell: pwsh + shell: powershell run: | Import-Module './Modules/Microsoft365DSC/Modules/M365DSCUtil.psm1' -Force; Update-M365DSCModule - name: Get Permissions List - shell: pwsh + shell: powershell run: | Import-Module './Tests/TestHarness.psm1' -Force; $permissions = Get-M365DSCAllGraphPermissionsList From ee9d89433b9ee8469d09df95220ca9b78a74f56f Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Thu, 11 Jul 2024 17:06:49 -0400 Subject: [PATCH 016/123] Update Scheduled - Generate Permission List.yml --- .github/workflows/Scheduled - Generate Permission List.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/Scheduled - Generate Permission List.yml b/.github/workflows/Scheduled - Generate Permission List.yml index 38a52d58b0..1e024b613b 100644 --- a/.github/workflows/Scheduled - Generate Permission List.yml +++ b/.github/workflows/Scheduled - Generate Permission List.yml @@ -15,6 +15,9 @@ jobs: # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - name: Checkout Repository + uses: actions/checkout@v3 + - name: Install Dependencies shell: powershell run: | From 870ef0c17ec92ca2cb67600fd0d97dde9d692fc5 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Thu, 11 Jul 2024 17:09:04 -0400 Subject: [PATCH 017/123] Update Scheduled - Generate Permission List.yml --- .github/workflows/Scheduled - Generate Permission List.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Scheduled - Generate Permission List.yml b/.github/workflows/Scheduled - Generate Permission List.yml index 1e024b613b..0eedd7082b 100644 --- a/.github/workflows/Scheduled - Generate Permission List.yml +++ b/.github/workflows/Scheduled - Generate Permission List.yml @@ -21,7 +21,7 @@ jobs: - name: Install Dependencies shell: powershell run: | - Import-Module './Modules/Microsoft365DSC/Modules/M365DSCUtil.psm1' -Force; + Import-Module './Modules/Microsoft365DSC/Microsoft365DSC.psd1' -Force; Update-M365DSCModule - name: Get Permissions List shell: powershell From 1c9bea17df79208b855cd623d386b4518c60eaee Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Thu, 11 Jul 2024 17:11:34 -0400 Subject: [PATCH 018/123] Update Scheduled - Generate Permission List.yml --- .github/workflows/Scheduled - Generate Permission List.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/Scheduled - Generate Permission List.yml b/.github/workflows/Scheduled - Generate Permission List.yml index 0eedd7082b..29c24b3b05 100644 --- a/.github/workflows/Scheduled - Generate Permission List.yml +++ b/.github/workflows/Scheduled - Generate Permission List.yml @@ -21,7 +21,8 @@ jobs: - name: Install Dependencies shell: powershell run: | - Import-Module './Modules/Microsoft365DSC/Microsoft365DSC.psd1' -Force; + Import-Module './Modules/Microsoft365DSC/Microsoft365DSC.psd1' -Force; + Import-Module './Modules/Microsoft365DSC/Modules/M365DSCUtil.psm1' -Force; Update-M365DSCModule - name: Get Permissions List shell: powershell From 149cd55a2e7bed35708aff9bc352b13155d4708d Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Thu, 11 Jul 2024 17:14:18 -0400 Subject: [PATCH 019/123] Update Scheduled - Generate Permission List.yml --- .github/workflows/Scheduled - Generate Permission List.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Scheduled - Generate Permission List.yml b/.github/workflows/Scheduled - Generate Permission List.yml index 29c24b3b05..8d44bc8a10 100644 --- a/.github/workflows/Scheduled - Generate Permission List.yml +++ b/.github/workflows/Scheduled - Generate Permission List.yml @@ -29,7 +29,7 @@ jobs: run: | Import-Module './Tests/TestHarness.psm1' -Force; $permissions = Get-M365DSCAllGraphPermissionsList - $permission - join ',' | Out-File '.\Tests\QA\Graph.PermissionList.txt' + $permission -join ',' | Out-File '.\Tests\QA\Graph.PermissionList.txt' - name: Commit Permissions List shell: powershell run: | From 92163c38442f8686de4ad5f1ef92a8207930d45d Mon Sep 17 00:00:00 2001 From: Fabien Tschanz Date: Thu, 11 Jul 2024 23:25:57 +0200 Subject: [PATCH 020/123] Do not throw if configuration is empty during report generation --- CHANGELOG.md | 7 +++++++ Modules/Microsoft365DSC/Modules/M365DSCReport.psm1 | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f62077cf2..ccfabcca8d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Change log for Microsoft365DSC +# UNRELEASED + +* M365DSCReport + * Changes behaviour to not throw on empty configuration during report generation. + FIXES [#4559](https://github.com/microsoft/Microsoft365DSC/issues/4559) + FIXES [#4505](https://github.com/microsoft/Microsoft365DSC/issues/4505) + # 1.24.710.3 * MISC diff --git a/Modules/Microsoft365DSC/Modules/M365DSCReport.psm1 b/Modules/Microsoft365DSC/Modules/M365DSCReport.psm1 index a92596eb70..d35881b001 100644 --- a/Modules/Microsoft365DSC/Modules/M365DSCReport.psm1 +++ b/Modules/Microsoft365DSC/Modules/M365DSCReport.psm1 @@ -633,7 +633,7 @@ function New-M365DSCReportFromConfiguration } else { - throw "Parsed content was null." + Write-Warning -Message "Parsed content was null. No report was generated." } } From 60a97b1173af5da470d40927d377a7c24a06255a Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Thu, 11 Jul 2024 21:49:11 +0000 Subject: [PATCH 021/123] Updated Graph Permissions List --- Tests/QA/Graph.PermissionList.txt | Bin 0 -> 6 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Tests/QA/Graph.PermissionList.txt diff --git a/Tests/QA/Graph.PermissionList.txt b/Tests/QA/Graph.PermissionList.txt new file mode 100644 index 0000000000000000000000000000000000000000..49cc8ef0e116cef009fe0bd72473a964bbd07f9b GIT binary patch literal 6 NcmezWkC%aq0RRg=0u=xN literal 0 HcmV?d00001 From 943785706258ee4d2dcbbc3391f73f06a38ce781 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Fri, 12 Jul 2024 06:44:13 -0400 Subject: [PATCH 022/123] Update Scheduled - Generate Permission List.yml --- .github/workflows/Scheduled - Generate Permission List.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Scheduled - Generate Permission List.yml b/.github/workflows/Scheduled - Generate Permission List.yml index 8d44bc8a10..3d122e6c3c 100644 --- a/.github/workflows/Scheduled - Generate Permission List.yml +++ b/.github/workflows/Scheduled - Generate Permission List.yml @@ -29,7 +29,7 @@ jobs: run: | Import-Module './Tests/TestHarness.psm1' -Force; $permissions = Get-M365DSCAllGraphPermissionsList - $permission -join ',' | Out-File '.\Tests\QA\Graph.PermissionList.txt' + $permissions -join ',' | Out-File '.\Tests\QA\Graph.PermissionList.txt' - name: Commit Permissions List shell: powershell run: | From 1938d0a4a552138dfe39a1fe25cf902aa95d1aa8 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Fri, 12 Jul 2024 11:20:05 +0000 Subject: [PATCH 023/123] Updated Graph Permissions List --- Tests/QA/Graph.PermissionList.txt | Bin 6 -> 5900 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Tests/QA/Graph.PermissionList.txt b/Tests/QA/Graph.PermissionList.txt index 49cc8ef0e116cef009fe0bd72473a964bbd07f9b..f2a8640678c23b6d93a732cdad679f8a59ea0cf7 100644 GIT binary patch literal 5900 zcmcIo+fLg+5S`~r{S)A&YTr$u6;cr>f%0tP5F&D`?Ox#H+nzIv@tVxy^+FZpX79{7 zJNNb9KbcJNnn{J%7~el-fzMxZp#O3y@GFxgUVHfNTYDuXsl@#@k4ozWCNKS zFrDK{!`+P1Z1YdasKjZ*3!Luv^P8FW-?|1~1$xd$!zL-=U}z7c;QtAjOc4_`UgUBO%QUe@rmQclE1^6YVLk1b zt}B(HvnH!EqnZ3(vSdHYeti~G<|Ms2*LuQyKF7aOYqQHUGW&unE*9EY4r$|#*nirU zZPXKO_kN$IQ^n4~k)5Q;_z6(x@h!Y(=dh19Oh*c%3{19(Om<~c7!2!8eb$N5mcr8a zM4>&QiHI~W#_3C8I!15H0`tu<3 zZ=;7-#c5?{n`$L?j0>$vt~Q2Z<2h!m4x16XK(2Mz-l28h(sYcP$*xmtZEfst`NYCW zk+xW{YI6$N!e1lxAZP3urZxW#E!I61Sa&V`C+HTg8gr-jkMjYunb%7*O5$ZKM9yqC z&^-m(RBd~u5qXEJoVYmSSr#28XCa?qKkSk0(hpu-T4?=ihalwG8K+TV7eEh9TOrh! z<-<%|wW)#2ybte_RfW@+V^+yNYNqRinKJHH9os*S`>v)V_<0QmJSk4$+i&o3c)AE_ z`K&Rr3dBZ8>Qs^31k0(nmJjktKFSFgabl!hmxJtb0Uib3mMuAT@l@m{>#jx9*IV8_ z2aY=z+I2j9-#X#>J*j&h-a|dGkh+}g=MQnR|AP-t54YgW$H#aYHR<_Qf zoJ()v%>tE|E4$u%z*Y9r43ke=XWv45*RDfwjx`?U*x9x2&Q Date: Fri, 12 Jul 2024 08:11:01 -0400 Subject: [PATCH 024/123] Update Scheduled - Generate Permission List.yml --- .github/workflows/Scheduled - Generate Permission List.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/Scheduled - Generate Permission List.yml b/.github/workflows/Scheduled - Generate Permission List.yml index 3d122e6c3c..dd757bd56f 100644 --- a/.github/workflows/Scheduled - Generate Permission List.yml +++ b/.github/workflows/Scheduled - Generate Permission List.yml @@ -1,5 +1,7 @@ name: Generate Permissions List -on: [push] +on: + schedule: + - cron: "0 0 * * *" jobs: # This workflow contains a single job called "build" From 60194b35fa50600542888bd2531ea61ab819412c Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Fri, 12 Jul 2024 08:16:32 -0400 Subject: [PATCH 025/123] Update Microsoft365DSC.SettingsJson.Tests.ps1 --- Tests/QA/Microsoft365DSC.SettingsJson.Tests.ps1 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Tests/QA/Microsoft365DSC.SettingsJson.Tests.ps1 b/Tests/QA/Microsoft365DSC.SettingsJson.Tests.ps1 index 83d7fe119d..06b77a0418 100644 --- a/Tests/QA/Microsoft365DSC.SettingsJson.Tests.ps1 +++ b/Tests/QA/Microsoft365DSC.SettingsJson.Tests.ps1 @@ -17,7 +17,8 @@ Describe -Name 'Successfully import Settings.json files' { Describe -Name 'Successfully validate all used permissions in Settings.json files ' { BeforeAll { - + $permissionsFile = Join-Path -Path $PSScriptRoot -ChildPath '..\..\Tests\QA\Graph.PermissionList.txt' + $roles = (Get-Content $permissionsFile -Raw).Split(',') } It "Permissions used in settings.json file for '' should exist" -TestCases $settingsFiles { From f28496555e1a5f9324661d6eaeaf33b4f34d3efa Mon Sep 17 00:00:00 2001 From: Fabien Tschanz Date: Fri, 24 May 2024 16:31:10 +0200 Subject: [PATCH 026/123] Add Intune Disk Encryption Resource for Windows --- CHANGELOG.md | 10 + .../MSFT_IntuneDiskEncryptionWindows10.psm1 | 1417 +++++++++++++++++ ...T_IntuneDiskEncryptionWindows10.schema.mof | 83 + .../readme.md | 6 + .../settings.json | 29 + .../1-Create.ps1 | 33 + .../2-Update.ps1 | 33 + .../3-Remove.ps1 | 25 + .../Modules/M365DSCDRGUtil.psm1 | 330 ++-- .../M365DSCResourceGenerator.psm1 | 13 +- ResourceGenerator/Module.Template.psm1 | 4 + ...SC.IntuneDiskEncryptionWindows10.Tests.ps1 | 541 +++++++ 12 files changed, 2380 insertions(+), 144 deletions(-) create mode 100644 Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDiskEncryptionWindows10/MSFT_IntuneDiskEncryptionWindows10.psm1 create mode 100644 Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDiskEncryptionWindows10/MSFT_IntuneDiskEncryptionWindows10.schema.mof create mode 100644 Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDiskEncryptionWindows10/readme.md create mode 100644 Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDiskEncryptionWindows10/settings.json create mode 100644 Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionWindows10/1-Create.ps1 create mode 100644 Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionWindows10/2-Update.ps1 create mode 100644 Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionWindows10/3-Remove.ps1 create mode 100644 Tests/Unit/Microsoft365DSC/Microsoft365DSC.IntuneDiskEncryptionWindows10.Tests.ps1 diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f62077cf2..a4ac6363ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Change log for Microsoft365DSC +# UNRELEASED + +* IntuneDiskEncryptionWindows10 + * Initial Release + FIXES [#4050](https://github.com/microsoft/Microsoft365DSC/issues/4050) +* M365DSCDRGUtil + * Fixes an issue with nested and duplicate settings in the settings catalog +* M365DSCResourceGenerator + * Update Intune resource generation. + # 1.24.710.3 * MISC diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDiskEncryptionWindows10/MSFT_IntuneDiskEncryptionWindows10.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDiskEncryptionWindows10/MSFT_IntuneDiskEncryptionWindows10.psm1 new file mode 100644 index 0000000000..36c41b8e6a --- /dev/null +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDiskEncryptionWindows10/MSFT_IntuneDiskEncryptionWindows10.psm1 @@ -0,0 +1,1417 @@ +function Get-TargetResource +{ + [CmdletBinding()] + [OutputType([System.Collections.Hashtable])] + param + ( + #region resource generator code + [Parameter()] + [System.String] + $Description, + + [Parameter(Mandatory = $true)] + [System.String] + $DisplayName, + + [Parameter()] + [System.String[]] + $RoleScopeTagIds, + + [Parameter()] + [System.String] + $Id, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $RequireDeviceEncryption, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $EncryptionMethodWithXts_Name, + + [Parameter()] + [ValidateSet('3', '4', '6', '7')] + [System.String] + $EncryptionMethodWithXtsOsDropDown_Name, + + [Parameter()] + [ValidateSet('3', '4', '6', '7')] + [System.String] + $EncryptionMethodWithXtsFdvDropDown_Name, + + [Parameter()] + [ValidateSet('3', '4', '6', '7')] + [System.String] + $EncryptionMethodWithXtsRdvDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $IdentificationField_Name, + + [Parameter()] + [ValidateLength(0, 260)] + [System.String] + $IdentificationField, + + [Parameter()] + [ValidateLength(0, 260)] + [System.String] + $SecIdentificationField, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $AllowWarningForOtherDiskEncryption, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $AllowStandardUserEncryption, + + [Parameter()] + [ValidateSet('0', '1', '2')] + [System.String] + $ConfigureRecoveryPasswordRotation, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $OSEncryptionType_Name, + + [Parameter()] + [ValidateSet('0', '1', '2')] + [System.String] + $OSEncryptionTypeDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $ConfigureAdvancedStartup_Name, + + [Parameter()] + [ValidateSet('2', '1', '0')] + [System.String] + $ConfigureTPMStartupKeyUsageDropDown_Name, + + [Parameter()] + [ValidateSet('2', '1', '0')] + [System.String] + $ConfigureTPMPINKeyUsageDropDown_Name, + + [Parameter()] + [ValidateSet('2', '1', '0')] + [System.String] + $ConfigureTPMUsageDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $ConfigureNonTPMStartupKeyUsage_Name, + + [Parameter()] + [ValidateSet('2', '1', '0')] + [System.String] + $ConfigurePINUsageDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $MinimumPINLength_Name, + + [Parameter()] + [ValidateRange(4, 20)] + [System.Int32] + $MinPINLength, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $EnhancedPIN_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $DisallowStandardUsersCanChangePIN_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $EnablePreBootPinExceptionOnDECapableDevice_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $EnablePrebootInputProtectorsOnSlates_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $OSRecoveryUsage_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $OSRequireActiveDirectoryBackup_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $OSActiveDirectoryBackup_Name, + + [Parameter()] + [ValidateSet('2', '1', '0')] + [System.String] + $OSRecoveryPasswordUsageDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $OSHideRecoveryPage_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $OSAllowDRA_Name, + + [Parameter()] + [ValidateSet('2', '1', '0')] + [System.String] + $OSRecoveryKeyUsageDropDown_Name, + + [Parameter()] + [ValidateSet('1', '2')] + [System.String] + $OSActiveDirectoryBackupDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $PrebootRecoveryInfo_Name, + + [Parameter()] + [ValidateSet('0', '1', '2', '3')] + [System.String] + $PrebootRecoveryInfoDropDown_Name, + + [Parameter()] + [ValidateLength(0, 500)] + [System.String] + $RecoveryUrl_Input, + + [Parameter()] + [ValidateLength(0, 900)] + [System.String] + $RecoveryMessage_Input, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $FDVEncryptionType_Name, + + [Parameter()] + [ValidateSet('0', '1', '2')] + [System.String] + $FDVEncryptionTypeDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $FDVRecoveryUsage_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $FDVActiveDirectoryBackup_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $FDVHideRecoveryPage_Name, + + [Parameter()] + [ValidateSet('2', '1', '0')] + [System.String] + $FDVRecoveryPasswordUsageDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $FDVRequireActiveDirectoryBackup_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $FDVAllowDRA_Name, + + [Parameter()] + [ValidateSet('1', '2')] + [System.String] + $FDVActiveDirectoryBackupDropDown_Name, + + [Parameter()] + [ValidateSet('2', '1', '0')] + [System.String] + $FDVRecoveryKeyUsageDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $FDVDenyWriteAccess_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $RDVConfigureBDE, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $RDVAllowBDE_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $RDVEncryptionType_Name, + + [Parameter()] + [ValidateSet('0', '1', '2')] + [System.String] + $RDVEncryptionTypeDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $RDVDisableBDE_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $RDVDenyWriteAccess_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $RDVCrossOrg, + + [Parameter()] + [Microsoft.Management.Infrastructure.CimInstance[]] + $Assignments, + #endregion + + [Parameter()] + [System.String] + [ValidateSet('Absent', 'Present')] + $Ensure = 'Present', + + [Parameter()] + [System.Management.Automation.PSCredential] + $Credential, + + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.Management.Automation.PSCredential] + $ApplicationSecret, + + [Parameter()] + [System.String] + $CertificateThumbprint, + + [Parameter()] + [Switch] + $ManagedIdentity, + + [Parameter()] + [System.String[]] + $AccessTokens + ) + + try + { + $ConnectionMode = New-M365DSCConnection -Workload 'MicrosoftGraph' ` + -InboundParameters $PSBoundParameters + + #Ensure the proper dependencies are installed in the current environment. + Confirm-M365DSCDependencies + + #region Telemetry + $ResourceName = $MyInvocation.MyCommand.ModuleName.Replace('MSFT_', '') + $CommandName = $MyInvocation.MyCommand + $data = Format-M365DSCTelemetryParameters -ResourceName $ResourceName ` + -CommandName $CommandName ` + -Parameters $PSBoundParameters + Add-M365DSCTelemetryEvent -Data $data + #endregion + + $nullResult = $PSBoundParameters + $nullResult.Ensure = 'Absent' + + $templateReferenceId = '46ddfc50-d10f-4867-b852-9434254b3bff_1' + $getValue = $null + #region resource generator code + $getValue = Get-MgBetaDeviceManagementConfigurationPolicy -DeviceManagementConfigurationPolicyId $Id -ErrorAction SilentlyContinue + + if ($null -eq $getValue) + { + Write-Verbose -Message "Could not find an Intune Disk Encryption for Windows10 with Id {$Id}" + + if (-not [System.String]::IsNullOrEmpty($DisplayName)) + { + $getValue = Get-MgBetaDeviceManagementConfigurationPolicy ` + -Filter "Name eq '$DisplayName' and templateReference/TemplateId eq '$templateReferenceId'" ` + -ErrorAction SilentlyContinue + } + } + #endregion + if ($null -eq $getValue) + { + Write-Verbose -Message "Could not find an Intune Disk Encryption for Windows10 with Name {$DisplayName}." + return $nullResult + } + $Id = $getValue.Id + Write-Verbose -Message "An Intune Disk Encryption for Windows10 with Id {$Id} and Name {$DisplayName} was found" + + # Retrieve policy specific settings + [array]$settings = Get-MgBetaDeviceManagementConfigurationPolicySetting ` + -DeviceManagementConfigurationPolicyId $Id ` + -ExpandProperty 'settingDefinitions' ` + -ErrorAction Stop + + $policySettings = @{} + $policySettings = Export-IntuneSettingCatalogPolicySettings -Settings $settings -ReturnHashtable $policySettings + + $results = @{ + #region resource generator code + Description = $getValue.Description + DisplayName = $getValue.Name + RoleScopeTagIds = $getValue.RoleScopeTagIds + Id = $getValue.Id + Ensure = 'Present' + Credential = $Credential + ApplicationId = $ApplicationId + TenantId = $TenantId + ApplicationSecret = $ApplicationSecret + CertificateThumbprint = $CertificateThumbprint + ManagedIdentity = $ManagedIdentity.IsPresent + #endregion + } + $results += $policySettings + + $assignmentsValues = Get-MgBetaDeviceManagementConfigurationPolicyAssignment -DeviceManagementConfigurationPolicyId $Id + $assignmentResult = @() + if ($assignmentsValues.Count -gt 0) + { + $assignmentResult += ConvertFrom-IntunePolicyAssignment -Assignments $assignmentsValues -IncludeDeviceFilter $true + } + $results.Add('Assignments', $assignmentResult) + + return [System.Collections.Hashtable] $results + } + catch + { + New-M365DSCLogEntry -Message 'Error retrieving data:' ` + -Exception $_ ` + -Source $($MyInvocation.MyCommand.Source) ` + -TenantId $TenantId ` + -Credential $Credential + + return $nullResult + } +} + +function Set-TargetResource +{ + [CmdletBinding()] + param + ( + #region resource generator code + [Parameter()] + [System.String] + $Description, + + [Parameter(Mandatory = $true)] + [System.String] + $DisplayName, + + [Parameter()] + [System.String[]] + $RoleScopeTagIds, + + [Parameter()] + [System.String] + $Id, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $RequireDeviceEncryption, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $EncryptionMethodWithXts_Name, + + [Parameter()] + [ValidateSet('3', '4', '6', '7')] + [System.String] + $EncryptionMethodWithXtsOsDropDown_Name, + + [Parameter()] + [ValidateSet('3', '4', '6', '7')] + [System.String] + $EncryptionMethodWithXtsFdvDropDown_Name, + + [Parameter()] + [ValidateSet('3', '4', '6', '7')] + [System.String] + $EncryptionMethodWithXtsRdvDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $IdentificationField_Name, + + [Parameter()] + [ValidateLength(0, 260)] + [System.String] + $IdentificationField, + + [Parameter()] + [ValidateLength(0, 260)] + [System.String] + $SecIdentificationField, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $AllowWarningForOtherDiskEncryption, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $AllowStandardUserEncryption, + + [Parameter()] + [ValidateSet('0', '1', '2')] + [System.String] + $ConfigureRecoveryPasswordRotation, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $OSEncryptionType_Name, + + [Parameter()] + [ValidateSet('0', '1', '2')] + [System.String] + $OSEncryptionTypeDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $ConfigureAdvancedStartup_Name, + + [Parameter()] + [ValidateSet('2', '1', '0')] + [System.String] + $ConfigureTPMStartupKeyUsageDropDown_Name, + + [Parameter()] + [ValidateSet('2', '1', '0')] + [System.String] + $ConfigureTPMPINKeyUsageDropDown_Name, + + [Parameter()] + [ValidateSet('2', '1', '0')] + [System.String] + $ConfigureTPMUsageDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $ConfigureNonTPMStartupKeyUsage_Name, + + [Parameter()] + [ValidateSet('2', '1', '0')] + [System.String] + $ConfigurePINUsageDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $MinimumPINLength_Name, + + [Parameter()] + [ValidateRange(4, 20)] + [System.Int32] + $MinPINLength, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $EnhancedPIN_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $DisallowStandardUsersCanChangePIN_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $EnablePreBootPinExceptionOnDECapableDevice_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $EnablePrebootInputProtectorsOnSlates_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $OSRecoveryUsage_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $OSRequireActiveDirectoryBackup_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $OSActiveDirectoryBackup_Name, + + [Parameter()] + [ValidateSet('2', '1', '0')] + [System.String] + $OSRecoveryPasswordUsageDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $OSHideRecoveryPage_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $OSAllowDRA_Name, + + [Parameter()] + [ValidateSet('2', '1', '0')] + [System.String] + $OSRecoveryKeyUsageDropDown_Name, + + [Parameter()] + [ValidateSet('1', '2')] + [System.String] + $OSActiveDirectoryBackupDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $PrebootRecoveryInfo_Name, + + [Parameter()] + [ValidateSet('0', '1', '2', '3')] + [System.String] + $PrebootRecoveryInfoDropDown_Name, + + [Parameter()] + [ValidateLength(0, 500)] + [System.String] + $RecoveryUrl_Input, + + [Parameter()] + [ValidateLength(0, 900)] + [System.String] + $RecoveryMessage_Input, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $FDVEncryptionType_Name, + + [Parameter()] + [ValidateSet('0', '1', '2')] + [System.String] + $FDVEncryptionTypeDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $FDVRecoveryUsage_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $FDVActiveDirectoryBackup_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $FDVHideRecoveryPage_Name, + + [Parameter()] + [ValidateSet('2', '1', '0')] + [System.String] + $FDVRecoveryPasswordUsageDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $FDVRequireActiveDirectoryBackup_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $FDVAllowDRA_Name, + + [Parameter()] + [ValidateSet('1', '2')] + [System.String] + $FDVActiveDirectoryBackupDropDown_Name, + + [Parameter()] + [ValidateSet('2', '1', '0')] + [System.String] + $FDVRecoveryKeyUsageDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $FDVDenyWriteAccess_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $RDVConfigureBDE, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $RDVAllowBDE_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $RDVEncryptionType_Name, + + [Parameter()] + [ValidateSet('0', '1', '2')] + [System.String] + $RDVEncryptionTypeDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $RDVDisableBDE_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $RDVDenyWriteAccess_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $RDVCrossOrg, + + [Parameter()] + [Microsoft.Management.Infrastructure.CimInstance[]] + $Assignments, + #endregion + [Parameter()] + [System.String] + [ValidateSet('Absent', 'Present')] + $Ensure = 'Present', + + [Parameter()] + [System.Management.Automation.PSCredential] + $Credential, + + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.Management.Automation.PSCredential] + $ApplicationSecret, + + [Parameter()] + [System.String] + $CertificateThumbprint, + + [Parameter()] + [Switch] + $ManagedIdentity, + + [Parameter()] + [System.String[]] + $AccessTokens + ) + + #Ensure the proper dependencies are installed in the current environment. + Confirm-M365DSCDependencies + + #region Telemetry + $ResourceName = $MyInvocation.MyCommand.ModuleName.Replace('MSFT_', '') + $CommandName = $MyInvocation.MyCommand + $data = Format-M365DSCTelemetryParameters -ResourceName $ResourceName ` + -CommandName $CommandName ` + -Parameters $PSBoundParameters + Add-M365DSCTelemetryEvent -Data $data + #endregion + + $currentInstance = Get-TargetResource @PSBoundParameters + + $BoundParameters = Remove-M365DSCAuthenticationParameter -BoundParameters $PSBoundParameters + + $templateReferenceId = '46ddfc50-d10f-4867-b852-9434254b3bff_1' + $platforms = 'windows10' + $technologies = 'mdm' + + if ($Ensure -eq 'Present' -and $currentInstance.Ensure -eq 'Absent') + { + Write-Verbose -Message "Creating an Intune Disk Encryption for Windows10 with Name {$DisplayName}" + $BoundParameters.Remove("Assignments") | Out-Null + + $settings = Get-IntuneSettingCatalogPolicySetting ` + -DSCParams ([System.Collections.Hashtable]$BoundParameters) ` + -TemplateId $templateReferenceId + + $createParameters = @{ + Name = $DisplayName + Description = $Description + TemplateReference = @{ templateId = $templateReferenceId } + Platforms = $platforms + Technologies = $technologies + Settings = $settings + } + + #region resource generator code + $policy = New-MgBetaDeviceManagementConfigurationPolicy -BodyParameter $createParameters + + if ($policy.Id) + { + $assignmentsHash = ConvertTo-IntunePolicyAssignment -IncludeDeviceFilter:$true -Assignments $Assignments + Update-DeviceConfigurationPolicyAssignment ` + -DeviceConfigurationPolicyId $policy.Id ` + -Targets $assignmentsHash ` + -Repository 'deviceManagement/configurationPolicies' + } + #endregion + } + elseif ($Ensure -eq 'Present' -and $currentInstance.Ensure -eq 'Present') + { + Write-Verbose -Message "Updating the Intune Disk Encryption for Windows10 with Id {$($currentInstance.Id)}" + $BoundParameters.Remove("Assignments") | Out-Null + + $settings = Get-IntuneSettingCatalogPolicySetting ` + -DSCParams ([System.Collections.Hashtable]$BoundParameters) ` + -TemplateId $templateReferenceId + + Update-IntuneDeviceConfigurationPolicy ` + -DeviceConfigurationPolicyId $currentInstance.Id ` + -Name $DisplayName ` + -Description $Description ` + -TemplateReferenceId $templateReferenceId ` + -Platforms $platforms ` + -Technologies $technologies ` + -Settings $settings + + #region resource generator code + $assignmentsHash = ConvertTo-IntunePolicyAssignment -IncludeDeviceFilter:$true -Assignments $Assignments + Update-DeviceConfigurationPolicyAssignment ` + -DeviceConfigurationPolicyId $currentInstance.Id ` + -Targets $assignmentsHash ` + -Repository 'deviceManagement/configurationPolicies' + #endregion + } + elseif ($Ensure -eq 'Absent' -and $currentInstance.Ensure -eq 'Present') + { + Write-Verbose -Message "Removing the Intune Disk Encryption for Windows10 with Id {$($currentInstance.Id)}" + #region resource generator code + Remove-MgBetaDeviceManagementConfigurationPolicy -DeviceManagementConfigurationPolicyId $currentInstance.Id + #endregion + } +} + +function Test-TargetResource +{ + [CmdletBinding()] + [OutputType([System.Boolean])] + param + ( + #region resource generator code + [Parameter()] + [System.String] + $Description, + + [Parameter(Mandatory = $true)] + [System.String] + $DisplayName, + + [Parameter()] + [System.String[]] + $RoleScopeTagIds, + + [Parameter()] + [System.String] + $Id, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $RequireDeviceEncryption, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $EncryptionMethodWithXts_Name, + + [Parameter()] + [ValidateSet('3', '4', '6', '7')] + [System.String] + $EncryptionMethodWithXtsOsDropDown_Name, + + [Parameter()] + [ValidateSet('3', '4', '6', '7')] + [System.String] + $EncryptionMethodWithXtsFdvDropDown_Name, + + [Parameter()] + [ValidateSet('3', '4', '6', '7')] + [System.String] + $EncryptionMethodWithXtsRdvDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $IdentificationField_Name, + + [Parameter()] + [ValidateLength(0, 260)] + [System.String] + $IdentificationField, + + [Parameter()] + [ValidateLength(0, 260)] + [System.String] + $SecIdentificationField, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $AllowWarningForOtherDiskEncryption, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $AllowStandardUserEncryption, + + [Parameter()] + [ValidateSet('0', '1', '2')] + [System.String] + $ConfigureRecoveryPasswordRotation, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $OSEncryptionType_Name, + + [Parameter()] + [ValidateSet('0', '1', '2')] + [System.String] + $OSEncryptionTypeDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $ConfigureAdvancedStartup_Name, + + [Parameter()] + [ValidateSet('2', '1', '0')] + [System.String] + $ConfigureTPMStartupKeyUsageDropDown_Name, + + [Parameter()] + [ValidateSet('2', '1', '0')] + [System.String] + $ConfigureTPMPINKeyUsageDropDown_Name, + + [Parameter()] + [ValidateSet('2', '1', '0')] + [System.String] + $ConfigureTPMUsageDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $ConfigureNonTPMStartupKeyUsage_Name, + + [Parameter()] + [ValidateSet('2', '1', '0')] + [System.String] + $ConfigurePINUsageDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $MinimumPINLength_Name, + + [Parameter()] + [ValidateRange(4, 20)] + [System.Int32] + $MinPINLength, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $EnhancedPIN_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $DisallowStandardUsersCanChangePIN_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $EnablePreBootPinExceptionOnDECapableDevice_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $EnablePrebootInputProtectorsOnSlates_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $OSRecoveryUsage_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $OSRequireActiveDirectoryBackup_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $OSActiveDirectoryBackup_Name, + + [Parameter()] + [ValidateSet('2', '1', '0')] + [System.String] + $OSRecoveryPasswordUsageDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $OSHideRecoveryPage_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $OSAllowDRA_Name, + + [Parameter()] + [ValidateSet('2', '1', '0')] + [System.String] + $OSRecoveryKeyUsageDropDown_Name, + + [Parameter()] + [ValidateSet('1', '2')] + [System.String] + $OSActiveDirectoryBackupDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $PrebootRecoveryInfo_Name, + + [Parameter()] + [ValidateSet('0', '1', '2', '3')] + [System.String] + $PrebootRecoveryInfoDropDown_Name, + + [Parameter()] + [ValidateLength(0, 500)] + [System.String] + $RecoveryUrl_Input, + + [Parameter()] + [ValidateLength(0, 900)] + [System.String] + $RecoveryMessage_Input, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $FDVEncryptionType_Name, + + [Parameter()] + [ValidateSet('0', '1', '2')] + [System.String] + $FDVEncryptionTypeDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $FDVRecoveryUsage_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $FDVActiveDirectoryBackup_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $FDVHideRecoveryPage_Name, + + [Parameter()] + [ValidateSet('2', '1', '0')] + [System.String] + $FDVRecoveryPasswordUsageDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $FDVRequireActiveDirectoryBackup_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $FDVAllowDRA_Name, + + [Parameter()] + [ValidateSet('1', '2')] + [System.String] + $FDVActiveDirectoryBackupDropDown_Name, + + [Parameter()] + [ValidateSet('2', '1', '0')] + [System.String] + $FDVRecoveryKeyUsageDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $FDVDenyWriteAccess_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $RDVConfigureBDE, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $RDVAllowBDE_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $RDVEncryptionType_Name, + + [Parameter()] + [ValidateSet('0', '1', '2')] + [System.String] + $RDVEncryptionTypeDropDown_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $RDVDisableBDE_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $RDVDenyWriteAccess_Name, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $RDVCrossOrg, + + [Parameter()] + [Microsoft.Management.Infrastructure.CimInstance[]] + $Assignments, + #endregion + + [Parameter()] + [System.String] + [ValidateSet('Absent', 'Present')] + $Ensure = 'Present', + + [Parameter()] + [System.Management.Automation.PSCredential] + $Credential, + + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.Management.Automation.PSCredential] + $ApplicationSecret, + + [Parameter()] + [System.String] + $CertificateThumbprint, + + [Parameter()] + [Switch] + $ManagedIdentity, + + [Parameter()] + [System.String[]] + $AccessTokens + ) + + #Ensure the proper dependencies are installed in the current environment. + Confirm-M365DSCDependencies + + #region Telemetry + $ResourceName = $MyInvocation.MyCommand.ModuleName.Replace('MSFT_', '') + $CommandName = $MyInvocation.MyCommand + $data = Format-M365DSCTelemetryParameters -ResourceName $ResourceName ` + -CommandName $CommandName ` + -Parameters $PSBoundParameters + Add-M365DSCTelemetryEvent -Data $data + #endregion + + Write-Verbose -Message "Testing configuration of the Intune Disk Encryption for Windows10 with Id {$Id} and Name {$DisplayName}" + + $CurrentValues = Get-TargetResource @PSBoundParameters + [Hashtable]$ValuesToCheck = @{} + $MyInvocation.MyCommand.Parameters.GetEnumerator() | ForEach-Object { + if ($_.Key -notlike '*Variable' -or $_.Key -notin @('Verbose', 'Debug', 'ErrorAction', 'WarningAction', 'InformationAction')) + { + if ($null -ne $CurrentValues[$_.Key] -or $null -ne $PSBoundParameters[$_.Key]) + { + $ValuesToCheck.Add($_.Key, $null) + if (-not $PSBoundParameters.ContainsKey($_.Key)) + { + $PSBoundParameters.Add($_.Key, $null) + } + } + } + } + + if ($CurrentValues.Ensure -ne $Ensure) + { + Write-Verbose -Message "Test-TargetResource returned $false" + return $false + } + $testResult = $true + + #Compare Cim instances + foreach ($key in $PSBoundParameters.Keys) + { + $source = $PSBoundParameters.$key + $target = $CurrentValues.$key + if ($null -ne $source -and $source.GetType().Name -like '*CimInstance*') + { + $testResult = Compare-M365DSCComplexObject ` + -Source ($source) ` + -Target ($target) + + if (-not $testResult) + { + break + } + + $ValuesToCheck.Remove($key) | Out-Null + } + } + + $ValuesToCheck.Remove('Id') | Out-Null + $ValuesToCheck = Remove-M365DSCAuthenticationParameter -BoundParameters $ValuesToCheck + + Write-Verbose -Message "Current Values: $(Convert-M365DscHashtableToString -Hashtable $CurrentValues)" + Write-Verbose -Message "Target Values: $(Convert-M365DscHashtableToString -Hashtable $ValuesToCheck)" + + if ($testResult) + { + $testResult = Test-M365DSCParameterState -CurrentValues $CurrentValues ` + -Source $($MyInvocation.MyCommand.Source) ` + -DesiredValues $PSBoundParameters ` + -ValuesToCheck $ValuesToCheck.Keys + } + + Write-Verbose -Message "Test-TargetResource returned $testResult" + + return $testResult +} + +function Export-TargetResource +{ + [CmdletBinding()] + [OutputType([System.String])] + param + ( + [Parameter()] + [System.String] + $Filter, + + [Parameter()] + [System.Management.Automation.PSCredential] + $Credential, + + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.Management.Automation.PSCredential] + $ApplicationSecret, + + [Parameter()] + [System.String] + $CertificateThumbprint, + + [Parameter()] + [Switch] + $ManagedIdentity, + + [Parameter()] + [System.String[]] + $AccessTokens + ) + + $ConnectionMode = New-M365DSCConnection -Workload 'MicrosoftGraph' ` + -InboundParameters $PSBoundParameters + + #Ensure the proper dependencies are installed in the current environment. + Confirm-M365DSCDependencies + + #region Telemetry + $ResourceName = $MyInvocation.MyCommand.ModuleName.Replace('MSFT_', '') + $CommandName = $MyInvocation.MyCommand + $data = Format-M365DSCTelemetryParameters -ResourceName $ResourceName ` + -CommandName $CommandName ` + -Parameters $PSBoundParameters + Add-M365DSCTelemetryEvent -Data $data + #endregion + + try + { + #region resource generator code + $policyTemplateID = "46ddfc50-d10f-4867-b852-9434254b3bff_1" + [array]$getValue = Get-MgBetaDeviceManagementConfigurationPolicy ` + -Filter $Filter ` + -All ` + -ErrorAction Stop | Where-Object ` + -FilterScript { + $_.TemplateReference.TemplateId -eq $policyTemplateID + } + #endregion + + $i = 1 + $dscContent = '' + if ($getValue.Length -eq 0) + { + Write-Host $Global:M365DSCEmojiGreenCheckMark + } + else + { + Write-Host "`r`n" -NoNewline + } + foreach ($config in $getValue) + { + $displayedKey = $config.Id + if (-not [String]::IsNullOrEmpty($config.displayName)) + { + $displayedKey = $config.displayName + } + elseif (-not [string]::IsNullOrEmpty($config.name)) + { + $displayedKey = $config.name + } + Write-Host " |---[$i/$($getValue.Count)] $displayedKey" -NoNewline + $params = @{ + Id = $config.Id + DisplayName = $config.Name + Ensure = 'Present' + Credential = $Credential + ApplicationId = $ApplicationId + TenantId = $TenantId + ApplicationSecret = $ApplicationSecret + CertificateThumbprint = $CertificateThumbprint + ManagedIdentity = $ManagedIdentity.IsPresent + AccessTokens = $AccessTokens + } + + $Results = Get-TargetResource @Params + $Results = Update-M365DSCExportAuthenticationResults -ConnectionMode $ConnectionMode ` + -Results $Results + + if ($Results.Assignments) + { + $complexTypeStringResult = Get-M365DSCDRGComplexTypeToString -ComplexObject $Results.Assignments -CIMInstanceName DeviceManagementConfigurationPolicyAssignments + if ($complexTypeStringResult) + { + $Results.Assignments = $complexTypeStringResult + } + else + { + $Results.Remove('Assignments') | Out-Null + } + } + + $currentDSCBlock = Get-M365DSCExportContentForResource -ResourceName $ResourceName ` + -ConnectionMode $ConnectionMode ` + -ModulePath $PSScriptRoot ` + -Results $Results ` + -Credential $Credential + + if ($Results.Assignments) + { + $currentDSCBlock = Convert-DSCStringParamToVariable -DSCBlock $currentDSCBlock -ParameterName "Assignments" -IsCIMArray:$true + } + + $dscContent += $currentDSCBlock + Save-M365DSCPartialExport -Content $currentDSCBlock ` + -FileName $Global:PartialExportFileName + $i++ + Write-Host $Global:M365DSCEmojiGreenCheckMark + } + return $dscContent + } + catch + { + Write-Host $Global:M365DSCEmojiRedX + + New-M365DSCLogEntry -Message 'Error during Export:' ` + -Exception $_ ` + -Source $($MyInvocation.MyCommand.Source) ` + -TenantId $TenantId ` + -Credential $Credential + + return '' + } +} + +Export-ModuleMember -Function *-TargetResource diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDiskEncryptionWindows10/MSFT_IntuneDiskEncryptionWindows10.schema.mof b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDiskEncryptionWindows10/MSFT_IntuneDiskEncryptionWindows10.schema.mof new file mode 100644 index 0000000000..5af5d795a8 --- /dev/null +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDiskEncryptionWindows10/MSFT_IntuneDiskEncryptionWindows10.schema.mof @@ -0,0 +1,83 @@ +[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 group Display Name that is the target of the assignment.")] String groupDisplayName; + [Write, Description("The collection Id that is the target of the assignment.(ConfigMgr)")] String collectionId; +}; + +[ClassVersion("1.0.0.0"), FriendlyName("IntuneDiskEncryptionWindows10")] +class MSFT_IntuneDiskEncryptionWindows10 : OMI_BaseResource +{ + [Write, Description("Policy description")] String Description; + [Key, Description("Policy name")] String DisplayName; + [Write, Description("List of Scope Tags for this Entity instance.")] String RoleScopeTagIds[]; + [Write, Description("The unique identifier for an entity. Read-only.")] String Id; + [Write, Description("Require Device Encryption (0: Disabled, 1: Enabled)"), ValueMap{"0", "1"}, Values{"0", "1"}] String RequireDeviceEncryption; + [Write, Description("Choose drive encryption method and cipher strength (Windows 10 [Version 1511] and later) (0: Disabled, 1: Enabled)"), ValueMap{"0", "1"}, Values{"0", "1"}] String EncryptionMethodWithXts_Name; + [Write, Description("Select the encryption method for operating system drives: (3: AES-CBC 128-bit, 4: AES-CBC 256-bit, 6: XTS-AES 128-bit (default), 7: XTS-AES 256-bit)"), ValueMap{"3", "4", "6", "7"}, Values{"3", "4", "6", "7"}] String EncryptionMethodWithXtsOsDropDown_Name; + [Write, Description("Select the encryption method for fixed data drives: (3: AES-CBC 128-bit, 4: AES-CBC 256-bit, 6: XTS-AES 128-bit (default), 7: XTS-AES 256-bit)"), ValueMap{"3", "4", "6", "7"}, Values{"3", "4", "6", "7"}] String EncryptionMethodWithXtsFdvDropDown_Name; + [Write, Description("Select the encryption method for removable data drives: (3: AES-CBC 128-bit (default), 4: AES-CBC 256-bit, 6: XTS-AES 128-bit, 7: XTS-AES 256-bit)"), ValueMap{"3", "4", "6", "7"}, Values{"3", "4", "6", "7"}] String EncryptionMethodWithXtsRdvDropDown_Name; + [Write, Description("Provide the unique identifiers for your organization (0: Disabled, 1: Enabled)"), ValueMap{"0", "1"}, Values{"0", "1"}] String IdentificationField_Name; + [Write, Description("BitLocker identification field: (Device)")] String IdentificationField; + [Write, Description("Allowed BitLocker identification field: (Device)")] String SecIdentificationField; + [Write, Description("Allow Warning For Other Disk Encryption (0: Disabled, 1: Enabled)"), ValueMap{"0", "1"}, Values{"0", "1"}] String AllowWarningForOtherDiskEncryption; + [Write, Description("Allow Standard User Encryption (0: This is the default, when the policy is not set. If current logged on user is a standard user, 'RequireDeviceEncryption' policy will not try to enable encryption on any drive., 1: 'RequireDeviceEncryption' policy will try to enable encryption on all fixed drives even if a current logged in user is standard user.)"), ValueMap{"0", "1"}, Values{"0", "1"}] String AllowStandardUserEncryption; + [Write, Description("Configure Recovery Password Rotation (0: Refresh off (default), 1: Refresh on for Azure AD-joined devices, 2: Refresh on for both Azure AD-joined and hybrid-joined devices)"), ValueMap{"0", "1", "2"}, Values{"0", "1", "2"}] String ConfigureRecoveryPasswordRotation; + [Write, Description("Enforce drive encryption type on operating system drives (0: Disabled, 1: Enabled)"), ValueMap{"0", "1"}, Values{"0", "1"}] String OSEncryptionType_Name; + [Write, Description("Select the encryption type: (Device) (0: Allow user to choose (default), 1: Full encryption, 2: Used Space Only encryption)"), ValueMap{"0", "1", "2"}, Values{"0", "1", "2"}] String OSEncryptionTypeDropDown_Name; + [Write, Description("Require additional authentication at startup (0: Disabled, 1: Enabled)"), ValueMap{"0", "1"}, Values{"0", "1"}] String ConfigureAdvancedStartup_Name; + [Write, Description("Configure TPM startup key: (2: Allow startup key with TPM, 1: Require startup key with TPM, 0: Do not allow startup key with TPM)"), ValueMap{"2", "1", "0"}, Values{"2", "1", "0"}] String ConfigureTPMStartupKeyUsageDropDown_Name; + [Write, Description("Configure TPM startup key and PIN: (2: Allow startup key and PIN with TPM, 1: Require startup key and PIN with TPM, 0: Do not allow startup key and PIN with TPM)"), ValueMap{"2", "1", "0"}, Values{"2", "1", "0"}] String ConfigureTPMPINKeyUsageDropDown_Name; + [Write, Description("Configure TPM startup: (2: Allow TPM, 1: Require TPM, 0: Do not allow TPM)"), ValueMap{"2", "1", "0"}, Values{"2", "1", "0"}] String ConfigureTPMUsageDropDown_Name; + [Write, Description("Allow BitLocker without a compatible TPM (requires a password or a startup key on a USB flash drive) (0: False, 1: True)"), ValueMap{"0", "1"}, Values{"0", "1"}] String ConfigureNonTPMStartupKeyUsage_Name; + [Write, Description("Configure TPM startup PIN: (2: Allow startup PIN with TPM, 1: Require startup PIN with TPM, 0: Do not allow startup PIN with TPM)"), ValueMap{"2", "1", "0"}, Values{"2", "1", "0"}] String ConfigurePINUsageDropDown_Name; + [Write, Description("Configure minimum PIN length for startup (0: Disabled, 1: Enabled)"), ValueMap{"0", "1"}, Values{"0", "1"}] String MinimumPINLength_Name; + [Write, Description("Minimum characters:")] SInt32 MinPINLength; + [Write, Description("Allow enhanced PINs for startup (0: Disabled, 1: Enabled)"), ValueMap{"0", "1"}, Values{"0", "1"}] String EnhancedPIN_Name; + [Write, Description("Disallow standard users from changing the PIN or password (0: Disabled, 1: Enabled)"), ValueMap{"0", "1"}, Values{"0", "1"}] String DisallowStandardUsersCanChangePIN_Name; + [Write, Description("Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN. (0: Disabled, 1: Enabled)"), ValueMap{"0", "1"}, Values{"0", "1"}] String EnablePreBootPinExceptionOnDECapableDevice_Name; + [Write, Description("Enable use of BitLocker authentication requiring preboot keyboard input on slates (0: Disabled, 1: Enabled)"), ValueMap{"0", "1"}, Values{"0", "1"}] String EnablePrebootInputProtectorsOnSlates_Name; + [Write, Description("Choose how BitLocker-protected operating system drives can be recovered (0: Disabled, 1: Enabled)"), ValueMap{"0", "1"}, Values{"0", "1"}] String OSRecoveryUsage_Name; + [Write, Description("Do not enable BitLocker until recovery information is stored to AD DS for operating system drives (0: False, 1: True)"), ValueMap{"0", "1"}, Values{"0", "1"}] String OSRequireActiveDirectoryBackup_Name; + [Write, Description("Save BitLocker recovery information to AD DS for operating system drives (0: False, 1: True)"), ValueMap{"0", "1"}, Values{"0", "1"}] String OSActiveDirectoryBackup_Name; + [Write, Description("Configure user storage of BitLocker recovery information: (2: Allow 48-digit recovery password, 1: Require 48-digit recovery password, 0: Do not allow 48-digit recovery password)"), ValueMap{"2", "1", "0"}, Values{"2", "1", "0"}] String OSRecoveryPasswordUsageDropDown_Name; + [Write, Description("Omit recovery options from the BitLocker setup wizard (0: False, 1: True)"), ValueMap{"0", "1"}, Values{"0", "1"}] String OSHideRecoveryPage_Name; + [Write, Description("Allow data recovery agent (0: False, 1: True)"), ValueMap{"0", "1"}, Values{"0", "1"}] String OSAllowDRA_Name; + [Write, Description("Configure OS recovery key usage: (2: Allow 256-bit recovery key, 1: Require 256-bit recovery key, 0: Do not allow 256-bit recovery key)"), ValueMap{"2", "1", "0"}, Values{"2", "1", "0"}] String OSRecoveryKeyUsageDropDown_Name; + [Write, Description("Configure storage of BitLocker recovery information to AD DS: (1: Store recovery passwords and key packages, 2: Store recovery passwords only)"), ValueMap{"1", "2"}, Values{"1", "2"}] String OSActiveDirectoryBackupDropDown_Name; + [Write, Description("Configure pre-boot recovery message and URL (0: Disabled, 1: Enabled)"), ValueMap{"0", "1"}, Values{"0", "1"}] String PrebootRecoveryInfo_Name; + [Write, Description("Select an option for the pre-boot recovery message: (0: , 1: Use default recovery message and URL, 2: Use custom recovery message, 3: Use custom recovery URL)"), ValueMap{"0", "1", "2", "3"}, Values{"0", "1", "2", "3"}] String PrebootRecoveryInfoDropDown_Name; + [Write, Description("Custom recovery URL option:")] String RecoveryUrl_Input; + [Write, Description("Custom recovery message option:")] String RecoveryMessage_Input; + [Write, Description("Enforce drive encryption type on fixed data drives (0: Disabled, 1: Enabled)"), ValueMap{"0", "1"}, Values{"0", "1"}] String FDVEncryptionType_Name; + [Write, Description("Select the encryption type: (Device) (0: Allow user to choose (default), 1: Full encryption, 2: Used Space Only encryption)"), ValueMap{"0", "1", "2"}, Values{"0", "1", "2"}] String FDVEncryptionTypeDropDown_Name; + [Write, Description("Choose how BitLocker-protected fixed drives can be recovered (0: Disabled, 1: Enabled)"), ValueMap{"0", "1"}, Values{"0", "1"}] String FDVRecoveryUsage_Name; + [Write, Description("Save BitLocker recovery information to AD DS for fixed data drives (0: False, 1: True)"), ValueMap{"0", "1"}, Values{"0", "1"}] String FDVActiveDirectoryBackup_Name; + [Write, Description("Omit recovery options from the BitLocker setup wizard (0: False, 1: True)"), ValueMap{"0", "1"}, Values{"0", "1"}] String FDVHideRecoveryPage_Name; + [Write, Description("Configure user storage of BitLocker recovery information: (2: Allow 48-digit recovery password, 1: Require 48-digit recovery password, 0: Do not allow 48-digit recovery password)"), ValueMap{"2", "1", "0"}, Values{"2", "1", "0"}] String FDVRecoveryPasswordUsageDropDown_Name; + [Write, Description("Do not enable BitLocker until recovery information is stored to AD DS for fixed data drives (0: False, 1: True)"), ValueMap{"0", "1"}, Values{"0", "1"}] String FDVRequireActiveDirectoryBackup_Name; + [Write, Description("Allow data recovery agent (0: False, 1: True)"), ValueMap{"0", "1"}, Values{"0", "1"}] String FDVAllowDRA_Name; + [Write, Description("Configure storage of BitLocker recovery information to AD DS: (1: Backup recovery passwords and key packages, 2: Backup recovery passwords only)"), ValueMap{"1", "2"}, Values{"1", "2"}] String FDVActiveDirectoryBackupDropDown_Name; + [Write, Description(" (2: Allow 256-bit recovery key, 1: Require 256-bit recovery key, 0: Do not allow 256-bit recovery key)"), ValueMap{"2", "1", "0"}, Values{"2", "1", "0"}] String FDVRecoveryKeyUsageDropDown_Name; + [Write, Description("Deny write access to fixed drives not protected by BitLocker (0: Disabled, 1: Enabled)"), ValueMap{"0", "1"}, Values{"0", "1"}] String FDVDenyWriteAccess_Name; + [Write, Description("Control use of BitLocker on removable drives (0: Disabled, 1: Enabled)"), ValueMap{"0", "1"}, Values{"0", "1"}] String RDVConfigureBDE; + [Write, Description("Allow users to apply BitLocker protection on removable data drives (Device) (0: False, 1: True)"), ValueMap{"0", "1"}, Values{"0", "1"}] String RDVAllowBDE_Name; + [Write, Description("Enforce drive encryption type on removable data drives (0: Disabled, 1: Enabled)"), ValueMap{"0", "1"}, Values{"0", "1"}] String RDVEncryptionType_Name; + [Write, Description("Select the encryption type: (Device) (0: Allow user to choose (default), 1: Full encryption, 2: Used Space Only encryption)"), ValueMap{"0", "1", "2"}, Values{"0", "1", "2"}] String RDVEncryptionTypeDropDown_Name; + [Write, Description("Allow users to suspend and decrypt BitLocker protection on removable data drives (Device) (0: False, 1: True)"), ValueMap{"0", "1"}, Values{"0", "1"}] String RDVDisableBDE_Name; + [Write, Description("Deny write access to removable drives not protected by BitLocker (0: Disabled, 1: Enabled)"), ValueMap{"0", "1"}, Values{"0", "1"}] String RDVDenyWriteAccess_Name; + [Write, Description("Do not allow write access to devices configured in another organization (0: False, 1: True)"), ValueMap{"0", "1"}, Values{"0", "1"}] String RDVCrossOrg; + [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; + [Write, Description("Access token used for authentication.")] String AccessTokens[]; +}; diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDiskEncryptionWindows10/readme.md b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDiskEncryptionWindows10/readme.md new file mode 100644 index 0000000000..6200b8a4ef --- /dev/null +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDiskEncryptionWindows10/readme.md @@ -0,0 +1,6 @@ + +# IntuneDiskEncryptionWindows10 + +## Description + +Intune Disk Encryption for Windows10 diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDiskEncryptionWindows10/settings.json b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDiskEncryptionWindows10/settings.json new file mode 100644 index 0000000000..0597c5d0dc --- /dev/null +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDiskEncryptionWindows10/settings.json @@ -0,0 +1,29 @@ +{ + "resourceName": "IntuneDiskEncryptionWindows10", + "description": "This resource configures an Intune Disk Encryption for Windows10.", + "permissions": { + "graph": { + "delegated": { + "read": [ + { + "name": "DeviceManagementConfiguration.Read.All" + } + ], + "update": [ + + ] + }, + "application": { + "read": [ + { + "name": "DeviceManagementConfiguration.ReadWrite.All" + } + ], + "update": [ + + ] + } + } +} + +} diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionWindows10/1-Create.ps1 new file mode 100644 index 0000000000..6b4fec3bcb --- /dev/null +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionWindows10/1-Create.ps1 @@ -0,0 +1,33 @@ +<# +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(Mandatory = $true)] + [PSCredential] + $Credscredential + ) + Import-DscResource -ModuleName Microsoft365DSC + + Node localhost + { + IntuneDiskEncryptionWindows10 'myDiskEncryption' + { + DisplayName = 'Disk Encryption' + Assignments = @( + MSFT_DeviceManagementConfigurationPolicyAssignments { + deviceAndAppManagementAssignmentFilterType = 'none' + dataType = '#microsoft.graph.allDevicesAssignmentTarget' + }) + Description = '' + IdentificationField_Name = '1' + IdentificationField = 'IdentificationField' + SecIdentificationField = 'SecIdentificationField' + Ensure = 'Present' + Credential = $Credscredential + } + } +} diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionWindows10/2-Update.ps1 new file mode 100644 index 0000000000..c67330aaef --- /dev/null +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionWindows10/2-Update.ps1 @@ -0,0 +1,33 @@ +<# +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(Mandatory = $true)] + [PSCredential] + $Credscredential + ) + Import-DscResource -ModuleName Microsoft365DSC + + Node localhost + { + IntuneDiskEncryptionWindows10 'myDiskEncryption' + { + DisplayName = 'Disk Encryption' + Assignments = @( + MSFT_DeviceManagementConfigurationPolicyAssignments { + deviceAndAppManagementAssignmentFilterType = 'none' + dataType = '#microsoft.graph.allDevicesAssignmentTarget' + }) + Description = '' + IdentificationField_Name = '1' + IdentificationField = 'IdentificationField' + SecIdentificationField = 'UpdatedSecIdentificationField' # Updated property + Ensure = 'Present' + Credential = $Credscredential + } + } +} diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionWindows10/3-Remove.ps1 new file mode 100644 index 0000000000..6941fe6603 --- /dev/null +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionWindows10/3-Remove.ps1 @@ -0,0 +1,25 @@ +<# +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(Mandatory = $true)] + [PSCredential] + $Credscredential + ) + Import-DscResource -ModuleName Microsoft365DSC + + Node localhost + { + IntuneDiskEncryptionWindows10 'myDiskEncryption' + { + DisplayName = 'Disk Encryption' + Description = '' + Ensure = 'Absent' + Credential = $Credscredential + } + } +} diff --git a/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 b/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 index 73d062f5c2..b51f333671 100644 --- a/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 +++ b/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 @@ -1500,7 +1500,15 @@ function Get-IntuneSettingCatalogPolicySetting $_.Id -eq $settingInstanceTemplate.SettingDefinitionId -and ` ($_.AdditionalProperties.dependentOn.Count -eq 0 -and $_.AdditionalProperties.options.dependentOn.Count -eq 0) } - $settingName = $settingInstanceTemplate.SettingDefinitionId.split('_') | Select-Object -Last 1 + if ($null -eq $settingDefinition) + { + continue + } + if ($settingDefinition -is [System.Array]) + { + $settingDefinition = $settingDefinition[0] + } + $settingName = $settingDefinition.Name $settingType = $settingInstanceTemplate.AdditionalProperties.'@odata.type'.Replace('InstanceTemplate', 'Instance') $settingInstance.Add('@odata.type', $settingType) if (-not [string]::IsNullOrEmpty($settingInstanceTemplate.settingInstanceTemplateId)) @@ -1598,8 +1606,12 @@ function Get-IntuneSettingCatalogPolicySettingInstanceValue { $groupSettingCollectionValue = @{} $groupSettingCollectionValueChildren = @() + $groupSettingCollectionDefinitionChildren = @() - $groupSettingCollectionDefinitionChildren = $SettingTemplates.SettingDefinitions | Where-Object { + $templates = $SettingTemplates | Where-Object { + $_.settingInstanceTemplate.settingDefinitionId -eq $SettingDefinition.RootDefinitionId + } + $groupSettingCollectionDefinitionChildren += $templates.SettingDefinitions | Where-Object { ($_.AdditionalProperties.dependentOn.Count -gt 0 -and $_.AdditionalProperties.dependentOn.parentSettingId.Contains($SettingDefinition.Id)) -or ($_.AdditionalProperties.options.dependentOn.Count -gt 0 -and $_.AdditionalProperties.options.dependentOn.parentSettingId.Contains($SettingDefinition.Id)) } @@ -1610,6 +1622,8 @@ function Get-IntuneSettingCatalogPolicySettingInstanceValue $childSettingValueName = $childSettingType.Replace('#microsoft.graph.deviceManagementConfiguration', '').Replace('Instance', 'Value') $childSettingValueType = "#microsoft.graph.deviceManagementConfiguration$($childSettingValueName)" $childSettingValueName = $childSettingValueName.Substring(0, 1).ToLower() + $childSettingValueName.Substring(1, $childSettingValueName.length - 1 ) + $childSettingInstanceTemplate = $SettingTemplates.SettingInstanceTemplate | Where-Object { $_.SettingDefinitionId -eq $childDefinition.Id } + $childSettingValueTemplateId = $childSettingInstanceTemplate.AdditionalProperties."$($childSettingValueName)Template".settingValueTemplateId $childSettingValue = Get-IntuneSettingCatalogPolicySettingInstanceValue ` -DSCParams $DSCParams ` -SettingDefinition $childDefinition ` @@ -1617,7 +1631,8 @@ function Get-IntuneSettingCatalogPolicySettingInstanceValue -SettingName $childSettingName ` -SettingType $childDefinition.AdditionalProperties.'@odata.type' ` -SettingValueName $childSettingValueName ` - -SettingValueType $childSettingValueType + -SettingValueType $childSettingValueType ` + -SettingValueTemplateId $childSettingValueTemplateId if ($childSettingValue.Keys.Count -gt 0) { @@ -1625,6 +1640,10 @@ function Get-IntuneSettingCatalogPolicySettingInstanceValue { $childSettingValue.Add('settingDefinitionId', $childDefinition.Id) } + if (-not [string]::IsNullOrEmpty($childSettingInstanceTemplate.settingInstanceTemplateId)) + { + $childSettingValue.Add('settingInstanceTemplateReference', @{'settingInstanceTemplateId' = $childSettingInstanceTemplate.settingInstanceTemplateId }) + } $childSettingValue.Add('@odata.type', $childSettingType) $groupSettingCollectionValueChildren += $childSettingValue } @@ -1640,11 +1659,18 @@ function Get-IntuneSettingCatalogPolicySettingInstanceValue { $choiceSettingValue = @{} $choiceSettingValueChildren = @() + $choiceSettingDefinitionChildren = @() - # Choice settings almost always have children settings, so we need to fetch those - $choiceSettingDefinitionChildren = $SettingTemplates.SettingDefinitions | Where-Object { - ($_.AdditionalProperties.dependentOn.Count -gt 0 -and $_.AdditionalProperties.dependentOn.parentSettingId.Contains($SettingDefinition.Id)) -or - ($_.AdditionalProperties.options.dependentOn.Count -gt 0 -and $_.AdditionalProperties.options.dependentOn.parentSettingId.Contains($SettingDefinition.Id)) + # Choice settings almost always have child settings, so we need to fetch those + if ($null -ne $SettingDefinition) + { + $templates = $SettingTemplates | Where-Object { + $_.settingInstanceTemplate.settingDefinitionId -eq $SettingDefinition.RootDefinitionId + } + $choiceSettingDefinitionChildren += $templates.SettingDefinitions | Where-Object { + ($_.AdditionalProperties.dependentOn.Count -gt 0 -and $_.AdditionalProperties.dependentOn.parentSettingId.Contains($SettingDefinition.Id)) -or + ($_.AdditionalProperties.options.dependentOn.Count -gt 0 -and $_.AdditionalProperties.options.dependentOn.parentSettingId.Contains($SettingDefinition.Id)) + } } foreach ($childDefinition in $choiceSettingDefinitionChildren) { @@ -1653,6 +1679,8 @@ function Get-IntuneSettingCatalogPolicySettingInstanceValue $childSettingValueName = $childSettingType.Replace('#microsoft.graph.deviceManagementConfiguration', '').Replace('Instance', 'Value') $childSettingValueType = "#microsoft.graph.deviceManagementConfiguration$($childSettingValueName)" $childSettingValueName = $childSettingValueName.Substring(0, 1).ToLower() + $childSettingValueName.Substring(1, $childSettingValueName.Length - 1 ) + $childSettingInstanceTemplate = $SettingTemplates.SettingInstanceTemplate | Where-Object { $_.SettingDefinitionId -eq $childDefinition.Id } + $childSettingValueTemplateId = $childSettingInstanceTemplate.AdditionalProperties."$($childSettingValueName)Template".settingValueTemplateId $childSettingValue = Get-IntuneSettingCatalogPolicySettingInstanceValue ` -DSCParams $DSCParams ` -SettingDefinition $childDefinition ` @@ -1660,7 +1688,8 @@ function Get-IntuneSettingCatalogPolicySettingInstanceValue -SettingName $childSettingName ` -SettingType $childDefinition.AdditionalProperties.'@odata.type' ` -SettingValueName $childSettingValueName ` - -SettingValueType $childSettingValueType + -SettingValueType $childSettingValueType ` + -SettingValueTemplateId $childSettingValueTemplateId if ($childSettingValue.Keys.Count -gt 0) { @@ -1668,6 +1697,10 @@ function Get-IntuneSettingCatalogPolicySettingInstanceValue { $childSettingValue.Add('settingDefinitionId', $childDefinition.Id) } + if (-not [string]::IsNullOrEmpty($childSettingInstanceTemplate.settingInstanceTemplateId)) + { + $childSettingValue.Add('settingInstanceTemplateReference', @{'settingInstanceTemplateId' = $childSettingInstanceTemplate.settingInstanceTemplateId }) + } $childSettingValue.Add('@odata.type', $childSettingType) $choiceSettingValueChildren += $childSettingValue } @@ -1680,17 +1713,19 @@ function Get-IntuneSettingCatalogPolicySettingInstanceValue $choiceSettingValue.Add('children', @()) } - $paramKey = $null - $paramKey = $DSCParams.Keys | Where-Object { $_ -eq $SettingName } - if ($null -eq $paramKey) - { - $paramKey = $SettingName - } + $valueResult = Get-IntuneSettingCatalogPolicySettingDSCValue ` + -SettingName $SettingName ` + -SettingValueType $SettingValueType ` + -SettingTemplates $SettingTemplates ` + -SettingDefinition $SettingDefinition ` + -DSCParams $DSCParams + + $value = $valueResult.Value # If there is a value in the DSC params, we add that to the choice setting - if ($null -ne $DSCParams[$paramKey]) + if ($null -ne $value) { - $value = "$($SettingDefinition.Id)_$($DSCParams[$paramKey])" + $value = $value $choiceSettingValue.Add('value', $value) $odataType = $SettingType.Replace('Definition', 'Value').Replace('Instance', 'Value') $choiceSettingValue.Add('@odata.type', $odataType) @@ -1709,64 +1744,16 @@ function Get-IntuneSettingCatalogPolicySettingInstanceValue # SimpleSettingCollections are collections of simple settings, e.g. strings or integers { $_ -eq '#microsoft.graph.deviceManagementConfigurationSimpleSettingCollectionInstance' -or $_ -eq '#microsoft.graph.deviceManagementConfigurationSimpleSettingCollectionDefinition' } { - [array]$values = @() - # Go over all the values that have not yet been processed - foreach ($key in ($DSCParams.Keys | Where-Object { $_ -notin $global:excludedDscParams })) - { - $matchCombined = $false - $matchesId = $false - $name = $SettingTemplates.SettingDefinitions.Name | Where-Object -FilterScript { $_ -eq $key } - if ($name.Count -ne 1) - { - # Key might have been combined with parent setting, try to split it - if ($key -like "*_*") - { - $parentSettingName = $key.Split('_')[0] - $childSettingName = $key.Replace("$($parentSettingName)_", '') - $parentDefinition = $SettingTemplates.SettingDefinitions | Where-Object { $_.Name -eq $parentSettingName } - $childDefinition = $SettingTemplates.SettingDefinitions | Where-Object { $_.Name -eq $childSettingName -and $_.AdditionalProperties.dependentOn.parentSettingId.Contains($parentDefinition.Id) } - if ($null -ne $parentDefinition -and $null -ne $childDefinition) - { - # Parent was combined with child setting. Since there can be multiple settings with the same Name, we need to check the Id as well - if ($SettingDefinition.Id -eq $childDefinition.Id) - { - $global:excludedDscParams += $key - $matchCombined = $true - } - } - } + $valuesResult = Get-IntuneSettingCatalogPolicySettingDSCValue ` + -SettingName $SettingName ` + -SettingValueType $SettingValueType ` + -SettingTemplates $SettingTemplates ` + -SettingDefinition $SettingDefinition ` + -DSCParams $DSCParams - if (-not $matchCombined) - { - # Parent was not combined, look for the Id - $SettingTemplates.SettingDefinitions | ForEach-Object { - if ($_.Id -notin $global:excludedDefinitionIds -and $_.Name -eq $SettingName -and $_.Id -like "*$key") - { - $global:excludedDefinitionIds += $_.Id - $matchesId = $true - } - } - } - } + $values = $valuesResult.Value + $SettingValueType = $valuesResult.SettingValueType - # If there is exactly one setting with the name, the setting is combined or the id matches, we add the DSC value to the values array and update the real setting value type - if (($name.Count -eq 1 -and $SettingName -eq $key) -or $matchCombined -or $matchesId) - { - if ($SettingValueType -like "*Simple*") - { - if ($DSCParams[$key] -is [System.String[]]) - { - $SettingValueType = "#microsoft.graph.deviceManagementConfigurationStringSettingValue" - } - elseif ($DSCParams[$key] -is [System.Int32[]]) - { - $SettingValueType = "#microsoft.graph.deviceManagementConfigurationIntegerSettingValue" - } - } - $values += $DSCParams[$key] - break - } - } $settingValueCollection = @() foreach ($v in $values) { @@ -1782,69 +1769,16 @@ function Get-IntuneSettingCatalogPolicySettingInstanceValue # For all other types, e.g. Integer, String, Boolean, etc., we add the value directly Default { - $value = $null - # Go over all the values that have not yet been processed - foreach ($key in ($DSCParams.Keys | Where-Object { $_ -notin $global:excludedDscParams })) - { - $matchCombined = $false - $matchesId = $false - $name = $SettingTemplates.SettingDefinitions.Name | Where-Object -FilterScript { $_ -eq $key } - if ($name.Count -ne 1) - { - # Key might have been combined with parent setting, try to split it - if ($key -like "*_*") - { - $parentSettingName = $key.Split('_')[0] - $childSettingName = $key.Replace("$($parentSettingName)_", '') - $parentDefinition = $SettingTemplates.SettingDefinitions | Where-Object { $_.Name -eq $parentSettingName } - $childDefinition = $SettingTemplates.SettingDefinitions | Where-Object { $_.Name -eq $childSettingName } - if ($null -ne $parentDefinition -and $null -ne $childDefinition) - { - # Parent was combined with child setting - $global:excludedDscParams += $key - $matchCombined = $true - } - } - - if (-not $matchCombined) - { - # Parent was not combined, look for the id - $SettingTemplates.SettingDefinitions | ForEach-Object { - if ($_.Id -notin $global:excludedDefinitionIds -and $_.Name -eq $SettingName -and $_.Id -like "*$key") - { - $global:excludedDefinitionIds += $_.Id - $matchesId = $true - $SettingDefinition = $_ - } - } - } - } + $valueResult = Get-IntuneSettingCatalogPolicySettingDSCValue ` + -SettingName $SettingName ` + -SettingValueType $SettingValueType ` + -SettingTemplates $SettingTemplates ` + -SettingDefinition $SettingDefinition ` + -DSCParams $DSCParams - # If there is exactly one setting with the name, the setting is combined or the id matches, we get the DSC value update the real setting value type - if (($name.Count -eq 1 -and $SettingName -eq $key) -or $matchCombined -or $matchesId) - { - if ($SettingValueType -like "*Simple*") - { - if ($DSCParams[$key] -is [System.String]) - { - $SettingValueType = "#microsoft.graph.deviceManagementConfigurationStringSettingValue" - } - elseif ($DSCParams[$key] -is [System.Int32]) - { - $SettingValueType = "#microsoft.graph.deviceManagementConfigurationIntegerSettingValue" - } - } - if ($SettingValueType -like "*Simple*" -or $SettingValueType -in @("#microsoft.graph.deviceManagementConfigurationIntegerSettingValue", "#microsoft.graph.deviceManagementConfigurationStringSettingValue")) - { - $value = $DSCParams[$key] - } - else - { - $value = "$($SettingDefinition.Id)_$($DSCParams[$key])" - } - break - } - } + $value = $valueResult.Value + $SettingValueType = $valueResult.SettingValueType + $SettingDefinition = $valueResult.SettingDefinition if ($null -eq $value) { @@ -1869,6 +1803,134 @@ function Get-IntuneSettingCatalogPolicySettingInstanceValue return $settingValuesToReturn } +function Get-IntuneSettingCatalogPolicySettingDSCValue +{ + param + ( + [Parameter(Mandatory = $true)] + [System.String] + $SettingName, + + [Parameter()] + [System.String] + $SettingValueType = "", + + [Parameter(Mandatory = $true)] + [System.Array] + $SettingTemplates, + + [Parameter()] + $SettingDefinition, + + [Parameter(Mandatory = $true)] + [System.Collections.Hashtable] + $DSCParams + ) + + # Go over all the values that have not yet been processed + foreach ($key in ($DSCParams.Keys | Where-Object { $_ -notin $global:excludedDscParams })) + { + $matchCombined = $false + $matchesId = $false + $settingDefinitions = $SettingTemplates.SettingDefinitions ` + | Where-Object -FilterScript { $_.Name -eq $key } + + # Edge case where the same setting is defined twice in the template, with the same name and id + if ($settingDefinitions.Count -eq 2) + { + if ($settingDefinitions[0].Id -eq $settingDefinitions[1].Id -and ` + $settingDefinitions[0].Name -eq $settingDefinitions[1].Name) + { + $settingDefinitions = $settingDefinitions[0] + } + } + $name = $settingDefinitions.Name + + if ($name.Count -ne 1) + { + # Key might have been combined with parent setting, try to split it + if ($key -like "*_*") + { + $parentSettingName = $key.Split('_')[0] + $parentDefinition = $SettingTemplates.SettingDefinitions | Where-Object -FilterScript { $_.Name -eq $parentSettingName } + $childDefinition = $SettingTemplates.SettingDefinitions | Where-Object -FilterScript { + $_.Name -eq $SettingName -and + (($_.AdditionalProperties.dependentOn.Count -gt 0 -and $_.AdditionalProperties.dependentOn.parentSettingId.Contains($parentDefinition.Id)) -or + ($_.AdditionalProperties.options.dependentOn.Count -gt 0 -and $_.AdditionalProperties.options.dependentOn.parentSettingId.Contains($parentDefinition.Id)) + ) + } + if ($null -ne $parentDefinition -and $null -ne $childDefinition -and $childDefinition.Id -eq $SettingDefinition.Id) + { + # Parent was combined with child setting. Since there can be multiple settings with the same Name, we need to check the Id as well + if ($SettingDefinition.Id -eq $childDefinition.Id) + { + $global:excludedDscParams += $key + $matchCombined = $true + } + } + } + + if (-not $matchCombined) + { + # Parent was not combined, look for the id + $SettingTemplates.SettingDefinitions | ForEach-Object { + if ($_.Id -notin $global:excludedDefinitionIds -and $_.Name -eq $SettingName -and $_.Id -like "*$key") + { + $global:excludedDefinitionIds += $_.Id + $global:excludedDscParams += $key + $matchesId = $true + $SettingDefinition = $_ + } + } + } + } + + # If there is exactly one setting with the name, the setting is combined or the id matches, we get the DSC value update the real setting value type + if (($name.Count -eq 1 -and $SettingName -eq $key) -or $matchCombined -or $matchesId) + { + $isArray = $false + if ($SettingValueType -like "*Simple*") + { + if ($DSCParams[$key] -is [System.String]) + { + $SettingValueType = "#microsoft.graph.deviceManagementConfigurationStringSettingValue" + } + elseif ($DSCParams[$key] -is [System.Int32]) + { + $SettingValueType = "#microsoft.graph.deviceManagementConfigurationIntegerSettingValue" + } + elseif ($DSCParams[$key] -is [System.String[]]) + { + $SettingValueType = "#microsoft.graph.deviceManagementConfigurationStringSettingValue" + $isArray = $true + } + elseif ($DSCParams[$key] -is [System.Int32[]]) + { + $SettingValueType = "#microsoft.graph.deviceManagementConfigurationIntegerSettingValue" + $isArray = $true + } + } + if ($SettingValueType -like "*Simple*" -or $SettingValueType -in @("#microsoft.graph.deviceManagementConfigurationIntegerSettingValue", "#microsoft.graph.deviceManagementConfigurationStringSettingValue")) + { + return @{ + SettingDefinition = $SettingDefinition + SettingValueType = $SettingValueType + Value = if ($isArray) { ,$DSCParams[$key] } else { $DSCParams[$key] } + } + } + else + { + return @{ + SettingDefinition = $SettingDefinition + SettingValueType = $SettingValueType + Value = "$($SettingDefinition.Id)_$($DSCParams[$key])" + } + } + break + } + } +} + function Export-IntuneSettingCatalogPolicySettings { [CmdletBinding()] diff --git a/ResourceGenerator/M365DSCResourceGenerator.psm1 b/ResourceGenerator/M365DSCResourceGenerator.psm1 index 71a21e7ade..1cc3f8df17 100644 --- a/ResourceGenerator/M365DSCResourceGenerator.psm1 +++ b/ResourceGenerator/M365DSCResourceGenerator.psm1 @@ -731,25 +731,18 @@ function New-M365DSCResource $AssignmentsRemove += " `$BoundParameters.Remove(`"Assignments`") | Out-Null`r`n" - $AssignmentsNew += " `$assignmentsHash = @()`r`n" - $AssignmentsNew += " foreach (`$assignment in `$Assignments)`r`n" - $AssignmentsNew += " {`r`n" - $AssignmentsNew += " `$assignmentsHash += Get-M365DSCDRGComplexTypeToHashtable -ComplexObject `$assignment`r`n" - $AssignmentsNew += " }`r`n" + $AssignmentsNew += " " $AssignmentsNew += "`r`n" $AssignmentsNew += " if (`$policy.Id)`r`n" $AssignmentsNew += " {`r`n" + $AssignmentsNew += " `$assignmentsHash = ConvertTo-IntunePolicyAssignment -IncludeDeviceFilter:`$true -Assignments `$Assignments`r`n" $AssignmentsNew += " Update-DeviceConfigurationPolicyAssignment ```r`n" $AssignmentsNew += " -DeviceConfigurationPolicyId `$policy.Id ```r`n" $AssignmentsNew += " -Targets `$assignmentsHash ```r`n" $AssignmentsNew += " -Repository '$repository'`r`n" $AssignmentsNew += " }`r`n" - $AssignmentsUpdate += " `$assignmentsHash = @()`r`n" - $AssignmentsUpdate += " foreach (`$assignment in `$Assignments)`r`n" - $AssignmentsUpdate += " {`r`n" - $AssignmentsUpdate += " `$assignmentsHash += Get-M365DSCDRGComplexTypeToHashtable -ComplexObject `$assignment`r`n" - $AssignmentsUpdate += " }`r`n" + $AssignmentsUpdate += " `$assignmentsHash = ConvertTo-IntunePolicyAssignment -IncludeDeviceFilter:`$true -Assignments `$Assignments`r`n" $AssignmentsUpdate += " Update-DeviceConfigurationPolicyAssignment ```r`n" $AssignmentsUpdate += " -DeviceConfigurationPolicyId `$currentInstance.Id ```r`n" $AssignmentsUpdate += " -Targets `$assignmentsHash ```r`n" diff --git a/ResourceGenerator/Module.Template.psm1 b/ResourceGenerator/Module.Template.psm1 index 132197bba8..b389ecfab3 100644 --- a/ResourceGenerator/Module.Template.psm1 +++ b/ResourceGenerator/Module.Template.psm1 @@ -370,6 +370,10 @@ function Export-TargetResource { $displayedKey = $config.displayName } + elseif (-not [string]::IsNullOrEmpty($config.name)) + { + $displayedKey = $config.name + } Write-Host " |---[$i/$($getValue.Count)] $displayedKey" -NoNewline $params = @{ = $config. diff --git a/Tests/Unit/Microsoft365DSC/Microsoft365DSC.IntuneDiskEncryptionWindows10.Tests.ps1 b/Tests/Unit/Microsoft365DSC/Microsoft365DSC.IntuneDiskEncryptionWindows10.Tests.ps1 new file mode 100644 index 0000000000..ad519f9c47 --- /dev/null +++ b/Tests/Unit/Microsoft365DSC/Microsoft365DSC.IntuneDiskEncryptionWindows10.Tests.ps1 @@ -0,0 +1,541 @@ +[CmdletBinding()] +param( +) +$M365DSCTestFolder = Join-Path -Path $PSScriptRoot ` + -ChildPath '..\..\Unit' ` + -Resolve +$CmdletModule = (Join-Path -Path $M365DSCTestFolder ` + -ChildPath '\Stubs\Microsoft365.psm1' ` + -Resolve) +$GenericStubPath = (Join-Path -Path $M365DSCTestFolder ` + -ChildPath '\Stubs\Generic.psm1' ` + -Resolve) +Import-Module -Name (Join-Path -Path $M365DSCTestFolder ` + -ChildPath '\UnitTestHelper.psm1' ` + -Resolve) + +$Global:DscHelper = New-M365DscUnitTestHelper -StubModule $CmdletModule ` + -DscResource "IntuneDiskEncryptionWindows10" -GenericStubModule $GenericStubPath +Describe -Name $Global:DscHelper.DescribeHeader -Fixture { + InModuleScope -ModuleName $Global:DscHelper.ModuleName -ScriptBlock { + Invoke-Command -ScriptBlock $Global:DscHelper.InitializeScript -NoNewScope + BeforeAll { + + $secpasswd = ConvertTo-SecureString (New-Guid | Out-String) -AsPlainText -Force + $Credential = New-Object System.Management.Automation.PSCredential ('tenantadmin@mydomain.com', $secpasswd) + + Mock -CommandName Confirm-M365DSCDependencies -MockWith { + } + + Mock -CommandName Get-PSSession -MockWith { + } + + Mock -CommandName Remove-PSSession -MockWith { + } + + Mock -CommandName New-MgBetaDeviceManagementConfigurationPolicy -MockWith { + return @{ + Id = '619bd4a4-3b3b-4441-bd6f-3f4c0c444870' + } + } + + Mock -CommandName Remove-MgBetaDeviceManagementConfigurationPolicy -MockWith { + } + + Mock -CommandName Get-MgBetaDeviceManagementConfigurationPolicy -MockWith { + } + + Mock -CommandName Update-IntuneDeviceConfigurationPolicy -MockWith { + } + + Mock -CommandName Get-IntuneSettingCatalogPolicySetting -MockWith { + } + + Mock -CommandName Get-MgBetaDeviceManagementConfigurationPolicySetting -MockWith { + return ,@() + } + + Mock -CommandName Get-MgBetaDeviceManagementConfigurationPolicyAssignment -MockWith { + return @(@{ + Id = '12345-12345-12345-12345-12345' + Source = 'direct' + SourceId = '12345-12345-12345-12345-12345' + Target = @{ + DeviceAndAppManagementAssignmentFilterId = '12345-12345-12345-12345-12345' + DeviceAndAppManagementAssignmentFilterType = 'none' + AdditionalProperties = @( + @{ + '@odata.type' = '#microsoft.graph.exclusionGroupAssignmentTarget' + groupId = '26d60dd1-fab6-47bf-8656-358194c1a49d' + } + ) + } + }) + } + + Mock -CommandName Update-DeviceConfigurationPolicyAssignment -MockWith { + } + + Mock -CommandName New-M365DSCConnection -MockWith { + return "Credentials" + } + + # Mock Write-Host to hide output during the tests + Mock -CommandName Write-Host -MockWith { + } + $Script:exportedInstances =$null + $Script:ExportMode = $false + } + # Test contexts + Context -Name "The IntuneDiskEncryptionWindows10 should exist but it DOES NOT" -Fixture { + BeforeAll { + $testParams = @{ + Assignments = [CimInstance[]]@( + (New-CimInstance -ClassName MSFT_DeviceManagementConfigurationPolicyAssignments -Property @{ + DataType = '#microsoft.graph.exclusionGroupAssignmentTarget' + groupId = '26d60dd1-fab6-47bf-8656-358194c1a49d' + } -ClientOnly) + ) + Description = "FakeStringValue" + DisplayName = "FakeStringValue" + Id = "FakeStringValue" + IdentificationField_Name = "1" + IdentificationField = "Field" + SecIdentificationField = "SecField" + RoleScopeTagIds = @("FakeStringValue") + Ensure = "Present" + Credential = $Credential; + } + + Mock -CommandName Get-MgBetaDeviceManagementConfigurationPolicy -MockWith { + return $null + } + } + It 'Should return Values from the Get method' { + (Get-TargetResource @testParams).Ensure | Should -Be 'Absent' + } + It 'Should return false from the Test method' { + Test-TargetResource @testParams | Should -Be $false + } + It 'Should Create the group from the Set method' { + Set-TargetResource @testParams + Should -Invoke -CommandName New-MgBetaDeviceManagementConfigurationPolicy -Exactly 1 + } + } + + Context -Name "The IntuneDiskEncryptionWindows10 exists but it SHOULD NOT" -Fixture { + BeforeAll { + $testParams = @{ + Assignments = [CimInstance[]]@( + (New-CimInstance -ClassName MSFT_DeviceManagementConfigurationPolicyAssignments -Property @{ + DataType = '#microsoft.graph.exclusionGroupAssignmentTarget' + groupId = '26d60dd1-fab6-47bf-8656-358194c1a49d' + } -ClientOnly) + ) + Description = "FakeStringValue" + DisplayName = "FakeStringValue" + Id = "FakeStringValue" + IdentificationField_Name = "1" + IdentificationField = "Field" + SecIdentificationField = "SecField" + RoleScopeTagIds = @("FakeStringValue") + Ensure = 'Absent' + Credential = $Credential; + } + + Mock -CommandName Get-MgBetaDeviceManagementConfigurationPolicy -MockWith { + return @{ + Description = "FakeStringValue" + Id = "FakeStringValue" + Name = "FakeStringValue" + RoleScopeTagIds = @("FakeStringValue") + TemplateReference = @{ + TemplateId = '46ddfc50-d10f-4867-b852-9434254b3bff_1' + } + } + } + + Mock -CommandName Get-MgBetaDeviceManagementConfigurationPolicySetting -MockWith { + return @{ + Id = '0' + SettingDefinitions = @( + @{ + Id = 'device_vendor_msft_bitlocker_identificationfield_identificationfield' + Name = 'IdentificationField' + AdditionalProperties = @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationSimpleSettingDefinition' + } + }, + @{ + Id = 'device_vendor_msft_bitlocker_identificationfield' + Name = 'IdentificationField_Name' + AdditionalProperties = @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationChoiceSettingDefinition' + } + }, + @{ + Id = 'device_vendor_msft_bitlocker_identificationfield_secidentificationfield' + Name = 'SecIdentificationField' + AdditionalProperties = @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationSimpleSettingDefinition' + } + } + ) + SettingInstance = @{ + SettingDefinitionId = 'device_vendor_msft_bitlocker_identificationfield' + SettingInstanceTemplateReference = @{ + SettingInstanceTemplateId = '3aeb9145-2c02-4086-8886-44dbe09c2f62' + } + AdditionalProperties = @( + @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationChoiceSettingInstance' + choiceSettingValue = @( + @{ + children = @( + @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationSimpleSettingInstance' + settingDefinitionId = 'device_vendor_msft_bitlocker_identificationfield_identificationfield' + simpleSettingValue = @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationStringSettingValue' + value = 'Field' + } + }, + @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationSimpleSettingInstance' + settingDefinitionId = 'device_vendor_msft_bitlocker_identificationfield_secidentificationfield' + simpleSettingValue = @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationStringSettingValue' + value = 'SecField' + } + } + ) + value = 'device_vendor_msft_bitlocker_identificationfield_1' + } + ) + } + ) + } + AdditionalProperties = @{} + } + } + } + + It 'Should return Values from the Get method' { + (Get-TargetResource @testParams).Ensure | Should -Be 'Present' + } + + It 'Should return true from the Test method' { + Test-TargetResource @testParams | Should -Be $false + } + + It 'Should Remove the group from the Set method' { + Set-TargetResource @testParams + Should -Invoke -CommandName Remove-MgBetaDeviceManagementConfigurationPolicy -Exactly 1 + } + } + Context -Name "The IntuneDiskEncryptionWindows10 Exists and Values are already in the desired state" -Fixture { + BeforeAll { + $testParams = @{ + Assignments = [CimInstance[]]@( + (New-CimInstance -ClassName MSFT_DeviceManagementConfigurationPolicyAssignments -Property @{ + DataType = '#microsoft.graph.exclusionGroupAssignmentTarget' + groupId = '26d60dd1-fab6-47bf-8656-358194c1a49d' + } -ClientOnly) + ) + Description = "FakeStringValue" + DisplayName = "FakeStringValue" + Id = "FakeStringValue" + IdentificationField_Name = "1" + IdentificationField = "Field" + SecIdentificationField = "SecField" + RoleScopeTagIds = @("FakeStringValue") + Ensure = 'Present' + Credential = $Credential; + } + + Mock -CommandName Get-MgBetaDeviceManagementConfigurationPolicy -MockWith { + return @{ + Description = "FakeStringValue" + Id = "FakeStringValue" + Name = "FakeStringValue" + RoleScopeTagIds = @("FakeStringValue") + TemplateReference = @{ + TemplateId = '46ddfc50-d10f-4867-b852-9434254b3bff_1' + } + } + } + + Mock -CommandName Get-MgBetaDeviceManagementConfigurationPolicySetting -MockWith { + return @{ + Id = '0' + SettingDefinitions = @( + @{ + Id = 'device_vendor_msft_bitlocker_identificationfield_identificationfield' + Name = 'IdentificationField' + AdditionalProperties = @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationSimpleSettingDefinition' + } + }, + @{ + Id = 'device_vendor_msft_bitlocker_identificationfield' + Name = 'IdentificationField_Name' + AdditionalProperties = @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationChoiceSettingDefinition' + } + }, + @{ + Id = 'device_vendor_msft_bitlocker_identificationfield_secidentificationfield' + Name = 'SecIdentificationField' + AdditionalProperties = @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationSimpleSettingDefinition' + } + } + ) + SettingInstance = @{ + SettingDefinitionId = 'device_vendor_msft_bitlocker_identificationfield' + SettingInstanceTemplateReference = @{ + SettingInstanceTemplateId = '3aeb9145-2c02-4086-8886-44dbe09c2f62' + } + AdditionalProperties = @( + @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationChoiceSettingInstance' + choiceSettingValue = @( + @{ + children = @( + @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationSimpleSettingInstance' + settingDefinitionId = 'device_vendor_msft_bitlocker_identificationfield_identificationfield' + simpleSettingValue = @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationStringSettingValue' + value = 'Field' + } + }, + @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationSimpleSettingInstance' + settingDefinitionId = 'device_vendor_msft_bitlocker_identificationfield_secidentificationfield' + simpleSettingValue = @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationStringSettingValue' + value = 'SecField' + } + } + ) + value = 'device_vendor_msft_bitlocker_identificationfield_1' + } + ) + } + ) + } + AdditionalProperties = @{} + } + } + } + + It 'Should return true from the Test method' { + Test-TargetResource @testParams | Should -Be $true + } + } + + Context -Name "The IntuneDiskEncryptionWindows10 exists and values are NOT in the desired state" -Fixture { + BeforeAll { + $testParams = @{ + Assignments = [CimInstance[]]@( + (New-CimInstance -ClassName MSFT_DeviceManagementConfigurationPolicyAssignments -Property @{ + DataType = '#microsoft.graph.exclusionGroupAssignmentTarget' + groupId = '26d60dd1-fab6-47bf-8656-358194c1a49d' + } -ClientOnly) + ) + Description = "FakeStringValue" + Id = "FakeStringValue" + IdentificationField_Name = "1" + IdentificationField = "Field" + SecIdentificationField = "SecField" + DisplayName = "FakeStringValue" + RoleScopeTagIds = @("FakeStringValue") + Ensure = 'Present' + Credential = $Credential; + } + + Mock -CommandName Get-MgBetaDeviceManagementConfigurationPolicy -MockWith { + return @{ + Description = "FakeStringValue" + Id = "FakeStringValue" + Name = "FakeStringValue" + RoleScopeTagIds = @("FakeStringValue") + TemplateReference = @{ + TemplateId = '46ddfc50-d10f-4867-b852-9434254b3bff_1' + } + } + } + + Mock -CommandName Get-MgBetaDeviceManagementConfigurationPolicySetting -MockWith { + return @{ + Id = '0' + SettingDefinitions = @( + @{ + Id = 'device_vendor_msft_bitlocker_identificationfield_identificationfield' + Name = 'IdentificationField' + AdditionalProperties = @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationSimpleSettingDefinition' + } + }, + @{ + Id = 'device_vendor_msft_bitlocker_identificationfield' + Name = 'IdentificationField_Name' + AdditionalProperties = @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationChoiceSettingDefinition' + } + }, + @{ + Id = 'device_vendor_msft_bitlocker_identificationfield_secidentificationfield' + Name = 'SecIdentificationField' + AdditionalProperties = @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationSimpleSettingDefinition' + } + } + ) + SettingInstance = @{ + SettingDefinitionId = 'device_vendor_msft_bitlocker_identificationfield' + SettingInstanceTemplateReference = @{ + SettingInstanceTemplateId = '3aeb9145-2c02-4086-8886-44dbe09c2f62' + } + AdditionalProperties = @( + @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationChoiceSettingInstance' + choiceSettingValue = @( + @{ + children = @( + @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationSimpleSettingInstance' + settingDefinitionId = 'device_vendor_msft_bitlocker_identificationfield_identificationfield' + simpleSettingValue = @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationStringSettingValue' + value = 'ChangedValue' #drift + } + }, + @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationSimpleSettingInstance' + settingDefinitionId = 'device_vendor_msft_bitlocker_identificationfield_secidentificationfield' + simpleSettingValue = @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationStringSettingValue' + value = 'SecField' + } + } + ) + value = 'device_vendor_msft_bitlocker_identificationfield_1' + } + ) + } + ) + } + AdditionalProperties = @{} + } + } + } + + It 'Should return Values from the Get method' { + (Get-TargetResource @testParams).Ensure | Should -Be 'Present' + } + + It 'Should return false from the Test method' { + Test-TargetResource @testParams | Should -Be $false + } + + It 'Should call the Set method' { + Set-TargetResource @testParams + Should -Invoke -CommandName Update-IntuneDeviceConfigurationPolicy -Exactly 1 + } + } + + Context -Name 'ReverseDSC Tests' -Fixture { + BeforeAll { + $Global:CurrentModeIsExport = $true + $Global:PartialExportFileName = "$(New-Guid).partial.ps1" + $testParams = @{ + Credential = $Credential + } + + Mock -CommandName Get-MgBetaDeviceManagementConfigurationPolicy -MockWith { + return @{ + Description = "FakeStringValue" + Id = "FakeStringValue" + Name = "FakeStringValue" + RoleScopeTagIds = @("FakeStringValue") + TemplateReference = @{ + TemplateId = '46ddfc50-d10f-4867-b852-9434254b3bff_1' + } + } + } + + Mock -CommandName Get-MgBetaDeviceManagementConfigurationPolicySetting -MockWith { + return @{ + Id = '0' + SettingDefinitions = @( + @{ + Id = 'device_vendor_msft_bitlocker_identificationfield_identificationfield' + Name = 'IdentificationField' + AdditionalProperties = @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationSimpleSettingDefinition' + } + }, + @{ + Id = 'device_vendor_msft_bitlocker_identificationfield' + Name = 'IdentificationField_Name' + AdditionalProperties = @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationChoiceSettingDefinition' + } + }, + @{ + Id = 'device_vendor_msft_bitlocker_identificationfield_secidentificationfield' + Name = 'SecIdentificationField' + AdditionalProperties = @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationSimpleSettingDefinition' + } + } + ) + SettingInstance = @{ + SettingDefinitionId = 'device_vendor_msft_bitlocker_identificationfield' + SettingInstanceTemplateReference = @{ + SettingInstanceTemplateId = '3aeb9145-2c02-4086-8886-44dbe09c2f62' + } + AdditionalProperties = @( + @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationChoiceSettingInstance' + choiceSettingValue = @( + @{ + children = @( + @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationSimpleSettingInstance' + settingDefinitionId = 'device_vendor_msft_bitlocker_identificationfield_identificationfield' + simpleSettingValue = @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationStringSettingValue' + value = 'Field' + } + }, + @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationSimpleSettingInstance' + settingDefinitionId = 'device_vendor_msft_bitlocker_identificationfield_secidentificationfield' + simpleSettingValue = @{ + '@odata.type' = '#microsoft.graph.deviceManagementConfigurationStringSettingValue' + value = 'SecField' + } + } + ) + value = 'device_vendor_msft_bitlocker_identificationfield_1' + } + ) + } + ) + } + AdditionalProperties = @{} + } + } + } + It 'Should Reverse Engineer resource from the Export method' { + $result = Export-TargetResource @testParams + $result | Should -Not -BeNullOrEmpty + } + } + } +} + +Invoke-Command -ScriptBlock $Global:DscHelper.CleanupScript -NoNewScope From 2f45539f73a44d8a323c49015e5f6279cb459aaf Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Fri, 12 Jul 2024 09:55:12 -0400 Subject: [PATCH 027/123] Update TestHarness.psm1 --- Tests/TestHarness.psm1 | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Tests/TestHarness.psm1 b/Tests/TestHarness.psm1 index 964a9d8af2..ecc798f884 100644 --- a/Tests/TestHarness.psm1 +++ b/Tests/TestHarness.psm1 @@ -156,7 +156,17 @@ function Get-M365DSCAllGraphPermissionsList 'ReportSettings.Read.All', ` 'RoleManagementPolicy.Read.Directory', ` 'RoleEligibilitySchedule.Read.Directory', ` - 'Agreement.Read.All') + 'Agreement.Read.All', ` + 'Policy.ReadWrite.ConditionalAccess', ` + 'Policy.Read.ConditionalAccess', ` + 'Policy.ReadWrite.AuthenticationMethod', ` + 'SharePointTenantSettings.Read.All', ` + 'AppCatalog.ReadWrite.All', ` + 'TeamSettings.ReadWrite.All', ` + 'Channel.Delete.All', ` + 'ChannelSettings.ReadWrite.All', ` + 'ChannelMember.ReadWrite.All', ` + 'ChannelSettings.Read.All') $roles = $allPermissions | Select-Object -Unique | Sort-Object -Descending:$false return $roles } From 498251547152911eb04f9a2040f4c3090bb013bb Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Fri, 12 Jul 2024 12:04:41 -0400 Subject: [PATCH 028/123] Update Scheduled - Generate Permission List.yml --- .github/workflows/Scheduled - Generate Permission List.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/Scheduled - Generate Permission List.yml b/.github/workflows/Scheduled - Generate Permission List.yml index dd757bd56f..e9695f17ed 100644 --- a/.github/workflows/Scheduled - Generate Permission List.yml +++ b/.github/workflows/Scheduled - Generate Permission List.yml @@ -1,5 +1,9 @@ name: Generate Permissions List on: + push: + branches: + - Master + - Dev schedule: - cron: "0 0 * * *" From 1de104f1ca385d1a52ed2dbfaa15a4f96293609b Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Fri, 12 Jul 2024 16:40:44 +0000 Subject: [PATCH 029/123] Updated Graph Permissions List --- Tests/QA/Graph.PermissionList.txt | Bin 5900 -> 6482 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Tests/QA/Graph.PermissionList.txt b/Tests/QA/Graph.PermissionList.txt index f2a8640678c23b6d93a732cdad679f8a59ea0cf7..c93a18fc2437da9a126bdba3ce5f5eed8484dce2 100644 GIT binary patch delta 348 zcmeCtyJWN>fRQtip@bokA%`J;4oBbHAm~1nEf_Xrg3Y5}gZ~@b)K&7cb zo+D5!he3zInE_dqFHkO*AqhwpO%`O6=S7j7951YjAtF7QPe5ey3TBDT^O#w9mGyuI z<^!!vVaNnplnG{oT;|A-41}o+#SF!h Date: Fri, 12 Jul 2024 14:13:35 -0400 Subject: [PATCH 030/123] Fixing Examples --- .../Resources/AADAdministrativeUnit/1-Create.ps1 | 3 +-- .../Resources/AADAdministrativeUnit/2-Update.ps1 | 3 +-- .../Resources/AADAdministrativeUnit/3-Remove.ps1 | 1 - .../Examples/Resources/AADApplication/1-Create.ps1 | 10 ++++------ .../Examples/Resources/AADApplication/2-Update.ps1 | 9 ++++----- .../1-Create.ps1 | 7 +++---- .../2-Update.ps1 | 7 +++---- 7 files changed, 16 insertions(+), 24 deletions(-) diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/1-Create.ps1 index 31c5d07bc5..a9e23649f8 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/1-Create.ps1 @@ -20,7 +20,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADAdministrativeUnit 'TestUnit' @@ -36,7 +35,7 @@ Configuration Example RoleName = 'User Administrator' RoleMemberInfo = MSFT_MicrosoftGraphMember { - Identity = "admin@$Domain" + Identity = "admin@$TenantId" Type = "User" } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/2-Update.ps1 index bd5fd79f4c..b669251635 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/2-Update.ps1 @@ -20,7 +20,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADAdministrativeUnit 'TestUnit' @@ -37,7 +36,7 @@ Configuration Example RoleName = 'User Administrator' RoleMemberInfo = MSFT_MicrosoftGraphMember { - Identity = "AdeleV@$Domain" # Updated Property + Identity = "AdeleV@$TenantId" # Updated Property Type = "User" } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/3-Remove.ps1 index 9de6056775..5333b1ca40 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/3-Remove.ps1 @@ -20,7 +20,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADAdministrativeUnit 'TestUnit' diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADApplication/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADApplication/1-Create.ps1 index e121cf248b..9e3249b1a7 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADApplication/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADApplication/1-Create.ps1 @@ -19,8 +19,6 @@ Configuration Example $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADApplication 'AADApp1' @@ -29,12 +27,12 @@ Configuration Example AvailableToOtherTenants = $false Description = "Application Description" GroupMembershipClaims = "None" - Homepage = "https://$Domain" - IdentifierUris = "https://$Domain" + Homepage = "https://$TenandId" + IdentifierUris = "https://$TenandId" KnownClientApplications = "" - LogoutURL = "https://$Domain/logout" + LogoutURL = "https://$TenandId/logout" PublicClient = $false - ReplyURLs = "https://$Domain" + ReplyURLs = "https://$TenandId" Permissions = @( MSFT_AADApplicationPermission { diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADApplication/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADApplication/2-Update.ps1 index d77b1a52b8..dbb9ac1e5d 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADApplication/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADApplication/2-Update.ps1 @@ -20,7 +20,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADApplication 'AADApp1' @@ -29,12 +28,12 @@ Configuration Example AvailableToOtherTenants = $true # Updated Property Description = "Application Description" GroupMembershipClaims = "None" - Homepage = "https://$Domain" - IdentifierUris = "https://$Domain" + Homepage = "https://$TenandId" + IdentifierUris = "https://$TenandId" KnownClientApplications = "" - LogoutURL = "https://$Domain/logout" + LogoutURL = "https://$TenandId/logout" PublicClient = $false - ReplyURLs = "https://$Domain" + ReplyURLs = "https://$TenandId" Permissions = @( MSFT_AADApplicationPermission { diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 index 21ae8d25c5..c0c53860d8 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 @@ -20,19 +20,18 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { DisplayName = 'Human Resources' CatalogId = 'My Catalog' - Description = "https://$($Domain.Split('.')[0]).sharepoint.com/sites/HumanResources" + Description = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" IsPendingOnboarding = $true - OriginId = "https://$($Domain.Split('.')[0]).sharepoint.com/sites/HumanResources" + OriginId = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" OriginSystem = 'SharePointOnline' ResourceType = 'SharePoint Online Site' - Url = "https://$($Domain.Split('.')[0]).sharepoint.com/sites/HumanResources" + Url = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" Ensure = 'Present' ApplicationId = $ApplicationId TenantId = $TenantId diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 index c948f13fb9..c91456105f 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 @@ -20,19 +20,18 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { DisplayName = 'Human Resources' CatalogId = 'My Catalog' - Description = "https://$($Domain.Split('.')[0]).sharepoint.com/sites/HumanResources" + Description = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" IsPendingOnboarding = $false # Updated Property - OriginId = "https://$($Domain.Split('.')[0]).sharepoint.com/sites/HumanResources" + OriginId = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" OriginSystem = 'SharePointOnline' ResourceType = 'SharePoint Online Site' - Url = "https://$($Domain.Split('.')[0]).sharepoint.com/sites/HumanResources" + Url = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" Ensure = 'Present' ApplicationId = $ApplicationId TenantId = $TenantId From 0e2e884f7a55f36ceae0c829845689aa38a345ad Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Fri, 12 Jul 2024 18:16:40 +0000 Subject: [PATCH 031/123] Updated {Create} AAD Integration Tests --- .../M365DSCIntegration.AAD.Create.Tests.ps1 | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 index 6b22978208..74d72414cb 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 @@ -47,7 +47,7 @@ RoleName = 'User Administrator' RoleMemberInfo = MSFT_MicrosoftGraphMember { - Identity = "admin@$Domain" + Identity = "admin@$TenantId" Type = "User" } } @@ -62,12 +62,12 @@ AvailableToOtherTenants = $false Description = "Application Description" GroupMembershipClaims = "None" - Homepage = "https://$Domain" - IdentifierUris = "https://$Domain" + Homepage = "https://$TenandId" + IdentifierUris = "https://$TenandId" KnownClientApplications = "" - LogoutURL = "https://$Domain/logout" + LogoutURL = "https://$TenandId/logout" PublicClient = $false - ReplyURLs = "https://$Domain" + ReplyURLs = "https://$TenandId" Permissions = @( MSFT_AADApplicationPermission { @@ -237,12 +237,12 @@ { DisplayName = 'Human Resources' CatalogId = 'My Catalog' - Description = "https://$($Domain.Split('.')[0]).sharepoint.com/sites/HumanResources" + Description = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" IsPendingOnboarding = $true - OriginId = "https://$($Domain.Split('.')[0]).sharepoint.com/sites/HumanResources" + OriginId = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" OriginSystem = 'SharePointOnline' ResourceType = 'SharePoint Online Site' - Url = "https://$($Domain.Split('.')[0]).sharepoint.com/sites/HumanResources" + Url = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" Ensure = 'Present' ApplicationId = $ApplicationId TenantId = $TenantId From b980d87de11c13b736c6f7657d5375f538c7d1e0 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Fri, 12 Jul 2024 18:16:57 +0000 Subject: [PATCH 032/123] Updated Resources and Cmdlet documentation pages --- .../azure-ad/AADAdministrativeUnit.md | 7 ++----- .../docs/resources/azure-ad/AADApplication.md | 19 ++++++++----------- ...tManagementAccessPackageCatalogResource.md | 14 ++++++-------- 3 files changed, 16 insertions(+), 24 deletions(-) diff --git a/docs/docs/resources/azure-ad/AADAdministrativeUnit.md b/docs/docs/resources/azure-ad/AADAdministrativeUnit.md index 2b3f72998f..481d371ccf 100644 --- a/docs/docs/resources/azure-ad/AADAdministrativeUnit.md +++ b/docs/docs/resources/azure-ad/AADAdministrativeUnit.md @@ -96,7 +96,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADAdministrativeUnit 'TestUnit' @@ -112,7 +111,7 @@ Configuration Example RoleName = 'User Administrator' RoleMemberInfo = MSFT_MicrosoftGraphMember { - Identity = "admin@$Domain" + Identity = "admin@$TenantId" Type = "User" } } @@ -148,7 +147,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADAdministrativeUnit 'TestUnit' @@ -165,7 +163,7 @@ Configuration Example RoleName = 'User Administrator' RoleMemberInfo = MSFT_MicrosoftGraphMember { - Identity = "AdeleV@$Domain" # Updated Property + Identity = "AdeleV@$TenantId" # Updated Property Type = "User" } } @@ -201,7 +199,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADAdministrativeUnit 'TestUnit' diff --git a/docs/docs/resources/azure-ad/AADApplication.md b/docs/docs/resources/azure-ad/AADApplication.md index 3dff4eb19e..bc89497229 100644 --- a/docs/docs/resources/azure-ad/AADApplication.md +++ b/docs/docs/resources/azure-ad/AADApplication.md @@ -93,8 +93,6 @@ Configuration Example $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADApplication 'AADApp1' @@ -103,12 +101,12 @@ Configuration Example AvailableToOtherTenants = $false Description = "Application Description" GroupMembershipClaims = "None" - Homepage = "https://$Domain" - IdentifierUris = "https://$Domain" + Homepage = "https://$TenandId" + IdentifierUris = "https://$TenandId" KnownClientApplications = "" - LogoutURL = "https://$Domain/logout" + LogoutURL = "https://$TenandId/logout" PublicClient = $false - ReplyURLs = "https://$Domain" + ReplyURLs = "https://$TenandId" Permissions = @( MSFT_AADApplicationPermission { @@ -164,7 +162,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADApplication 'AADApp1' @@ -173,12 +170,12 @@ Configuration Example AvailableToOtherTenants = $true # Updated Property Description = "Application Description" GroupMembershipClaims = "None" - Homepage = "https://$Domain" - IdentifierUris = "https://$Domain" + Homepage = "https://$TenandId" + IdentifierUris = "https://$TenandId" KnownClientApplications = "" - LogoutURL = "https://$Domain/logout" + LogoutURL = "https://$TenandId/logout" PublicClient = $false - ReplyURLs = "https://$Domain" + ReplyURLs = "https://$TenandId" Permissions = @( MSFT_AADApplicationPermission { diff --git a/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md b/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md index 84558df93d..09a7a2a74f 100644 --- a/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md +++ b/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md @@ -154,19 +154,18 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { DisplayName = 'Human Resources' CatalogId = 'My Catalog' - Description = "https://$($Domain.Split('.')[0]).sharepoint.com/sites/HumanResources" + Description = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" IsPendingOnboarding = $true - OriginId = "https://$($Domain.Split('.')[0]).sharepoint.com/sites/HumanResources" + OriginId = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" OriginSystem = 'SharePointOnline' ResourceType = 'SharePoint Online Site' - Url = "https://$($Domain.Split('.')[0]).sharepoint.com/sites/HumanResources" + Url = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" Ensure = 'Present' ApplicationId = $ApplicationId TenantId = $TenantId @@ -199,19 +198,18 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { DisplayName = 'Human Resources' CatalogId = 'My Catalog' - Description = "https://$($Domain.Split('.')[0]).sharepoint.com/sites/HumanResources" + Description = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" IsPendingOnboarding = $false # Updated Property - OriginId = "https://$($Domain.Split('.')[0]).sharepoint.com/sites/HumanResources" + OriginId = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" OriginSystem = 'SharePointOnline' ResourceType = 'SharePoint Online Site' - Url = "https://$($Domain.Split('.')[0]).sharepoint.com/sites/HumanResources" + Url = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" Ensure = 'Present' ApplicationId = $ApplicationId TenantId = $TenantId From ee88887f91da1c13348537601fdbf9ea426b4704 Mon Sep 17 00:00:00 2001 From: Fabien Tschanz Date: Fri, 12 Jul 2024 22:59:51 +0200 Subject: [PATCH 033/123] Add missing parameter description --- .../MSFT_IntuneDiskEncryptionWindows10.schema.mof | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDiskEncryptionWindows10/MSFT_IntuneDiskEncryptionWindows10.schema.mof b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDiskEncryptionWindows10/MSFT_IntuneDiskEncryptionWindows10.schema.mof index 5af5d795a8..8c0a4d02db 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDiskEncryptionWindows10/MSFT_IntuneDiskEncryptionWindows10.schema.mof +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDiskEncryptionWindows10/MSFT_IntuneDiskEncryptionWindows10.schema.mof @@ -62,7 +62,7 @@ class MSFT_IntuneDiskEncryptionWindows10 : OMI_BaseResource [Write, Description("Do not enable BitLocker until recovery information is stored to AD DS for fixed data drives (0: False, 1: True)"), ValueMap{"0", "1"}, Values{"0", "1"}] String FDVRequireActiveDirectoryBackup_Name; [Write, Description("Allow data recovery agent (0: False, 1: True)"), ValueMap{"0", "1"}, Values{"0", "1"}] String FDVAllowDRA_Name; [Write, Description("Configure storage of BitLocker recovery information to AD DS: (1: Backup recovery passwords and key packages, 2: Backup recovery passwords only)"), ValueMap{"1", "2"}, Values{"1", "2"}] String FDVActiveDirectoryBackupDropDown_Name; - [Write, Description(" (2: Allow 256-bit recovery key, 1: Require 256-bit recovery key, 0: Do not allow 256-bit recovery key)"), ValueMap{"2", "1", "0"}, Values{"2", "1", "0"}] String FDVRecoveryKeyUsageDropDown_Name; + [Write, Description("Select the fixed drive recovery key usage: (2: Allow 256-bit recovery key, 1: Require 256-bit recovery key, 0: Do not allow 256-bit recovery key)"), ValueMap{"2", "1", "0"}, Values{"2", "1", "0"}] String FDVRecoveryKeyUsageDropDown_Name; [Write, Description("Deny write access to fixed drives not protected by BitLocker (0: Disabled, 1: Enabled)"), ValueMap{"0", "1"}, Values{"0", "1"}] String FDVDenyWriteAccess_Name; [Write, Description("Control use of BitLocker on removable drives (0: Disabled, 1: Enabled)"), ValueMap{"0", "1"}, Values{"0", "1"}] String RDVConfigureBDE; [Write, Description("Allow users to apply BitLocker protection on removable data drives (Device) (0: False, 1: True)"), ValueMap{"0", "1"}, Values{"0", "1"}] String RDVAllowBDE_Name; From 0b799be7344680e01777d78fee1f6178435eae51 Mon Sep 17 00:00:00 2001 From: Fabien Tschanz Date: Fri, 12 Jul 2024 23:11:57 +0200 Subject: [PATCH 034/123] Fix permissions --- .../settings.json | 57 ++++++++++--------- 1 file changed, 30 insertions(+), 27 deletions(-) diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDiskEncryptionWindows10/settings.json b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDiskEncryptionWindows10/settings.json index 0597c5d0dc..861f452495 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDiskEncryptionWindows10/settings.json +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDiskEncryptionWindows10/settings.json @@ -1,29 +1,32 @@ { - "resourceName": "IntuneDiskEncryptionWindows10", - "description": "This resource configures an Intune Disk Encryption for Windows10.", - "permissions": { - "graph": { - "delegated": { - "read": [ - { - "name": "DeviceManagementConfiguration.Read.All" - } - ], - "update": [ - - ] - }, - "application": { - "read": [ - { - "name": "DeviceManagementConfiguration.ReadWrite.All" - } - ], - "update": [ - - ] - } - } -} - + "resourceName":"IntuneDiskEncryptionWindows10", + "description":"This resource configures an Intune Disk Encryption for Windows10.", + "permissions":{ + "graph":{ + "delegated":{ + "read":[ + { + "name":"DeviceManagementConfiguration.Read.All" + } + ], + "update":[ + { + "name":"DeviceManagementConfiguration.ReadWrite.All" + } + ] + }, + "application":{ + "read":[ + { + "name":"DeviceManagementConfiguration.Read.All" + } + ], + "update":[ + { + "name":"DeviceManagementConfiguration.ReadWrite.All" + } + ] + } + } + } } From 3ad2b4a957bbe051c6129f8c93f062c22c02b59a Mon Sep 17 00:00:00 2001 From: Fabien Tschanz Date: Sat, 13 Jul 2024 14:22:36 +0200 Subject: [PATCH 035/123] Fix array comparison in report --- CHANGELOG.md | 6 +++++ .../Modules/M365DSCReport.psm1 | 23 ++++++++----------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f62077cf2..732f797877 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Change log for Microsoft365DSC +# UNRELEASED + +* M365DSCReport + * Fixes an issue where the comparison treats empty arrays as an empty string. + FIXES [#4796](https://github.com/microsoft/Microsoft365DSC/issues/4796) + # 1.24.710.3 * MISC diff --git a/Modules/Microsoft365DSC/Modules/M365DSCReport.psm1 b/Modules/Microsoft365DSC/Modules/M365DSCReport.psm1 index a92596eb70..a005f23ee7 100644 --- a/Modules/Microsoft365DSC/Modules/M365DSCReport.psm1 +++ b/Modules/Microsoft365DSC/Modules/M365DSCReport.psm1 @@ -794,11 +794,7 @@ function Compare-M365DSCConfigurations { if ($propertyName -notin $filteredProperties) { - $destinationPropertyName = $destinationResource.Keys | Where-Object -FilterScript { $_ -eq $propertyName } - if ([System.String]::IsNullOrEmpty($destinationPropertyName)) - { - $destinationPropertyName = $propertyName - } + $destinationPropertyName = $propertyName # Case where the property contains CIMInstances if ($null -ne $sourceResource.$propertyName.Keys -and $sourceResource.$propertyName.Keys.Contains('CIMInstance')) @@ -892,7 +888,7 @@ function Compare-M365DSCConfigurations } # Needs to be a separate nested if statement otherwise the ReferenceObject can be null and it will error out; elseif ($destinationResource.ContainsKey($destinationPropertyName) -eq $false -or (-not [System.String]::IsNullOrEmpty($propertyName) -and - (-not [System.String]::IsNullOrEmpty($sourceResource.$propertyName) -and + ($null -ne $sourceResource.$propertyName -and $null -ne (Compare-Object -ReferenceObject ($sourceResource.$propertyName)` -DifferenceObject ($destinationResource.$destinationPropertyName)))) -and -not ([System.String]::IsNullOrEmpty($destinationResource.$destinationPropertyName) -and [System.String]::IsNullOrEmpty($sourceResource.$propertyName))) @@ -952,11 +948,8 @@ function Compare-M365DSCConfigurations { if ($propertyName -notin $filteredProperties) { - $sourcePropertyName = $destinationResource.Keys | Where-Object -FilterScript { $_ -eq $propertyName } - if ([System.String]::IsNullOrEmpty($sourcePropertyName)) - { - $sourcePropertyName = $propertyName - } + $sourcePropertyName = $propertyName + # Case where the property contains CIMInstances if ($null -ne $destinationResource.$propertyName.Keys -and $destinationResource.$propertyName.Keys.Contains('CIMInstance')) { @@ -979,13 +972,15 @@ function Compare-M365DSCConfigurations foreach ($property in $instance.Keys) { if ($null -eq $sourceResourceInstance."$property" -or ` - (-not [System.String]::IsNullOrEmpty($instance."$property") -and ` + ($null -ne $instance."$property" -and ` $null -ne (Compare-Object -ReferenceObject ($instance."$property")` -DifferenceObject ($sourceResourceInstance."$property")))) { # Make sure we haven't already added this drift in the delta return object to prevent duplicates. - $existing = $delta | Where-Object -FilterScript {$_.ResourceName -eq $destinationResource.ResourceName -and ` - $_.ResourceInstanceName -eq $destinationResource.ResourceInstanceName} + $existing = $delta | Where-Object -FilterScript { + $_.ResourceName -eq $destinationResource.ResourceName -and + $_.ResourceInstanceName -eq $destinationResource.ResourceInstanceName + } $sameEntry = $null if ($null -ne $existing) From 35e1d1c21b0a3e69c7e05c3779a9764826627265 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Sat, 13 Jul 2024 13:07:57 -0400 Subject: [PATCH 036/123] Fixing Examples --- .../Examples/Resources/AADApplication/1-Create.ps1 | 8 ++++---- .../Examples/Resources/AADApplication/2-Update.ps1 | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADApplication/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADApplication/1-Create.ps1 index 9e3249b1a7..35dc94c12f 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADApplication/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADApplication/1-Create.ps1 @@ -27,12 +27,12 @@ Configuration Example AvailableToOtherTenants = $false Description = "Application Description" GroupMembershipClaims = "None" - Homepage = "https://$TenandId" - IdentifierUris = "https://$TenandId" + Homepage = "https://$TenantId" + IdentifierUris = "https://$TenantId" KnownClientApplications = "" - LogoutURL = "https://$TenandId/logout" + LogoutURL = "https://$TenantId/logout" PublicClient = $false - ReplyURLs = "https://$TenandId" + ReplyURLs = "https://$TenantId" Permissions = @( MSFT_AADApplicationPermission { diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADApplication/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADApplication/2-Update.ps1 index dbb9ac1e5d..0c6b3e5881 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADApplication/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADApplication/2-Update.ps1 @@ -28,12 +28,12 @@ Configuration Example AvailableToOtherTenants = $true # Updated Property Description = "Application Description" GroupMembershipClaims = "None" - Homepage = "https://$TenandId" - IdentifierUris = "https://$TenandId" + Homepage = "https://$TenantId" + IdentifierUris = "https://$TenantId" KnownClientApplications = "" - LogoutURL = "https://$TenandId/logout" + LogoutURL = "https://$TenantId/logout" PublicClient = $false - ReplyURLs = "https://$TenandId" + ReplyURLs = "https://$TenantId" Permissions = @( MSFT_AADApplicationPermission { From 71991bec5b3b015f5c2bb84bf502a1010081fb37 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Sat, 13 Jul 2024 17:09:27 +0000 Subject: [PATCH 037/123] Updated {Create} AAD Integration Tests --- .../M365DSCIntegration.AAD.Create.Tests.ps1 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 index 74d72414cb..c872db8b1d 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 @@ -62,12 +62,12 @@ AvailableToOtherTenants = $false Description = "Application Description" GroupMembershipClaims = "None" - Homepage = "https://$TenandId" - IdentifierUris = "https://$TenandId" + Homepage = "https://$TenantId" + IdentifierUris = "https://$TenantId" KnownClientApplications = "" - LogoutURL = "https://$TenandId/logout" + LogoutURL = "https://$TenantId/logout" PublicClient = $false - ReplyURLs = "https://$TenandId" + ReplyURLs = "https://$TenantId" Permissions = @( MSFT_AADApplicationPermission { From d2844194d2bb00f72b70053ab7ce9b053fdff279 Mon Sep 17 00:00:00 2001 From: Fabien Tschanz Date: Sat, 13 Jul 2024 17:19:55 +0200 Subject: [PATCH 038/123] Add Intune Windows quality update profile --- CHANGELOG.md | 6 + ...BusinessQualityUpdateProfileWindows10.psm1 | 617 ++++++++++++++++++ ...ssQualityUpdateProfileWindows10.schema.mof | 36 + .../readme.md | 6 + .../settings.json | 32 + .../1-Create.ps1 | 38 ++ .../2-Update.ps1 | 38 ++ .../3-Remove.ps1 | 24 + ...essQualityUpdateProfileWindows10.Tests.ps1 | 286 ++++++++ Tests/Unit/Stubs/Microsoft365.psm1 | 429 ++++++++++++ 10 files changed, 1512 insertions(+) create mode 100644 Modules/Microsoft365DSC/DSCResources/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10.psm1 create mode 100644 Modules/Microsoft365DSC/DSCResources/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10.schema.mof create mode 100644 Modules/Microsoft365DSC/DSCResources/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/readme.md create mode 100644 Modules/Microsoft365DSC/DSCResources/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/settings.json create mode 100644 Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/1-Create.ps1 create mode 100644 Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/2-Update.ps1 create mode 100644 Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/3-Remove.ps1 create mode 100644 Tests/Unit/Microsoft365DSC/Microsoft365DSC.IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10.Tests.ps1 diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f62077cf2..2943549218 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Change log for Microsoft365DSC +# UNRELEASED + +* IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10 + * Initial release. + FIXES [#2659](https://github.com/microsoft/Microsoft365DSC/issues/2659) + # 1.24.710.3 * MISC diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10.psm1 new file mode 100644 index 0000000000..b7ffd3926a --- /dev/null +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10.psm1 @@ -0,0 +1,617 @@ +function Get-TargetResource +{ + [CmdletBinding()] + [OutputType([System.Collections.Hashtable])] + param + ( + #region resource generator code + [Parameter()] + [System.String] + $Description, + + [Parameter(Mandatory = $true)] + [System.String] + $DisplayName, + + [Parameter()] + [Microsoft.Management.Infrastructure.CimInstance] + $ExpeditedUpdateSettings, + + [Parameter()] + [System.String[]] + $RoleScopeTagIds, + + [Parameter()] + [System.String] + $Id, + + [Parameter()] + [Microsoft.Management.Infrastructure.CimInstance[]] + $Assignments, + #endregion + + [Parameter()] + [System.String] + [ValidateSet('Absent', 'Present')] + $Ensure = 'Present', + + [Parameter()] + [System.Management.Automation.PSCredential] + $Credential, + + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.Management.Automation.PSCredential] + $ApplicationSecret, + + [Parameter()] + [System.String] + $CertificateThumbprint, + + [Parameter()] + [Switch] + $ManagedIdentity, + + [Parameter()] + [System.String[]] + $AccessTokens + ) + + try + { + $ConnectionMode = New-M365DSCConnection -Workload 'MicrosoftGraph' ` + -InboundParameters $PSBoundParameters + + #Ensure the proper dependencies are installed in the current environment. + Confirm-M365DSCDependencies + + #region Telemetry + $ResourceName = $MyInvocation.MyCommand.ModuleName.Replace('MSFT_', '') + $CommandName = $MyInvocation.MyCommand + $data = Format-M365DSCTelemetryParameters -ResourceName $ResourceName ` + -CommandName $CommandName ` + -Parameters $PSBoundParameters + Add-M365DSCTelemetryEvent -Data $data + #endregion + + $nullResult = $PSBoundParameters + $nullResult.Ensure = 'Absent' + + $getValue = $null + #region resource generator code + $getValue = Get-MgBetaDeviceManagementWindowsQualityUpdateProfile -WindowsQualityUpdateProfileId $Id -ErrorAction SilentlyContinue + + if ($null -eq $getValue) + { + Write-Verbose -Message "Could not find an Intune Windows Update For Business Quality Update Profile for Windows10 with Id {$Id}" + + if (-not [System.String]::IsNullOrEmpty($DisplayName)) + { + $getValue = Get-MgBetaDeviceManagementWindowsQualityUpdateProfile ` + -Filter "DisplayName eq '$DisplayName'" ` + -ErrorAction SilentlyContinue + } + } + #endregion + if ($null -eq $getValue) + { + Write-Verbose -Message "Could not find an Intune Windows Update For Business Quality Update Profile for Windows10 with DisplayName {$DisplayName}." + return $nullResult + } + $Id = $getValue.Id + Write-Verbose -Message "An Intune Windows Update For Business Quality Update Profile for Windows10 with Id {$Id} and DisplayName {$DisplayName} was found" + + #region resource generator code + $complexExpeditedUpdateSettings = @{} + $complexExpeditedUpdateSettings.Add('DaysUntilForcedReboot', $getValue.ExpeditedUpdateSettings.daysUntilForcedReboot) + $complexExpeditedUpdateSettings.Add('QualityUpdateRelease', $getValue.ExpeditedUpdateSettings.qualityUpdateRelease) + if ($complexExpeditedUpdateSettings.values.Where({$null -ne $_}).Count -eq 0) + { + $complexExpeditedUpdateSettings = $null + } + #endregion + + $results = @{ + #region resource generator code + Description = $getValue.Description + DisplayName = $getValue.DisplayName + ExpeditedUpdateSettings = $complexExpeditedUpdateSettings + RoleScopeTagIds = $getValue.RoleScopeTagIds + Id = $getValue.Id + Ensure = 'Present' + Credential = $Credential + ApplicationId = $ApplicationId + TenantId = $TenantId + ApplicationSecret = $ApplicationSecret + CertificateThumbprint = $CertificateThumbprint + ManagedIdentity = $ManagedIdentity.IsPresent + #endregion + } + + $assignmentsValues = Get-MgBetaDeviceManagementWindowsQualityUpdateProfileAssignment -WindowsQualityUpdateProfileId $Id + $assignmentResult = @() + if ($assignmentsValues.Count -gt 0) + { + $assignmentResult += ConvertFrom-IntunePolicyAssignment -Assignments $assignmentsValues -IncludeDeviceFilter $true + } + $results.Add('Assignments', $assignmentResult) + + return [System.Collections.Hashtable] $results + } + catch + { + New-M365DSCLogEntry -Message 'Error retrieving data:' ` + -Exception $_ ` + -Source $($MyInvocation.MyCommand.Source) ` + -TenantId $TenantId ` + -Credential $Credential + + return $nullResult + } +} + +function Set-TargetResource +{ + [CmdletBinding()] + param + ( + #region resource generator code + [Parameter()] + [System.String] + $Description, + + [Parameter(Mandatory = $true)] + [System.String] + $DisplayName, + + [Parameter()] + [Microsoft.Management.Infrastructure.CimInstance] + $ExpeditedUpdateSettings, + + [Parameter()] + [System.String[]] + $RoleScopeTagIds, + + [Parameter()] + [System.String] + $Id, + + [Parameter()] + [Microsoft.Management.Infrastructure.CimInstance[]] + $Assignments, + #endregion + + [Parameter()] + [System.String] + [ValidateSet('Absent', 'Present')] + $Ensure = 'Present', + + [Parameter()] + [System.Management.Automation.PSCredential] + $Credential, + + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.Management.Automation.PSCredential] + $ApplicationSecret, + + [Parameter()] + [System.String] + $CertificateThumbprint, + + [Parameter()] + [Switch] + $ManagedIdentity, + + [Parameter()] + [System.String[]] + $AccessTokens + ) + + #Ensure the proper dependencies are installed in the current environment. + Confirm-M365DSCDependencies + + #region Telemetry + $ResourceName = $MyInvocation.MyCommand.ModuleName.Replace('MSFT_', '') + $CommandName = $MyInvocation.MyCommand + $data = Format-M365DSCTelemetryParameters -ResourceName $ResourceName ` + -CommandName $CommandName ` + -Parameters $PSBoundParameters + Add-M365DSCTelemetryEvent -Data $data + #endregion + + if ($ExpeditedUpdateSettings.DaysUntilForcedReboot -lt 0 -or $ExpeditedUpdateSettings.DaysUntilForcedReboot -gt 2) + { + throw "DaysUntilForcedReboot must be between 0 and 2." + } + + $currentInstance = Get-TargetResource @PSBoundParameters + + $BoundParameters = Remove-M365DSCAuthenticationParameter -BoundParameters $PSBoundParameters + + if ($Ensure -eq 'Present' -and $currentInstance.Ensure -eq 'Absent') + { + Write-Verbose -Message "Creating an Intune Windows Update For Business Quality Update Profile for Windows10 with DisplayName {$DisplayName}" + $BoundParameters.Remove("Assignments") | Out-Null + + $createParameters = ([Hashtable]$BoundParameters).clone() + $createParameters = Rename-M365DSCCimInstanceParameter -Properties $createParameters + $createParameters.Remove('Id') | Out-Null + + $keys = (([Hashtable]$createParameters).clone()).Keys + foreach ($key in $keys) + { + if ($null -ne $createParameters.$key -and $createParameters.$key.GetType().Name -like '*cimInstance*') + { + $createParameters.$key = Convert-M365DSCDRGComplexTypeToHashtable -ComplexObject $createParameters.$key + } + } + + #region resource generator code + $policy = New-MgBetaDeviceManagementWindowsQualityUpdateProfile -BodyParameter $createParameters + if ($policy.Id) + { + $assignmentsHash = ConvertTo-IntunePolicyAssignment -IncludeDeviceFilter:$true -Assignments $Assignments + Update-DeviceConfigurationPolicyAssignment ` + -DeviceConfigurationPolicyId $policy.Id ` + -Targets $assignmentsHash ` + -Repository 'deviceManagement/windowsQualityUpdateProfiles' + } + #endregion + } + elseif ($Ensure -eq 'Present' -and $currentInstance.Ensure -eq 'Present') + { + Write-Verbose -Message "Updating the Intune Windows Update For Business Quality Update Profile for Windows10 with Id {$($currentInstance.Id)}" + $BoundParameters.Remove("Assignments") | Out-Null + + $updateParameters = ([Hashtable]$BoundParameters).clone() + $updateParameters = Rename-M365DSCCimInstanceParameter -Properties $updateParameters + $updateParameters.Remove('Id') | Out-Null + + $keys = (([Hashtable]$updateParameters).clone()).Keys + foreach ($key in $keys) + { + if ($null -ne $updateParameters.$key -and $updateParameters.$key.GetType().Name -like '*cimInstance*') + { + $updateParameters.$key = Convert-M365DSCDRGComplexTypeToHashtable -ComplexObject $updateParameters.$key + } + } + + #region resource generator code + Update-MgBetaDeviceManagementWindowsQualityUpdateProfile ` + -WindowsQualityUpdateProfileId $currentInstance.Id ` + -BodyParameter $updateParameters + + $assignmentsHash = ConvertTo-IntunePolicyAssignment -Assignments $Assignments -IncludeDeviceFilter:$true + Update-DeviceConfigurationPolicyAssignment ` + -DeviceConfigurationPolicyId $currentInstance.Id ` + -Targets $assignmentsHash ` + -Repository 'deviceManagement/windowsQualityUpdateProfiles' + #endregion + } + elseif ($Ensure -eq 'Absent' -and $currentInstance.Ensure -eq 'Present') + { + Write-Verbose -Message "Removing the Intune Windows Update For Business Quality Update Profile for Windows10 with Id {$($currentInstance.Id)}" + #region resource generator code + Remove-MgBetaDeviceManagementWindowsQualityUpdateProfile -WindowsQualityUpdateProfileId $currentInstance.Id + #endregion + } +} + +function Test-TargetResource +{ + [CmdletBinding()] + [OutputType([System.Boolean])] + param + ( + #region resource generator code + [Parameter()] + [System.String] + $Description, + + [Parameter(Mandatory = $true)] + [System.String] + $DisplayName, + + [Parameter()] + [Microsoft.Management.Infrastructure.CimInstance] + $ExpeditedUpdateSettings, + + [Parameter()] + [System.String[]] + $RoleScopeTagIds, + + [Parameter()] + [System.String] + $Id, + + [Parameter()] + [Microsoft.Management.Infrastructure.CimInstance[]] + $Assignments, + #endregion + + [Parameter()] + [System.String] + [ValidateSet('Absent', 'Present')] + $Ensure = 'Present', + + [Parameter()] + [System.Management.Automation.PSCredential] + $Credential, + + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.Management.Automation.PSCredential] + $ApplicationSecret, + + [Parameter()] + [System.String] + $CertificateThumbprint, + + [Parameter()] + [Switch] + $ManagedIdentity, + + [Parameter()] + [System.String[]] + $AccessTokens + ) + + #Ensure the proper dependencies are installed in the current environment. + Confirm-M365DSCDependencies + + #region Telemetry + $ResourceName = $MyInvocation.MyCommand.ModuleName.Replace('MSFT_', '') + $CommandName = $MyInvocation.MyCommand + $data = Format-M365DSCTelemetryParameters -ResourceName $ResourceName ` + -CommandName $CommandName ` + -Parameters $PSBoundParameters + Add-M365DSCTelemetryEvent -Data $data + #endregion + + if ($ExpeditedUpdateSettings.DaysUntilForcedReboot -lt 0 -or $ExpeditedUpdateSettings.DaysUntilForcedReboot -gt 2) + { + throw "DaysUntilForcedReboot must be between 0 and 2." + } + + Write-Verbose -Message "Testing configuration of the Intune Windows Update For Business Quality Update Profile for Windows10 with Id {$Id} and DisplayName {$DisplayName}" + + $CurrentValues = Get-TargetResource @PSBoundParameters + $ValuesToCheck = ([Hashtable]$PSBoundParameters).clone() + + if ($CurrentValues.Ensure -ne $Ensure) + { + Write-Verbose -Message "Test-TargetResource returned $false" + return $false + } + $testResult = $true + + #Compare Cim instances + foreach ($key in $PSBoundParameters.Keys) + { + $source = $PSBoundParameters.$key + $target = $CurrentValues.$key + if ($null -ne $source -and $source.GetType().Name -like '*CimInstance*') + { + $testResult = Compare-M365DSCComplexObject ` + -Source ($source) ` + -Target ($target) + + if (-not $testResult) + { + break + } + + $ValuesToCheck.Remove($key) | Out-Null + } + } + + $ValuesToCheck.Remove('Id') | Out-Null + $ValuesToCheck = Remove-M365DSCAuthenticationParameter -BoundParameters $ValuesToCheck + + Write-Verbose -Message "Current Values: $(Convert-M365DscHashtableToString -Hashtable $CurrentValues)" + Write-Verbose -Message "Target Values: $(Convert-M365DscHashtableToString -Hashtable $ValuesToCheck)" + + if ($testResult) + { + $testResult = Test-M365DSCParameterState -CurrentValues $CurrentValues ` + -Source $($MyInvocation.MyCommand.Source) ` + -DesiredValues $PSBoundParameters ` + -ValuesToCheck $ValuesToCheck.Keys + } + + Write-Verbose -Message "Test-TargetResource returned $testResult" + + return $testResult +} + +function Export-TargetResource +{ + [CmdletBinding()] + [OutputType([System.String])] + param + ( + [Parameter()] + [System.String] + $Filter, + + [Parameter()] + [System.Management.Automation.PSCredential] + $Credential, + + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.Management.Automation.PSCredential] + $ApplicationSecret, + + [Parameter()] + [System.String] + $CertificateThumbprint, + + [Parameter()] + [Switch] + $ManagedIdentity, + + [Parameter()] + [System.String[]] + $AccessTokens + ) + + $ConnectionMode = New-M365DSCConnection -Workload 'MicrosoftGraph' ` + -InboundParameters $PSBoundParameters + + #Ensure the proper dependencies are installed in the current environment. + Confirm-M365DSCDependencies + + #region Telemetry + $ResourceName = $MyInvocation.MyCommand.ModuleName.Replace('MSFT_', '') + $CommandName = $MyInvocation.MyCommand + $data = Format-M365DSCTelemetryParameters -ResourceName $ResourceName ` + -CommandName $CommandName ` + -Parameters $PSBoundParameters + Add-M365DSCTelemetryEvent -Data $data + #endregion + + try + { + #region resource generator code + # Filter not supported on this resource + # [array]$getValue = Get-MgBetaDeviceManagementWindowsQualityUpdateProfile -Filter $Filter -All -ErrorAction Stop + if (-not [string]::IsNullOrEmpty($Filter)) + { + Write-Warning -Message "Microsoft Graph filter is not supported on this resource. Only best-effort filtering using startswith, endswith and contains is supported." + $complexFunctions = Get-ComplexFunctionsFromFilterQuery -FilterQuery $Filter + $Filter = Remove-ComplexFunctionsFromFilterQuery -FilterQuery $Filter + } + [array]$getValue = Get-MgBetaDeviceManagementWindowsQualityUpdateProfile -All -ErrorAction Stop + $getValue = Find-GraphDataUsingComplexFunctions -ComplexFunctions $complexFunctions -Policies $getValue + #endregion + + $i = 1 + $dscContent = '' + if ($getValue.Length -eq 0) + { + Write-Host $Global:M365DSCEmojiGreenCheckMark + } + else + { + Write-Host "`r`n" -NoNewline + } + foreach ($config in $getValue) + { + $displayedKey = $config.Id + if (-not [String]::IsNullOrEmpty($config.displayName)) + { + $displayedKey = $config.displayName + } + Write-Host " |---[$i/$($getValue.Count)] $displayedKey" -NoNewline + $params = @{ + Id = $config.Id + DisplayName = $config.DisplayName + Ensure = 'Present' + Credential = $Credential + ApplicationId = $ApplicationId + TenantId = $TenantId + ApplicationSecret = $ApplicationSecret + CertificateThumbprint = $CertificateThumbprint + ManagedIdentity = $ManagedIdentity.IsPresent + AccessTokens = $AccessTokens + } + + $Results = Get-TargetResource @Params + $Results = Update-M365DSCExportAuthenticationResults -ConnectionMode $ConnectionMode ` + -Results $Results + if ($null -ne $Results.ExpeditedUpdateSettings) + { + $complexTypeStringResult = Get-M365DSCDRGComplexTypeToString ` + -ComplexObject $Results.ExpeditedUpdateSettings ` + -CIMInstanceName 'MicrosoftGraphexpeditedWindowsQualityUpdateSettings' + if (-not [String]::IsNullOrWhiteSpace($complexTypeStringResult)) + { + $Results.ExpeditedUpdateSettings = $complexTypeStringResult + } + else + { + $Results.Remove('ExpeditedUpdateSettings') | Out-Null + } + } + + if ($Results.Assignments) + { + $complexTypeStringResult = Get-M365DSCDRGComplexTypeToString -ComplexObject $Results.Assignments -CIMInstanceName DeviceManagementConfigurationPolicyAssignments + if ($complexTypeStringResult) + { + $Results.Assignments = $complexTypeStringResult + } + else + { + $Results.Remove('Assignments') | Out-Null + } + } + + $currentDSCBlock = Get-M365DSCExportContentForResource -ResourceName $ResourceName ` + -ConnectionMode $ConnectionMode ` + -ModulePath $PSScriptRoot ` + -Results $Results ` + -Credential $Credential + if ($Results.ExpeditedUpdateSettings) + { + $currentDSCBlock = Convert-DSCStringParamToVariable -DSCBlock $currentDSCBlock -ParameterName "ExpeditedUpdateSettings" -IsCIMArray:$False + } + + if ($Results.Assignments) + { + $currentDSCBlock = Convert-DSCStringParamToVariable -DSCBlock $currentDSCBlock -ParameterName "Assignments" -IsCIMArray:$true + } + + $dscContent += $currentDSCBlock + Save-M365DSCPartialExport -Content $currentDSCBlock ` + -FileName $Global:PartialExportFileName + $i++ + Write-Host $Global:M365DSCEmojiGreenCheckMark + } + return $dscContent + } + catch + { + Write-Host $Global:M365DSCEmojiRedX + + New-M365DSCLogEntry -Message 'Error during Export:' ` + -Exception $_ ` + -Source $($MyInvocation.MyCommand.Source) ` + -TenantId $TenantId ` + -Credential $Credential + + return '' + } +} + +Export-ModuleMember -Function *-TargetResource diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10.schema.mof b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10.schema.mof new file mode 100644 index 0000000000..599830987a --- /dev/null +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10.schema.mof @@ -0,0 +1,36 @@ +[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 group Display Name that is the target of the assignment.")] String groupDisplayName; + [Write, Description("The collection Id that is the target of the assignment.(ConfigMgr)")] String collectionId; +}; + +[ClassVersion("1.0.0")] +class MSFT_MicrosoftGraphExpeditedWindowsQualityUpdateSettings +{ + [Write, Description("The number of days after installation that forced reboot will happen. Must be in range from 0 to 2.")] UInt32 DaysUntilForcedReboot; + [Write, Description("The release date to identify a quality update. Format is yyyy-MM-ddT00:00:00Z.")] String QualityUpdateRelease; +}; + +[ClassVersion("1.0.0.0"), FriendlyName("IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10")] +class MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10 : OMI_BaseResource +{ + [Key, Description("The display name for the profile.")] String DisplayName; + [Write, Description("The description of the profile.")] String Description; + [Write, Description("Expedited update settings."), EmbeddedInstance("MSFT_MicrosoftGraphexpeditedWindowsQualityUpdateSettings")] String ExpeditedUpdateSettings; + [Write, Description("List of Scope Tags for this Quality Update entity.")] String RoleScopeTagIds[]; + [Write, 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; + [Write, Description("Access token used for authentication.")] String AccessTokens[]; +}; diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/readme.md b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/readme.md new file mode 100644 index 0000000000..507894c9ef --- /dev/null +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/readme.md @@ -0,0 +1,6 @@ + +# IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10 + +## Description + +Intune Windows Update For Business Quality Update Profile for Windows10 diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/settings.json b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/settings.json new file mode 100644 index 0000000000..26b6907b55 --- /dev/null +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/settings.json @@ -0,0 +1,32 @@ +{ + "resourceName":"IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10", + "description":"This resource configures an Intune Windows Update For Business Quality Update Profile for Windows10.", + "permissions":{ + "graph":{ + "delegated":{ + "read":[ + { + "name":"DeviceManagementConfiguration.Read.All" + } + ], + "update":[ + { + "name":"DeviceManagementConfiguration.ReadWrite.All" + } + ] + }, + "application":{ + "read":[ + { + "name":"DeviceManagementConfiguration.Read.All" + } + ], + "update":[ + { + "name":"DeviceManagementConfiguration.ReadWrite.All" + } + ] + } + } + } +} diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/1-Create.ps1 new file mode 100644 index 0000000000..98a73d832a --- /dev/null +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/1-Create.ps1 @@ -0,0 +1,38 @@ +<# +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(Mandatory = $true)] + [PSCredential] + $Credscredential + ) + Import-DscResource -ModuleName Microsoft365DSC + + node localhost + { + IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10 'Example' + { + Assignments = @( + MSFT_DeviceManagementConfigurationPolicyAssignments{ + deviceAndAppManagementAssignmentFilterType = 'none' + groupDisplayName = 'Exclude' + dataType = '#microsoft.graph.exclusionGroupAssignmentTarget' + groupId = '258a1749-8408-4dd0-8028-fab6208a28d7' + } + ); + DisplayName = 'Windows Quality Update' + Description = '' + ExpeditedUpdateSettings = MSFT_MicrosoftGraphexpeditedWindowsQualityUpdateSettings{ + QualityUpdateRelease = '2024-06-11T00:00:00Z' + DaysUntilForcedReboot = 0 + } + RoleScopeTagIds = @("0") + Ensure = 'Present' + Credential = $Credscredential + } + } +} diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/2-Update.ps1 new file mode 100644 index 0000000000..918b91d56c --- /dev/null +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/2-Update.ps1 @@ -0,0 +1,38 @@ +<# +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(Mandatory = $true)] + [PSCredential] + $Credscredential + ) + Import-DscResource -ModuleName Microsoft365DSC + + node localhost + { + IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10 'Example' + { + Assignments = @( + MSFT_DeviceManagementConfigurationPolicyAssignments{ + deviceAndAppManagementAssignmentFilterType = 'none' + groupDisplayName = 'Exclude' + dataType = '#microsoft.graph.exclusionGroupAssignmentTarget' + groupId = '258a1749-8408-4dd0-8028-fab6208a28d7' + } + ); + DisplayName = 'Windows Quality Update' + Description = '' + ExpeditedUpdateSettings = MSFT_MicrosoftGraphexpeditedWindowsQualityUpdateSettings{ + QualityUpdateRelease = '2024-06-11T00:00:00Z' + DaysUntilForcedReboot = 1 # Updated property + } + RoleScopeTagIds = @("0") + Ensure = 'Present' + Credential = $Credscredential + } + } +} diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/3-Remove.ps1 new file mode 100644 index 0000000000..53b880993a --- /dev/null +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/3-Remove.ps1 @@ -0,0 +1,24 @@ +<# +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(Mandatory = $true)] + [PSCredential] + $Credscredential + ) + Import-DscResource -ModuleName Microsoft365DSC + + node localhost + { + IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10 'Example' + { + DisplayName = 'Windows Quality Update' + Ensure = 'Absent' + Credential = $Credscredential + } + } +} diff --git a/Tests/Unit/Microsoft365DSC/Microsoft365DSC.IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10.Tests.ps1 b/Tests/Unit/Microsoft365DSC/Microsoft365DSC.IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10.Tests.ps1 new file mode 100644 index 0000000000..e6538a3cc9 --- /dev/null +++ b/Tests/Unit/Microsoft365DSC/Microsoft365DSC.IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10.Tests.ps1 @@ -0,0 +1,286 @@ +[CmdletBinding()] +param( +) +$M365DSCTestFolder = Join-Path -Path $PSScriptRoot ` + -ChildPath '..\..\Unit' ` + -Resolve +$CmdletModule = (Join-Path -Path $M365DSCTestFolder ` + -ChildPath '\Stubs\Microsoft365.psm1' ` + -Resolve) +$GenericStubPath = (Join-Path -Path $M365DSCTestFolder ` + -ChildPath '\Stubs\Generic.psm1' ` + -Resolve) +Import-Module -Name (Join-Path -Path $M365DSCTestFolder ` + -ChildPath '\UnitTestHelper.psm1' ` + -Resolve) + +$Global:DscHelper = New-M365DscUnitTestHelper -StubModule $CmdletModule ` + -DscResource "IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10" -GenericStubModule $GenericStubPath +Describe -Name $Global:DscHelper.DescribeHeader -Fixture { + InModuleScope -ModuleName $Global:DscHelper.ModuleName -ScriptBlock { + Invoke-Command -ScriptBlock $Global:DscHelper.InitializeScript -NoNewScope + BeforeAll { + + $secpasswd = ConvertTo-SecureString (New-Guid | Out-String) -AsPlainText -Force + $Credential = New-Object System.Management.Automation.PSCredential ('tenantadmin@mydomain.com', $secpasswd) + + Mock -CommandName Confirm-M365DSCDependencies -MockWith { + } + + Mock -CommandName Get-PSSession -MockWith { + } + + Mock -CommandName Remove-PSSession -MockWith { + } + + Mock -CommandName Update-MgBetaDeviceManagementWindowsQualityUpdateProfile -MockWith { + } + + Mock -CommandName New-MgBetaDeviceManagementWindowsQualityUpdateProfile -MockWith { + } + + Mock -CommandName Remove-MgBetaDeviceManagementWindowsQualityUpdateProfile -MockWith { + } + + Mock -CommandName New-M365DSCConnection -MockWith { + return "Credentials" + } + + # Mock Write-Host to hide output during the tests + Mock -CommandName Write-Host -MockWith { + } + $Script:exportedInstances =$null + $Script:ExportMode = $false + + Mock -CommandName Get-MgBetaDeviceManagementWindowsQualityUpdateProfileAssignment -MockWith { + return @(@{ + Id = '12345-12345-12345-12345-12345' + Source = 'direct' + SourceId = '12345-12345-12345-12345-12345' + Target = @{ + DeviceAndAppManagementAssignmentFilterId = $null + DeviceAndAppManagementAssignmentFilterType = 'none' + AdditionalProperties = @( + @{ + '@odata.type' = '#microsoft.graph.exclusionGroupAssignmentTarget' + groupId = '26d60dd1-fab6-47bf-8656-358194c1a49d' + } + ) + } + }) + } + + Mock -CommandName Update-DeviceConfigurationPolicyAssignment -MockWith { + } + + } + # Test contexts + Context -Name "The IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10 should exist but it DOES NOT" -Fixture { + BeforeAll { + $testParams = @{ + Assignments = [CimInstance[]]@( + (New-CimInstance -ClassName MSFT_DeviceManagementConfigurationPolicyAssignments -Property @{ + dataType = '#microsoft.graph.exclusionGroupAssignmentTarget' + groupId = '26d60dd1-fab6-47bf-8656-358194c1a49d' + deviceAndAppManagementAssignmentFilterType = 'none' + } -ClientOnly) + ) + Description = "Description" + DisplayName = "IntuneQualityUpdate" + ExpeditedUpdateSettings = (New-CimInstance -ClassName MSFT_MicrosoftGraphExpeditedWindowsQualityUpdateSettings -Property @{ + DaysUntilForcedReboot = 0 + QualityUpdateRelease = "2024-06-11T00:00:00Z" + } -ClientOnly) + Id = "FakeStringValue" + RoleScopeTagIds = @("0") + Ensure = "Present" + Credential = $Credential; + } + + Mock -CommandName Get-MgBetaDeviceManagementWindowsQualityUpdateProfile -MockWith { + return $null + } + } + It 'Should return Values from the Get method' { + (Get-TargetResource @testParams).Ensure | Should -Be 'Absent' + } + It 'Should return false from the Test method' { + Test-TargetResource @testParams | Should -Be $false + } + It 'Should Create the group from the Set method' { + Set-TargetResource @testParams + Should -Invoke -CommandName New-MgBetaDeviceManagementWindowsQualityUpdateProfile -Exactly 1 + } + } + + Context -Name "The IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10 exists but it SHOULD NOT" -Fixture { + BeforeAll { + $testParams = @{ + Assignments = [CimInstance[]]@( + (New-CimInstance -ClassName MSFT_DeviceManagementConfigurationPolicyAssignments -Property @{ + dataType = '#microsoft.graph.exclusionGroupAssignmentTarget' + groupId = '26d60dd1-fab6-47bf-8656-358194c1a49d' + deviceAndAppManagementAssignmentFilterType = 'none' + } -ClientOnly) + ) + Description = "Description" + DisplayName = "IntuneQualityUpdate" + ExpeditedUpdateSettings = (New-CimInstance -ClassName MSFT_MicrosoftGraphExpeditedWindowsQualityUpdateSettings -Property @{ + DaysUntilForcedReboot = 0 + QualityUpdateRelease = "2024-06-11T00:00:00Z" + } -ClientOnly) + Id = "FakeStringValue" + RoleScopeTagIds = @("0") + Ensure = 'Absent' + Credential = $Credential; + } + + Mock -CommandName Get-MgBetaDeviceManagementWindowsQualityUpdateProfile -MockWith { + return @{ + Description = "Description" + DisplayName = "IntuneQualityUpdate" + ExpeditedUpdateSettings = @{ + DaysUntilForcedReboot = 0 + QualityUpdateRelease = "2024-06-11T00:00:00Z" + } + Id = "FakeStringValue" + RoleScopeTagIds = @("0") + } + } + } + + It 'Should return Values from the Get method' { + (Get-TargetResource @testParams).Ensure | Should -Be 'Present' + } + + It 'Should return true from the Test method' { + Test-TargetResource @testParams | Should -Be $false + } + + It 'Should Remove the group from the Set method' { + Set-TargetResource @testParams + Should -Invoke -CommandName Remove-MgBetaDeviceManagementWindowsQualityUpdateProfile -Exactly 1 + } + } + Context -Name "The IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10 Exists and Values are already in the desired state" -Fixture { + BeforeAll { + $testParams = @{ + Assignments = [CimInstance[]]@( + (New-CimInstance -ClassName MSFT_DeviceManagementConfigurationPolicyAssignments -Property @{ + dataType = '#microsoft.graph.exclusionGroupAssignmentTarget' + groupId = '26d60dd1-fab6-47bf-8656-358194c1a49d' + deviceAndAppManagementAssignmentFilterType = 'none' + } -ClientOnly) + ) + Description = "Description" + DisplayName = "IntuneQualityUpdate" + ExpeditedUpdateSettings = (New-CimInstance -ClassName MSFT_MicrosoftGraphExpeditedWindowsQualityUpdateSettings -Property @{ + DaysUntilForcedReboot = 0 + QualityUpdateRelease = "2024-06-11T00:00:00Z" + } -ClientOnly) + Id = "FakeStringValue" + RoleScopeTagIds = @("0") + Ensure = 'Present' + Credential = $Credential; + } + + Mock -CommandName Get-MgBetaDeviceManagementWindowsQualityUpdateProfile -MockWith { + return @{ + Description = "Description" + DisplayName = "IntuneQualityUpdate" + ExpeditedUpdateSettings = @{ + DaysUntilForcedReboot = 0 + QualityUpdateRelease = "2024-06-11T00:00:00Z" + } + Id = "FakeStringValue" + RoleScopeTagIds = @("0") + } + } + } + + It 'Should return true from the Test method' { + Test-TargetResource @testParams | Should -Be $true + } + } + + Context -Name "The IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10 exists and values are NOT in the desired state" -Fixture { + BeforeAll { + $testParams = @{ + Assignments = [CimInstance[]]@( + (New-CimInstance -ClassName MSFT_DeviceManagementConfigurationPolicyAssignments -Property @{ + dataType = '#microsoft.graph.exclusionGroupAssignmentTarget' + groupId = '26d60dd1-fab6-47bf-8656-358194c1a49d' + deviceAndAppManagementAssignmentFilterType = 'none' + } -ClientOnly) + ) + Description = "Description" + DisplayName = "IntuneQualityUpdate" + ExpeditedUpdateSettings = (New-CimInstance -ClassName MSFT_MicrosoftGraphExpeditedWindowsQualityUpdateSettings -Property @{ + DaysUntilForcedReboot = 0 + QualityUpdateRelease = "2024-06-11T00:00:00Z" + } -ClientOnly) + Id = "FakeStringValue" + RoleScopeTagIds = @("0") + Ensure = 'Present' + Credential = $Credential; + } + + Mock -CommandName Get-MgBetaDeviceManagementWindowsQualityUpdateProfile -MockWith { + return @{ + Description = "Description" + DisplayName = "IntuneQualityUpdate" + ExpeditedUpdateSettings = @{ + DaysUntilForcedReboot = 1 #drift + QualityUpdateRelease = "2024-06-11T00:00:00Z" + } + Id = "FakeStringValue" + RoleScopeTagIds = @("0") + } + } + } + + It 'Should return Values from the Get method' { + (Get-TargetResource @testParams).Ensure | Should -Be 'Present' + } + + It 'Should return false from the Test method' { + Test-TargetResource @testParams | Should -Be $false + } + + It 'Should call the Set method' { + Set-TargetResource @testParams + Should -Invoke -CommandName Update-MgBetaDeviceManagementWindowsQualityUpdateProfile -Exactly 1 + } + } + + Context -Name 'ReverseDSC Tests' -Fixture { + BeforeAll { + $Global:CurrentModeIsExport = $true + $Global:PartialExportFileName = "$(New-Guid).partial.ps1" + $testParams = @{ + Credential = $Credential + } + + Mock -CommandName Get-MgBetaDeviceManagementWindowsQualityUpdateProfile -MockWith { + return @{ + Description = "Description" + DisplayName = "IntuneQualityUpdate" + ExpeditedUpdateSettings = @{ + DaysUntilForcedReboot = 0 + QualityUpdateRelease = "2024-06-11T00:00:00Z" + } + Id = "FakeStringValue" + RoleScopeTagIds = @("0") + } + } + } + + It 'Should Reverse Engineer resource from the Export method' { + $result = Export-TargetResource @testParams + $result | Should -Not -BeNullOrEmpty + } + } + } +} + +Invoke-Command -ScriptBlock $Global:DscHelper.CleanupScript -NoNewScope diff --git a/Tests/Unit/Stubs/Microsoft365.psm1 b/Tests/Unit/Stubs/Microsoft365.psm1 index 272d7224d3..39fc971c0f 100644 --- a/Tests/Unit/Stubs/Microsoft365.psm1 +++ b/Tests/Unit/Stubs/Microsoft365.psm1 @@ -84694,3 +84694,432 @@ function Set-ExternalInOutlook #endregion +#region MgBetaDeviceManagementWindowsQualityUpdateProfile +function Get-MgBetaDeviceManagementWindowsQualityUpdateProfile +{ + [CmdletBinding()] + param + ( + [Parameter()] + [System.String] + $WindowsQualityUpdateProfileId, + + [Parameter()] + [PSObject] + $InputObject, + + [Parameter()] + [System.String[]] + $ExpandProperty, + + [Parameter()] + [System.String[]] + $Property, + + [Parameter()] + [System.String] + $Filter, + + [Parameter()] + [System.String] + $Search, + + [Parameter()] + [System.Int32] + $Skip, + + [Parameter()] + [System.String[]] + $Sort, + + [Parameter()] + [System.Int32] + $Top, + + [Parameter()] + [System.String] + $ResponseHeadersVariable, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Break, + + [Parameter()] + [System.Collections.IDictionary] + $Headers, + + [Parameter()] + [PSObject[]] + $HttpPipelineAppend, + + [Parameter()] + [PSObject[]] + $HttpPipelinePrepend, + + [Parameter()] + [System.Uri] + $Proxy, + + [Parameter()] + [System.Management.Automation.PSCredential] + $ProxyCredential, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ProxyUseDefaultCredentials, + + [Parameter()] + [System.Int32] + $PageSize, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $All, + + [Parameter()] + [System.String] + $CountVariable + ) +} + +function New-MgBetaDeviceManagementWindowsQualityUpdateProfile +{ + [CmdletBinding()] + param + ( + [Parameter()] + [PSObject] + $BodyParameter, + + [Parameter()] + [System.String] + $ResponseHeadersVariable, + + [Parameter()] + [System.Collections.Hashtable] + $AdditionalProperties, + + [Parameter()] + [PSObject[]] + $Assignments, + + [Parameter()] + [System.DateTime] + $CreatedDateTime, + + [Parameter()] + [System.String] + $DeployableContentDisplayName, + + [Parameter()] + [System.String] + $Description, + + [Parameter()] + [System.String] + $DisplayName, + + [Parameter()] + [PSObject] + $ExpeditedUpdateSettings, + + [Parameter()] + [System.String] + $Id, + + [Parameter()] + [System.DateTime] + $LastModifiedDateTime, + + [Parameter()] + [System.String] + $ReleaseDateDisplayName, + + [Parameter()] + [System.String[]] + $RoleScopeTagIds, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Break, + + [Parameter()] + [System.Collections.IDictionary] + $Headers, + + [Parameter()] + [PSObject[]] + $HttpPipelineAppend, + + [Parameter()] + [PSObject[]] + $HttpPipelinePrepend, + + [Parameter()] + [System.Uri] + $Proxy, + + [Parameter()] + [System.Management.Automation.PSCredential] + $ProxyCredential, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ProxyUseDefaultCredentials, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm + ) +} + +function Remove-MgBetaDeviceManagementWindowsQualityUpdateProfile +{ + [CmdletBinding()] + param + ( + [Parameter()] + [System.String] + $WindowsQualityUpdateProfileId, + + [Parameter()] + [PSObject] + $InputObject, + + [Parameter()] + [System.String] + $ResponseHeadersVariable, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Break, + + [Parameter()] + [System.Collections.IDictionary] + $Headers, + + [Parameter()] + [PSObject[]] + $HttpPipelineAppend, + + [Parameter()] + [PSObject[]] + $HttpPipelinePrepend, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $PassThru, + + [Parameter()] + [System.Uri] + $Proxy, + + [Parameter()] + [System.Management.Automation.PSCredential] + $ProxyCredential, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ProxyUseDefaultCredentials, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm + ) +} + +function Update-MgBetaDeviceManagementWindowsQualityUpdateProfile +{ + [CmdletBinding()] + param + ( + [Parameter()] + [System.String] + $WindowsQualityUpdateProfileId, + + [Parameter()] + [PSObject] + $InputObject, + + [Parameter()] + [PSObject] + $BodyParameter, + + [Parameter()] + [System.String] + $ResponseHeadersVariable, + + [Parameter()] + [System.Collections.Hashtable] + $AdditionalProperties, + + [Parameter()] + [PSObject[]] + $Assignments, + + [Parameter()] + [System.DateTime] + $CreatedDateTime, + + [Parameter()] + [System.String] + $DeployableContentDisplayName, + + [Parameter()] + [System.String] + $Description, + + [Parameter()] + [System.String] + $DisplayName, + + [Parameter()] + [PSObject] + $ExpeditedUpdateSettings, + + [Parameter()] + [System.String] + $Id, + + [Parameter()] + [System.DateTime] + $LastModifiedDateTime, + + [Parameter()] + [System.String] + $ReleaseDateDisplayName, + + [Parameter()] + [System.String[]] + $RoleScopeTagIds, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Break, + + [Parameter()] + [System.Collections.IDictionary] + $Headers, + + [Parameter()] + [PSObject[]] + $HttpPipelineAppend, + + [Parameter()] + [PSObject[]] + $HttpPipelinePrepend, + + [Parameter()] + [System.Uri] + $Proxy, + + [Parameter()] + [System.Management.Automation.PSCredential] + $ProxyCredential, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ProxyUseDefaultCredentials, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm + ) +} + +#endregion + +#region MgBetaDeviceManagementWindowsQualityUpdateProfileAssignment +function Get-MgBetaDeviceManagementWindowsQualityUpdateProfileAssignment +{ + [CmdletBinding()] + param + ( + [Parameter()] + [System.String] + $WindowsQualityUpdateProfileAssignmentId, + + [Parameter()] + [System.String] + $WindowsQualityUpdateProfileId, + + [Parameter()] + [PSObject] + $InputObject, + + [Parameter()] + [System.String[]] + $ExpandProperty, + + [Parameter()] + [System.String[]] + $Property, + + [Parameter()] + [System.String] + $Filter, + + [Parameter()] + [System.String] + $Search, + + [Parameter()] + [System.Int32] + $Skip, + + [Parameter()] + [System.String[]] + $Sort, + + [Parameter()] + [System.Int32] + $Top, + + [Parameter()] + [System.String] + $ResponseHeadersVariable, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Break, + + [Parameter()] + [System.Collections.IDictionary] + $Headers, + + [Parameter()] + [PSObject[]] + $HttpPipelineAppend, + + [Parameter()] + [PSObject[]] + $HttpPipelinePrepend, + + [Parameter()] + [System.Uri] + $Proxy, + + [Parameter()] + [System.Management.Automation.PSCredential] + $ProxyCredential, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ProxyUseDefaultCredentials, + + [Parameter()] + [System.Int32] + $PageSize, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $All, + + [Parameter()] + [System.String] + $CountVariable + ) +} + +#endregion + From 32b447ea31586e0134381eff6486e0b2705f6bae Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Sat, 13 Jul 2024 13:15:51 -0400 Subject: [PATCH 039/123] Fixing Examples --- .../1-Create.ps1 | 18 ++++++++++++++---- .../2-Update.ps1 | 18 ++++++++++++++---- .../3-Remove.ps1 | 18 ++++++++++++++---- 3 files changed, 42 insertions(+), 12 deletions(-) diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageAssignmentPolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageAssignmentPolicy/1-Create.ps1 index 6df36bd26b..15a5b73efa 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageAssignmentPolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageAssignmentPolicy/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -39,7 +47,9 @@ Configuration Example IsApprovalRequiredForExtension = $False }; Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageAssignmentPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageAssignmentPolicy/2-Update.ps1 index 00c8f28c52..851d67e077 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageAssignmentPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageAssignmentPolicy/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -39,7 +47,9 @@ Configuration Example IsApprovalRequiredForExtension = $False }; Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageAssignmentPolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageAssignmentPolicy/3-Remove.ps1 index 747e49d08e..62b450b6b5 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageAssignmentPolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageAssignmentPolicy/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = "External tenant"; Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } From 3be2a9eaacb9a61bb22391c053f9561ed783e19d Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Sat, 13 Jul 2024 17:17:04 +0000 Subject: [PATCH 040/123] Updated {Create} AAD Integration Tests --- .../Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 index c872db8b1d..e7706feb55 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 @@ -218,7 +218,9 @@ IsApprovalRequiredForExtension = $False }; Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADEntitlementManagementAccessPackageCatalog 'myAccessPackageCatalog' { From 4e64435b366f68e967415c2f197d63b3ce43cb2a Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Sat, 13 Jul 2024 17:17:15 +0000 Subject: [PATCH 041/123] Updated Resources and Cmdlet documentation pages --- .../docs/resources/azure-ad/AADApplication.md | 16 +++--- ...ManagementAccessPackageAssignmentPolicy.md | 54 ++++++++++++++----- 2 files changed, 50 insertions(+), 20 deletions(-) diff --git a/docs/docs/resources/azure-ad/AADApplication.md b/docs/docs/resources/azure-ad/AADApplication.md index bc89497229..00a9a29f14 100644 --- a/docs/docs/resources/azure-ad/AADApplication.md +++ b/docs/docs/resources/azure-ad/AADApplication.md @@ -101,12 +101,12 @@ Configuration Example AvailableToOtherTenants = $false Description = "Application Description" GroupMembershipClaims = "None" - Homepage = "https://$TenandId" - IdentifierUris = "https://$TenandId" + Homepage = "https://$TenantId" + IdentifierUris = "https://$TenantId" KnownClientApplications = "" - LogoutURL = "https://$TenandId/logout" + LogoutURL = "https://$TenantId/logout" PublicClient = $false - ReplyURLs = "https://$TenandId" + ReplyURLs = "https://$TenantId" Permissions = @( MSFT_AADApplicationPermission { @@ -170,12 +170,12 @@ Configuration Example AvailableToOtherTenants = $true # Updated Property Description = "Application Description" GroupMembershipClaims = "None" - Homepage = "https://$TenandId" - IdentifierUris = "https://$TenandId" + Homepage = "https://$TenantId" + IdentifierUris = "https://$TenantId" KnownClientApplications = "" - LogoutURL = "https://$TenandId/logout" + LogoutURL = "https://$TenantId/logout" PublicClient = $false - ReplyURLs = "https://$TenandId" + ReplyURLs = "https://$TenantId" Permissions = @( MSFT_AADApplicationPermission { diff --git a/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageAssignmentPolicy.md b/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageAssignmentPolicy.md index cd39b938da..1ef0cf133d 100644 --- a/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageAssignmentPolicy.md +++ b/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageAssignmentPolicy.md @@ -183,9 +183,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -216,7 +224,9 @@ Configuration Example IsApprovalRequiredForExtension = $False }; Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -231,9 +241,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -264,7 +282,9 @@ Configuration Example IsApprovalRequiredForExtension = $False }; Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -279,9 +299,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -291,7 +319,9 @@ Configuration Example { DisplayName = "External tenant"; Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } From 1ba61504a0462c177f481c982591cdcf5c9276bd Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Mon, 15 Jul 2024 07:39:55 -0400 Subject: [PATCH 042/123] Fixing Tests --- .github/workflows/Global - Integration - AAD.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/Global - Integration - AAD.yml b/.github/workflows/Global - Integration - AAD.yml index 88c9556977..4bea55cdfc 100644 --- a/.github/workflows/Global - Integration - AAD.yml +++ b/.github/workflows/Global - Integration - AAD.yml @@ -46,6 +46,7 @@ jobs: - name: Generate {Update} Integration Tests from Examples shell: powershell run: | + Import-Module './Tests/Integration/M365DSCTestEngine.psm1' New-M365DSCIntegrationTest -Workload AAD -Step '2-Update' - name: Commit {Update} Integration Tests shell: powershell @@ -61,7 +62,8 @@ jobs: - name: Generate {Remove} Integration Tests from Examples shell: powershell run: | - New-M365DSCIntegrationTest -Workload AAD -Step '3-Remove' + Import-Module './Tests/Integration/M365DSCTestEngine.psm1' + New-M365DSCIntegrationTest -Workload AAD -Step '3-Remove' - name: Commit {Remove} Integration Tests shell: powershell run: | From 2efdcf55349fa4e6e570469f669f778cb9b465e3 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 11:41:31 +0000 Subject: [PATCH 043/123] Updated {Update} AAD Integration Tests --- .../M365DSCIntegration.AAD.Update.Tests.ps1 | 239 +++++++++++++----- 1 file changed, 177 insertions(+), 62 deletions(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 index 6954a18b3e..fec5ae4143 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 @@ -1,31 +1,61 @@ param ( [Parameter()] - [System.Management.Automation.PSCredential] - $Credential + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Configuration Master { param ( - [Parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] + $Domain = $TenantId Node Localhost { AADAdministrativeUnit 'TestUnit' { DisplayName = 'Test-Unit' + Description = 'Test Description Updated' # Updated Property + Visibility = 'HiddenMembership' # Updated Property MembershipRule = "(user.country -eq `"US`")" # Updated Property MembershipRuleProcessingState = 'On' MembershipType = 'Dynamic' - Ensure = 'Present' - Credential = $Credscredential + ScopedRoleMembers = @( + MSFT_MicrosoftGraphScopedRoleMembership + { + RoleName = 'User Administrator' + RoleMemberInfo = MSFT_MicrosoftGraphMember + { + Identity = "AdeleV@$TenantId" # Updated Property + Type = "User" + } + } + ) + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADApplication 'AADApp1' { @@ -33,12 +63,12 @@ AvailableToOtherTenants = $true # Updated Property Description = "Application Description" GroupMembershipClaims = "None" - Homepage = "https://$Domain" - IdentifierUris = "https://$Domain" + Homepage = "https://$TenantId" + IdentifierUris = "https://$TenantId" KnownClientApplications = "" - LogoutURL = "https://$Domain/logout" + LogoutURL = "https://$TenantId/logout" PublicClient = $false - ReplyURLs = "https://$Domain" + ReplyURLs = "https://$TenantId" Permissions = @( MSFT_AADApplicationPermission { @@ -63,11 +93,15 @@ } ) Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADAttributeSet 'AADAttributeSetTest' { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Description = "Attribute set with 420 attributes"; Ensure = "Present"; Id = "TestAttributeSet"; @@ -75,13 +109,26 @@ } AADAuthenticationContextClassReference 'AADAuthenticationContextClassReference-Test' { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Description = "Context test Updated"; # Updated Property DisplayName = "My Context"; Ensure = "Present"; Id = "c3"; IsAvailable = $False; # Updated Property } + AADAuthenticationFlowPolicy 'AADAuthenticationFlowPolicy' + { + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + Description = "Authentication flows policy allows modification of settings related to authentication flows in AAD tenant, such as self-service sign up configuration."; + DisplayName = "Authentication flows policy"; + Id = "authenticationFlowsPolicy"; + IsSingleInstance = "Yes"; + SelfServiceSignUpEnabled = $True; + } AADAuthenticationMethodPolicy 'AADAuthenticationMethodPolicy-Authentication Methods Policy' { DisplayName = "Authentication Methods Policy"; @@ -102,11 +149,15 @@ State = 'default' } }; - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADAuthenticationMethodPolicyAuthenticator 'AADAuthenticationMethodPolicyAuthenticator-MicrosoftAuthenticator' { - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; ExcludeTargets = @( MSFT_AADAuthenticationMethodPolicyAuthenticatorExcludeTarget{ @@ -154,7 +205,9 @@ AADAuthenticationMethodPolicyEmail 'AADAuthenticationMethodPolicyEmail-Email' { AllowExternalIdToUseEmailOtp = "enabled"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; ExcludeTargets = @( MSFT_AADAuthenticationMethodPolicyEmailExcludeTarget{ @@ -177,7 +230,9 @@ } AADAuthenticationMethodPolicyFido2 'AADAuthenticationMethodPolicyFido2-Fido2' { - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; ExcludeTargets = @( MSFT_AADAuthenticationMethodPolicyFido2ExcludeTarget{ @@ -207,7 +262,9 @@ } AADAuthenticationMethodPolicySms 'AADAuthenticationMethodPolicySms-Sms' { - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; ExcludeTargets = @( MSFT_AADAuthenticationMethodPolicySmsExcludeTarget{ @@ -226,7 +283,9 @@ } AADAuthenticationMethodPolicySoftware 'AADAuthenticationMethodPolicySoftware-SoftwareOath' { - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; ExcludeTargets = @( MSFT_AADAuthenticationMethodPolicySoftwareExcludeTarget{ @@ -249,7 +308,9 @@ } AADAuthenticationMethodPolicyTemporary 'AADAuthenticationMethodPolicyTemporary-TemporaryAccessPass' { - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DefaultLength = 9; # Updated Property DefaultLifetimeInMinutes = 60; Ensure = "Present"; @@ -294,7 +355,9 @@ X509CertificateField = 'SubjectKeyIdentifier' } ); - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; ExcludeTargets = @( MSFT_AADAuthenticationMethodPolicyX509ExcludeTarget{ @@ -317,7 +380,9 @@ Description = "This is an example"; DisplayName = "Example"; Ensure = "Present"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADAuthorizationPolicy 'AADAuthPol' { @@ -335,13 +400,17 @@ GuestUserRole = 'Guest' PermissionGrantPolicyIdsAssignedToDefaultUserRole = @() Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADConditionalAccessPolicy 'ConditionalAccessPolicy' { BuiltInControls = @("mfa"); ClientAppTypes = @("all"); - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DeviceFilterMode = "exclude"; DeviceFilterRule = "device.trustType -eq `"AzureAD`" -or device.trustType -eq `"ServerAD`" -or device.trustType -eq `"Workplace`""; DisplayName = "Example CAP"; @@ -359,7 +428,9 @@ AADCrossTenantAccessPolicy 'AADCrossTenantAccessPolicy' { AllowedCloudEndpoints = @("microsoftonline.us"); - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DisplayName = "MyXTAPPolicy"; Ensure = "Present"; IsSingleInstance = "Yes"; @@ -446,7 +517,9 @@ ) } } - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; InboundTrust = MSFT_AADCrossTenantAccessPolicyInboundTrust { IsCompliantDeviceAccepted = $False @@ -482,14 +555,18 @@ ) } }; - Credential = $credsCredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; } AADEntitlementManagementAccessPackage 'myAccessPackage' { AccessPackagesIncompatibleWith = @(); CatalogId = "General"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Description = "Integration Tests"; DisplayName = "Integration Package"; Ensure = "Present"; @@ -521,7 +598,9 @@ IsApprovalRequiredForExtension = $False }; Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADEntitlementManagementAccessPackageCatalog 'myAccessPackageCatalog' { @@ -532,26 +611,30 @@ IsExternallyVisible = $False # Updated Property Managedidentity = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { DisplayName = 'Human Resources' CatalogId = 'My Catalog' - Description = "https://$($Domain.Split('.')[0]).sharepoint.com/sites/HumanResources" + Description = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" IsPendingOnboarding = $false # Updated Property - OriginId = "https://$($Domain.Split('.')[0]).sharepoint.com/sites/HumanResources" + OriginId = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" OriginSystem = 'SharePointOnline' ResourceType = 'SharePoint Online Site' - Url = "https://$($Domain.Split('.')[0]).sharepoint.com/sites/HumanResources" + Url = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADEntitlementManagementConnectedOrganization 'MyConnectedOrganization' { Description = "This is the tenant partner - Updated"; # Updated Property DisplayName = "Test Tenant - DSC"; - ExternalSponsors = @("AdeleV@$Domain"); + ExternalSponsors = @("AdeleV@$TenantId"); IdentitySources = @( MSFT_AADEntitlementManagementConnectedOrganizationIdentitySource{ ExternalTenantId = "e7a80bcf-696e-40ca-8775-a7f85fbb3ebc" @@ -559,16 +642,20 @@ odataType = '#microsoft.graph.azureActiveDirectoryTenant' } ); - InternalSponsors = @("AdeleV@$Domain"); + InternalSponsors = @("AdeleV@$TenantId"); State = "configured"; Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADExternalIdentityPolicy 'AADExternalIdentityPolicy' { AllowDeletedIdentitiesDataRemoval = $False; AllowExternalIdentitiesToLeave = $True; - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint IsSingleInstance = "Yes"; } AADGroup 'MyGroups' @@ -580,18 +667,22 @@ GroupTypes = @("Unified") MailNickname = "M365DSC" Visibility = "Private" - Owners = @("admin@$Domain", "AdeleV@$Domain") + Owners = @("admin@$TenantId", "AdeleV@$TenantId") Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADGroupLifecyclePolicy 'GroupLifecyclePolicy' { IsSingleInstance = "Yes" - AlternateNotificationEmails = @("john.smith@contoso.com") + AlternateNotificationEmails = @("john.smith@$TenantId") GroupLifetimeInDays = 99 ManagedGroupTypes = "Selected" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADGroupsNamingPolicy 'GroupsNamingPolicy' { @@ -599,7 +690,9 @@ CustomBlockedWordsList = @("CEO", "President") PrefixSuffixNamingRequirement = "[Title]Test[Company][GroupName][Office]Redmond" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADGroupsSettings 'GeneralGroupsSettings' { @@ -612,7 +705,9 @@ GuestUsageGuidelinesUrl = "https://contoso.com/guestusage" UsageGuidelinesUrl = "https://contoso.com/usage" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADNamedLocationPolicy 'CompanyNetwork' { @@ -621,7 +716,9 @@ IsTrusted = $False OdataType = "#microsoft.graph.ipNamedLocation" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADRoleDefinition 'AADRoleDefinition1' { @@ -632,16 +729,20 @@ RolePermissions = "microsoft.directory/applicationPolicies/allProperties/read","microsoft.directory/applicationPolicies/allProperties/update","microsoft.directory/applicationPolicies/basic/update" Version = "1.0" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADRoleEligibilityScheduleRequest 'MyRequest' { Action = "AdminUpdate"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DirectoryScopeId = "/"; Ensure = "Present"; IsValidationOnly = $False; - Principal = "AdeleV@$Domain"; + Principal = "AdeleV@$TenantId"; RoleDefinition = "Teams Communications Administrator"; ScheduleInfo = MSFT_AADRoleEligibilityScheduleRequestSchedule { startDateTime = '2023-09-01T02:45:44Z' # Updated Property @@ -693,12 +794,16 @@ ExpireEligibleAssignment = "P365D"; PermanentActiveAssignmentisExpirationRequired = $False; PermanentEligibleAssignmentisExpirationRequired = $False; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = 'Present' } AADSecurityDefaults 'Defaults' { - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Description = "Security defaults is a set of basic identity security mechanisms recommended by Microsoft. When enabled, these recommendations will be automatically enforced in your organization. Administrators and users will be better protected from common identity related attacks."; DisplayName = "Security Defaults"; IsEnabled = $False; @@ -711,19 +816,23 @@ AlternativeNames = "AlternativeName1","AlternativeName3" # Updated Property AccountEnabled = $true AppRoleAssignmentRequired = $false - Homepage = "https://$Domain" - LogoutUrl = "https://$Domain/logout" - ReplyURLs = "https://$Domain" + Homepage = "https://$TenantId" + LogoutUrl = "https://$TenantId/logout" + ReplyURLs = "https://$TenantId" ServicePrincipalType = "Application" Tags = "{WindowsAzureActiveDirectoryIntegratedApp}" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADSocialIdentityProvider 'AADSocialIdentityProvider-Google' { ClientId = "Google-OAUTH"; ClientSecret = "FakeSecret-Updated"; # Updated Property - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DisplayName = "My Google Provider"; Ensure = "Present"; IdentityProviderType = "Google"; @@ -733,7 +842,9 @@ IsSingleInstance = 'Yes' TechnicalNotificationMails = "example@contoso.com" MarketingNotificationEmails = "example@contoso.com" - Credential = $credsCredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADTokenLifetimePolicy 'SetTokenLifetimePolicy' { @@ -741,11 +852,13 @@ Definition = @("{`"TokenLifetimePolicy`":{`"Version`":1,`"AccessTokenLifetime`":`"02:00:00`"}}"); IsOrganizationDefault = $true # Updated Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADUser 'ConfigureJohnSMith' { - UserPrincipalName = "John.Smith@$Domain" + UserPrincipalName = "John.Smith@$TenantId" FirstName = "John" LastName = "Smith" DisplayName = "John J. Smith" @@ -754,7 +867,9 @@ Office = "Ottawa - Queen" UsageLocation = "US" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -771,7 +886,7 @@ # Compile and deploy configuration try { - Master -ConfigurationData $ConfigurationData -Credscredential $Credential + Master -ConfigurationData $ConfigurationData -ApplicationId $ApplicationId -TenantId $TenantId -CertificateThumbprint $CertificateThumbprint Start-DscConfiguration Master -Wait -Force -Verbose -ErrorAction Stop } catch From d7aaa77e01527bc78128e7da888f0196cdb4ed08 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 11:41:43 +0000 Subject: [PATCH 044/123] Updated {Update} AAD Integration Tests --- .../M365DSCIntegration.AAD.Remove.Tests.ps1 | 162 +++++++++++++----- 1 file changed, 123 insertions(+), 39 deletions(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 index 15a3838ebc..5af2a8c355 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 @@ -1,38 +1,60 @@ param ( [Parameter()] - [System.Management.Automation.PSCredential] - $Credential + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Configuration Master { param ( - [Parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] + $Domain = $TenantId Node Localhost { AADAdministrativeUnit 'TestUnit' { DisplayName = 'Test-Unit' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADApplication 'AADApp1' { DisplayName = "AppDisplayName" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADAuthenticationContextClassReference 'AADAuthenticationContextClassReference-Test' { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Description = "Context test Updated"; # Updated Property DisplayName = "My Context"; Ensure = "Absent"; @@ -51,41 +73,55 @@ ); IsSoftwareOathEnabled = $True; # Updated Property State = "enabled"; - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADAuthenticationMethodPolicyFido2 'AADAuthenticationMethodPolicyFido2-Fido2' { Ensure = "Absent"; Id = "Fido2"; - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADAuthenticationMethodPolicySms 'AADAuthenticationMethodPolicySms-Sms' { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Absent"; Id = "Sms"; } AADAuthenticationMethodPolicySoftware 'AADAuthenticationMethodPolicySoftware-SoftwareOath' { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Absent"; Id = "SoftwareOath"; } AADAuthenticationMethodPolicyTemporary 'AADAuthenticationMethodPolicyTemporary-TemporaryAccessPass' { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Absent"; Id = "TemporaryAccessPass"; } AADAuthenticationMethodPolicyVoice 'AADAuthenticationMethodPolicyVoice-Voice' { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Absent"; Id = "Voice"; } AADAuthenticationMethodPolicyX509 'AADAuthenticationMethodPolicyX509-X509Certificate' { - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Absent"; Id = "X509Certificate"; } @@ -93,17 +129,23 @@ { DisplayName = "Example"; Ensure = "Absent"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADConditionalAccessPolicy 'ConditionalAccessPolicy' { DisplayName = 'Example CAP' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADCrossTenantAccessPolicyConfigurationPartner 'AADCrossTenantAccessPolicyConfigurationPartner' { - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Ensure = "Absent"; PartnerTenantId = "12345-12345-12345-12345-12345"; } @@ -111,31 +153,51 @@ { DisplayName = 'Integration Package' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADEntitlementManagementAccessPackageAssignmentPolicy 'myAssignmentPolicyWithAccessReviewsSettings' { DisplayName = "External tenant"; Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADEntitlementManagementAccessPackageCatalog 'myAccessPackageCatalog' { DisplayName = 'My Catalog' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { DisplayName = 'Communication site' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADEntitlementManagementConnectedOrganization 'MyConnectedOrganization' { DisplayName = "Test Tenant - DSC"; Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + AADEntitlementManagementRoleAssignment 'AADEntitlementManagementRoleAssignment-Remove' + { + AppScopeId = "/"; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + Ensure = "Absent"; + Principal = "John.Smith@$TenantId"; + RoleDefinition = "Catalog creator"; } AADGroup 'MyGroups' { @@ -144,34 +206,44 @@ MailEnabled = $True DisplayName = "DSCGroup" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADGroupLifecyclePolicy 'GroupLifecyclePolicy' { IsSingleInstance = "Yes" - AlternateNotificationEmails = @("john.smith@contoso.com") + AlternateNotificationEmails = @("john.smith@$TenantId") GroupLifetimeInDays = 99 ManagedGroupTypes = "Selected" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADGroupsNamingPolicy 'GroupsNamingPolicy' { IsSingleInstance = "Yes" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADGroupsSettings 'GeneralGroupsSettings' { IsSingleInstance = "Yes" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADNamedLocationPolicy 'CompanyNetwork' { DisplayName = "Company Network" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADRoleDefinition 'AADRoleDefinition1' { @@ -179,16 +251,20 @@ RolePermissions = "microsoft.directory/applicationPolicies/allProperties/read" DisplayName = "DSCRole1" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADRoleEligibilityScheduleRequest 'MyRequest' { Action = "AdminAssign"; - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DirectoryScopeId = "/"; Ensure = "Absent"; IsValidationOnly = $True; # Updated Property - Principal = "John.Smith@$OrganizationName"; + Principal = "AdeleV@$TenantId"; RoleDefinition = "Teams Communications Administrator"; ScheduleInfo = MSFT_AADRoleEligibilityScheduleRequestSchedule { startDateTime = '2023-09-01T02:40:44Z' @@ -204,13 +280,17 @@ AppId = "AppDisplayName" DisplayName = "AppDisplayName" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADSocialIdentityProvider 'AADSocialIdentityProvider-Google' { ClientId = "Google-OAUTH"; ClientSecret = "FakeSecret-Updated"; # Updated Property - Credential = $credsCredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DisplayName = "My Google Provider"; Ensure = "Absent"; IdentityProviderType = "Google"; @@ -219,14 +299,18 @@ { DisplayName = "PolicyDisplayName" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } AADUser 'ConfigureJohnSMith' { - UserPrincipalName = "John.Smith@$Domain" + UserPrincipalName = "John.Smith@$TenantId" DisplayName = "John J. Smith" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -243,7 +327,7 @@ # Compile and deploy configuration try { - Master -ConfigurationData $ConfigurationData -Credscredential $Credential + Master -ConfigurationData $ConfigurationData -ApplicationId $ApplicationId -TenantId $TenantId -CertificateThumbprint $CertificateThumbprint Start-DscConfiguration Master -Wait -Force -Verbose -ErrorAction Stop } catch From d1fd7d5b566e915af0e46be2b2627c9782cc098c Mon Sep 17 00:00:00 2001 From: Ricardo Mestre Date: Mon, 15 Jul 2024 13:34:08 +0100 Subject: [PATCH 045/123] Fix issue while creating policy for first time --- CHANGELOG.md | 6 ++++++ .../MSFT_EXOMessageClassification.psm1 | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f62077cf2..bdeda65995 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Change log for Microsoft365DSC +# UNRELEASED + +* EXOMessageClassification + * Fix issue while creating policy for first time + FIXES [#4877](https://github.com/microsoft/Microsoft365DSC/issues/4877) + # 1.24.710.3 * MISC diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOMessageClassification/MSFT_EXOMessageClassification.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOMessageClassification/MSFT_EXOMessageClassification.psm1 index 73eb17e9c8..26afd542c2 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOMessageClassification/MSFT_EXOMessageClassification.psm1 +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOMessageClassification/MSFT_EXOMessageClassification.psm1 @@ -258,7 +258,7 @@ function Set-TargetResource $ConnectionMode = New-M365DSCConnection -Workload 'ExchangeOnline' ` -InboundParameters $PSBoundParameters - $MessageClassification = Get-MessageClassification -Identity $Identity + $MessageClassification = Get-MessageClassification -Identity $Identity -ErrorAction SilentlyContinue $MessageClassificationParams = [System.Collections.Hashtable]($PSBoundParameters) $MessageClassificationParams.Remove('Ensure') | Out-Null $MessageClassificationParams.Remove('Credential') | Out-Null From f30b8c876cc67c7647e7402b0db0823f671a9283 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Mon, 15 Jul 2024 09:11:42 -0400 Subject: [PATCH 046/123] Updated Tests --- .../Examples/Resources/AADAdministrativeUnit/2-Update.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/2-Update.ps1 index b669251635..f6e5d23508 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADAdministrativeUnit/2-Update.ps1 @@ -26,7 +26,7 @@ Configuration Example { DisplayName = 'Test-Unit' Description = 'Test Description Updated' # Updated Property - Visibility = 'HiddenMembership' # Updated Property + Visibility = 'Public' MembershipRule = "(user.country -eq `"US`")" # Updated Property MembershipRuleProcessingState = 'On' MembershipType = 'Dynamic' From 553190a1d64163fc986d92184995506ad546bebc Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 13:13:20 +0000 Subject: [PATCH 047/123] Updated Resources and Cmdlet documentation pages --- docs/docs/resources/azure-ad/AADAdministrativeUnit.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/resources/azure-ad/AADAdministrativeUnit.md b/docs/docs/resources/azure-ad/AADAdministrativeUnit.md index 481d371ccf..89dd351064 100644 --- a/docs/docs/resources/azure-ad/AADAdministrativeUnit.md +++ b/docs/docs/resources/azure-ad/AADAdministrativeUnit.md @@ -153,7 +153,7 @@ Configuration Example { DisplayName = 'Test-Unit' Description = 'Test Description Updated' # Updated Property - Visibility = 'HiddenMembership' # Updated Property + Visibility = 'Public' MembershipRule = "(user.country -eq `"US`")" # Updated Property MembershipRuleProcessingState = 'On' MembershipType = 'Dynamic' From 5c477295f45ad8045eec9dccf06fbb9b8daa5d2a Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 13:13:32 +0000 Subject: [PATCH 048/123] Updated {Update} AAD Integration Tests --- .../Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 index fec5ae4143..b334e1317d 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 @@ -38,7 +38,7 @@ { DisplayName = 'Test-Unit' Description = 'Test Description Updated' # Updated Property - Visibility = 'HiddenMembership' # Updated Property + Visibility = 'Public' MembershipRule = "(user.country -eq `"US`")" # Updated Property MembershipRuleProcessingState = 'On' MembershipType = 'Dynamic' From 44f35ee7e381803a2945ec5f567ca49e13fcb54b Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Mon, 15 Jul 2024 10:40:29 -0400 Subject: [PATCH 049/123] Additional Fixes --- .../MSFT_AADAdministrativeUnit.psm1 | 2 +- ...SFT_AADAuthenticationFlowPolicy.schema.mof | 2 +- ...anagementAccessPackageCatalogResource.psm1 | 1 - .../1-Create.ps1 | 22 +++++++++---------- .../2-Update.ps1 | 22 +++++++++---------- .../3-Remove.ps1 | 2 +- 6 files changed, 23 insertions(+), 28 deletions(-) diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_AADAdministrativeUnit/MSFT_AADAdministrativeUnit.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_AADAdministrativeUnit/MSFT_AADAdministrativeUnit.psm1 index aec6e79b42..413dc6b7b7 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_AADAdministrativeUnit/MSFT_AADAdministrativeUnit.psm1 +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_AADAdministrativeUnit/MSFT_AADAdministrativeUnit.psm1 @@ -120,7 +120,7 @@ function Get-TargetResource if ($null -eq $getValue -and -not [string]::IsNullOrEmpty($DisplayName)) { - Write-Verbose -Message "Could not find an Azure AD Administrative Unit with Id {$Id}" + Write-Verbose -Message "Could not find an Azure AD Administrative Unit by Id, trying by DisplayName {$DisplayName}" if (-Not [string]::IsNullOrEmpty($DisplayName)) { if ($null -ne $Script:exportedInstances -and $Script:ExportMode) diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_AADAuthenticationFlowPolicy/MSFT_AADAuthenticationFlowPolicy.schema.mof b/Modules/Microsoft365DSC/DSCResources/MSFT_AADAuthenticationFlowPolicy/MSFT_AADAuthenticationFlowPolicy.schema.mof index cffeaae1e1..5d4a38b79d 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_AADAuthenticationFlowPolicy/MSFT_AADAuthenticationFlowPolicy.schema.mof +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_AADAuthenticationFlowPolicy/MSFT_AADAuthenticationFlowPolicy.schema.mof @@ -5,7 +5,7 @@ class MSFT_AADAuthenticationFlowPolicy : OMI_BaseResource [Write, Description("Unique identifier of the Authentication Flow Policy.")] String Id; [Write, Description("Display name of the Authentication Flow Policy.")] String DisplayName; [Write, Description("Description of the Authentication Flow Policy.")] String Description; - [Write, Description("Indicates whether self-service sign-up flow is enabled or disabled. The default value is false. This property isn't a key. Required.")] String SelfServiceSignUpEnabled; + [Write, Description("Indicates whether self-service sign-up flow is enabled or disabled. The default value is false. This property isn't a key. Required.")] Boolean SelfServiceSignUpEnabled; [Write, Description("Credentials of the Azure Active Directory 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; diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_AADEntitlementManagementAccessPackageCatalogResource/MSFT_AADEntitlementManagementAccessPackageCatalogResource.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_AADEntitlementManagementAccessPackageCatalogResource/MSFT_AADEntitlementManagementAccessPackageCatalogResource.psm1 index 5b570d0d55..90a27ef215 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_AADEntitlementManagementAccessPackageCatalogResource/MSFT_AADEntitlementManagementAccessPackageCatalogResource.psm1 +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_AADEntitlementManagementAccessPackageCatalogResource/MSFT_AADEntitlementManagementAccessPackageCatalogResource.psm1 @@ -717,7 +717,6 @@ function Export-TargetResource [array]$resources = Get-MgBetaEntitlementManagementAccessPackageCatalogAccessPackageResource -AccessPackageCatalogId $catalogId -ErrorAction Stop $j = 1 - $dscContent = '' if ($resources.Length -eq 0) { diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 index c0c53860d8..b2ecd0d7e8 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 @@ -24,18 +24,16 @@ Configuration Example { AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { - DisplayName = 'Human Resources' - CatalogId = 'My Catalog' - Description = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" - IsPendingOnboarding = $true - OriginId = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" - OriginSystem = 'SharePointOnline' - ResourceType = 'SharePoint Online Site' - Url = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" - Ensure = 'Present' - ApplicationId = $ApplicationId - TenantId = $TenantId - CertificateThumbprint = $CertificateThumbprint + ApplicationId = $ApplicationId; + CatalogId = "My Catalog"; + CertificateThumbprint = $CertificateThumbprint; + DisplayName = "Integration Package Resource"; + OriginSystem = "AADGroup"; + OriginId = '849b3661-61a8-44a8-92e7-fcc91d296235' + Ensure = "Present"; + IsPendingOnboarding = $True; + TenantId = $TenantId; + Url = "https://myapps.microsoft.com/$TenantId/signin/$ApplicationId/"; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 index c91456105f..868cdfdd31 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 @@ -24,18 +24,16 @@ Configuration Example { AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { - DisplayName = 'Human Resources' - CatalogId = 'My Catalog' - Description = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" - IsPendingOnboarding = $false # Updated Property - OriginId = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" - OriginSystem = 'SharePointOnline' - ResourceType = 'SharePoint Online Site' - Url = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" - Ensure = 'Present' - ApplicationId = $ApplicationId - TenantId = $TenantId - CertificateThumbprint = $CertificateThumbprint + ApplicationId = $ApplicationId; + CatalogId = "My Catalog"; + CertificateThumbprint = $CertificateThumbprint; + DisplayName = "Integration Package Resource"; + OriginSystem = "AADGroup"; + OriginId = '849b3661-61a8-44a8-92e7-fcc91d296235' + Ensure = "Present"; + IsPendingOnboarding = $False; + TenantId = $TenantId; + Url = "https://myapps.microsoft.com/$TenantId/signin/$ApplicationId/"; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 index a6948ba719..fc582fc96e 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 @@ -24,7 +24,7 @@ Configuration Example { AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { - DisplayName = 'Communication site' + DisplayName = 'Integration Package Resource' Ensure = 'Absent' ApplicationId = $ApplicationId TenantId = $TenantId From b4221e494e78476a177a1674589309d2115a6ba3 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 14:41:47 +0000 Subject: [PATCH 050/123] Updated Resources and Cmdlet documentation pages --- .../azure-ad/AADAuthenticationFlowPolicy.md | 2 +- ...tManagementAccessPackageCatalogResource.md | 46 +++++++++---------- 2 files changed, 22 insertions(+), 26 deletions(-) diff --git a/docs/docs/resources/azure-ad/AADAuthenticationFlowPolicy.md b/docs/docs/resources/azure-ad/AADAuthenticationFlowPolicy.md index 0f173f0864..cf53b3ae11 100644 --- a/docs/docs/resources/azure-ad/AADAuthenticationFlowPolicy.md +++ b/docs/docs/resources/azure-ad/AADAuthenticationFlowPolicy.md @@ -8,7 +8,7 @@ | **Id** | Write | String | Unique identifier of the Authentication Flow Policy. | | | **DisplayName** | Write | String | Display name of the Authentication Flow Policy. | | | **Description** | Write | String | Description of the Authentication Flow Policy. | | -| **SelfServiceSignUpEnabled** | Write | String | Indicates whether self-service sign-up flow is enabled or disabled. The default value is false. This property isn't a key. Required. | | +| **SelfServiceSignUpEnabled** | Write | Boolean | Indicates whether self-service sign-up flow is enabled or disabled. The default value is false. This property isn't a key. Required. | | | **Credential** | Write | PSCredential | Credentials of the Azure Active Directory Admin | | | **ApplicationId** | Write | String | Id of the Azure Active Directory application to authenticate with. | | | **TenantId** | Write | String | Id of the Azure Active Directory tenant used for authentication. | | diff --git a/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md b/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md index 09a7a2a74f..8d461435a2 100644 --- a/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md +++ b/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md @@ -158,18 +158,16 @@ Configuration Example { AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { - DisplayName = 'Human Resources' - CatalogId = 'My Catalog' - Description = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" - IsPendingOnboarding = $true - OriginId = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" - OriginSystem = 'SharePointOnline' - ResourceType = 'SharePoint Online Site' - Url = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" - Ensure = 'Present' - ApplicationId = $ApplicationId - TenantId = $TenantId - CertificateThumbprint = $CertificateThumbprint + ApplicationId = $ApplicationId; + CatalogId = "My Catalog"; + CertificateThumbprint = $CertificateThumbprint; + DisplayName = "Integration Package Resource"; + OriginSystem = "AADGroup"; + OriginId = '849b3661-61a8-44a8-92e7-fcc91d296235' + Ensure = "Present"; + IsPendingOnboarding = $True; + TenantId = $TenantId; + Url = "https://myapps.microsoft.com/$TenantId/signin/$ApplicationId/"; } } } @@ -202,18 +200,16 @@ Configuration Example { AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { - DisplayName = 'Human Resources' - CatalogId = 'My Catalog' - Description = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" - IsPendingOnboarding = $false # Updated Property - OriginId = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" - OriginSystem = 'SharePointOnline' - ResourceType = 'SharePoint Online Site' - Url = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" - Ensure = 'Present' - ApplicationId = $ApplicationId - TenantId = $TenantId - CertificateThumbprint = $CertificateThumbprint + ApplicationId = $ApplicationId; + CatalogId = "My Catalog"; + CertificateThumbprint = $CertificateThumbprint; + DisplayName = "Integration Package Resource"; + OriginSystem = "AADGroup"; + OriginId = '849b3661-61a8-44a8-92e7-fcc91d296235' + Ensure = "Present"; + IsPendingOnboarding = $False; + TenantId = $TenantId; + Url = "https://myapps.microsoft.com/$TenantId/signin/$ApplicationId/"; } } } @@ -246,7 +242,7 @@ Configuration Example { AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { - DisplayName = 'Communication site' + DisplayName = 'Integration Package Resource' Ensure = 'Absent' ApplicationId = $ApplicationId TenantId = $TenantId From dabbbf72f0bc8f5103459d0795405ba5ae6b3406 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 14:43:25 +0000 Subject: [PATCH 051/123] Updated Schema Definition --- Modules/Microsoft365DSC/SchemaDefinition.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/Microsoft365DSC/SchemaDefinition.json b/Modules/Microsoft365DSC/SchemaDefinition.json index cc4e3f0fe7..546277a2e8 100644 --- a/Modules/Microsoft365DSC/SchemaDefinition.json +++ b/Modules/Microsoft365DSC/SchemaDefinition.json @@ -473,7 +473,7 @@ "Option": "Write" }, { - "CIMType": "String", + "CIMType": "Boolean", "Name": "SelfServiceSignUpEnabled", "Option": "Write" }, From d17ab3a1e8dc31bc9336f94ea19bf687e42230d2 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Mon, 15 Jul 2024 10:49:25 -0400 Subject: [PATCH 052/123] FIxes Tests --- .../1-Create.ps1 | 3 +-- .../2-Update.ps1 | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 index b2ecd0d7e8..17fb65dfe6 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 @@ -31,9 +31,8 @@ Configuration Example OriginSystem = "AADGroup"; OriginId = '849b3661-61a8-44a8-92e7-fcc91d296235' Ensure = "Present"; - IsPendingOnboarding = $True; + IsPendingOnboarding = $False; TenantId = $TenantId; - Url = "https://myapps.microsoft.com/$TenantId/signin/$ApplicationId/"; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 index 868cdfdd31..17fb65dfe6 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 @@ -33,7 +33,6 @@ Configuration Example Ensure = "Present"; IsPendingOnboarding = $False; TenantId = $TenantId; - Url = "https://myapps.microsoft.com/$TenantId/signin/$ApplicationId/"; } } } From 1093885dfc63934ce99fc2f5b1f036ea0ec4f5a7 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 14:50:37 +0000 Subject: [PATCH 053/123] Updated Resources and Cmdlet documentation pages --- .../AADEntitlementManagementAccessPackageCatalogResource.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md b/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md index 8d461435a2..d9a67f5cf2 100644 --- a/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md +++ b/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md @@ -165,9 +165,8 @@ Configuration Example OriginSystem = "AADGroup"; OriginId = '849b3661-61a8-44a8-92e7-fcc91d296235' Ensure = "Present"; - IsPendingOnboarding = $True; + IsPendingOnboarding = $False; TenantId = $TenantId; - Url = "https://myapps.microsoft.com/$TenantId/signin/$ApplicationId/"; } } } @@ -209,7 +208,6 @@ Configuration Example Ensure = "Present"; IsPendingOnboarding = $False; TenantId = $TenantId; - Url = "https://myapps.microsoft.com/$TenantId/signin/$ApplicationId/"; } } } From d68d568820be75275027b97f240af9dde09c8bf6 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 14:50:46 +0000 Subject: [PATCH 054/123] Updated {Create} AAD Integration Tests --- .../M365DSCIntegration.AAD.Create.Tests.ps1 | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 index e7706feb55..b8d886fb89 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 @@ -237,18 +237,15 @@ } AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { - DisplayName = 'Human Resources' - CatalogId = 'My Catalog' - Description = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" - IsPendingOnboarding = $true - OriginId = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" - OriginSystem = 'SharePointOnline' - ResourceType = 'SharePoint Online Site' - Url = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" - Ensure = 'Present' - ApplicationId = $ApplicationId - TenantId = $TenantId - CertificateThumbprint = $CertificateThumbprint + ApplicationId = $ApplicationId; + CatalogId = "My Catalog"; + CertificateThumbprint = $CertificateThumbprint; + DisplayName = "Integration Package Resource"; + OriginSystem = "AADGroup"; + OriginId = '849b3661-61a8-44a8-92e7-fcc91d296235' + Ensure = "Present"; + IsPendingOnboarding = $False; + TenantId = $TenantId; } AADEntitlementManagementConnectedOrganization 'MyConnectedOrganization' { From c19896c440e7c5864435b09c7ae53a9537d56095 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 14:51:00 +0000 Subject: [PATCH 055/123] Updated {Update} AAD Integration Tests --- .../M365DSCIntegration.AAD.Update.Tests.ps1 | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 index b334e1317d..130bf128bf 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 @@ -617,18 +617,15 @@ } AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { - DisplayName = 'Human Resources' - CatalogId = 'My Catalog' - Description = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" - IsPendingOnboarding = $false # Updated Property - OriginId = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" - OriginSystem = 'SharePointOnline' - ResourceType = 'SharePoint Online Site' - Url = "https://$($TenantId.Split('.')[0]).sharepoint.com/sites/HumanResources" - Ensure = 'Present' - ApplicationId = $ApplicationId - TenantId = $TenantId - CertificateThumbprint = $CertificateThumbprint + ApplicationId = $ApplicationId; + CatalogId = "My Catalog"; + CertificateThumbprint = $CertificateThumbprint; + DisplayName = "Integration Package Resource"; + OriginSystem = "AADGroup"; + OriginId = '849b3661-61a8-44a8-92e7-fcc91d296235' + Ensure = "Present"; + IsPendingOnboarding = $False; + TenantId = $TenantId; } AADEntitlementManagementConnectedOrganization 'MyConnectedOrganization' { From 27e7a2d725a16ea50ed966f311bdbdfdfae73daf Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 14:51:12 +0000 Subject: [PATCH 056/123] Updated {Update} AAD Integration Tests --- .../Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 index 5af2a8c355..afc1d30bdb 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 @@ -175,7 +175,7 @@ } AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { - DisplayName = 'Communication site' + DisplayName = 'Integration Package Resource' Ensure = 'Absent' ApplicationId = $ApplicationId TenantId = $TenantId From e65986a2daf3e9de65ef6da36911ec59b2cb07e0 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Mon, 15 Jul 2024 11:39:15 -0400 Subject: [PATCH 057/123] Updated Create AAD Tests --- .../1-Create.ps1 | 2 +- .../2-Update.ps1 | 2 +- .../3-Remove.ps1 | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 index 17fb65dfe6..2621343088 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 @@ -27,7 +27,7 @@ Configuration Example ApplicationId = $ApplicationId; CatalogId = "My Catalog"; CertificateThumbprint = $CertificateThumbprint; - DisplayName = "Integration Package Resource"; + DisplayName = "DSCGroup"; OriginSystem = "AADGroup"; OriginId = '849b3661-61a8-44a8-92e7-fcc91d296235' Ensure = "Present"; diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 index 17fb65dfe6..2621343088 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 @@ -27,7 +27,7 @@ Configuration Example ApplicationId = $ApplicationId; CatalogId = "My Catalog"; CertificateThumbprint = $CertificateThumbprint; - DisplayName = "Integration Package Resource"; + DisplayName = "DSCGroup"; OriginSystem = "AADGroup"; OriginId = '849b3661-61a8-44a8-92e7-fcc91d296235' Ensure = "Present"; diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 index fc582fc96e..84e938ce40 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 @@ -24,7 +24,7 @@ Configuration Example { AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { - DisplayName = 'Integration Package Resource' + DisplayName = 'DSCGroup' Ensure = 'Absent' ApplicationId = $ApplicationId TenantId = $TenantId From 53839a0301cdc17e55db09968163d2c28e0a5757 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 15:41:27 +0000 Subject: [PATCH 058/123] Updated Resources and Cmdlet documentation pages --- .../AADEntitlementManagementAccessPackageCatalogResource.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md b/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md index d9a67f5cf2..28c2cd92a4 100644 --- a/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md +++ b/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md @@ -161,7 +161,7 @@ Configuration Example ApplicationId = $ApplicationId; CatalogId = "My Catalog"; CertificateThumbprint = $CertificateThumbprint; - DisplayName = "Integration Package Resource"; + DisplayName = "DSCGroup"; OriginSystem = "AADGroup"; OriginId = '849b3661-61a8-44a8-92e7-fcc91d296235' Ensure = "Present"; @@ -202,7 +202,7 @@ Configuration Example ApplicationId = $ApplicationId; CatalogId = "My Catalog"; CertificateThumbprint = $CertificateThumbprint; - DisplayName = "Integration Package Resource"; + DisplayName = "DSCGroup"; OriginSystem = "AADGroup"; OriginId = '849b3661-61a8-44a8-92e7-fcc91d296235' Ensure = "Present"; @@ -240,7 +240,7 @@ Configuration Example { AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { - DisplayName = 'Integration Package Resource' + DisplayName = 'DSCGroup' Ensure = 'Absent' ApplicationId = $ApplicationId TenantId = $TenantId From 08e4e35d874c5a8b438292f3761210be2515886f Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 17:09:01 +0000 Subject: [PATCH 059/123] Updated {Create} AAD Integration Tests --- .../Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 index b8d886fb89..b0b45ac2d3 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 @@ -240,7 +240,7 @@ ApplicationId = $ApplicationId; CatalogId = "My Catalog"; CertificateThumbprint = $CertificateThumbprint; - DisplayName = "Integration Package Resource"; + DisplayName = "DSCGroup"; OriginSystem = "AADGroup"; OriginId = '849b3661-61a8-44a8-92e7-fcc91d296235' Ensure = "Present"; From 58d7f687ad3b280ca438c9b08eaae5d563f48f9f Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 17:09:16 +0000 Subject: [PATCH 060/123] Updated {Update} AAD Integration Tests --- .../Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 index 130bf128bf..3c148f7c95 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 @@ -620,7 +620,7 @@ ApplicationId = $ApplicationId; CatalogId = "My Catalog"; CertificateThumbprint = $CertificateThumbprint; - DisplayName = "Integration Package Resource"; + DisplayName = "DSCGroup"; OriginSystem = "AADGroup"; OriginId = '849b3661-61a8-44a8-92e7-fcc91d296235' Ensure = "Present"; From 204d4a7939668f82984caa40a0290c35f70fc677 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 17:09:28 +0000 Subject: [PATCH 061/123] Updated {Update} AAD Integration Tests --- .../Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 index afc1d30bdb..03d456d623 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 @@ -175,7 +175,7 @@ } AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { - DisplayName = 'Integration Package Resource' + DisplayName = 'DSCGroup' Ensure = 'Absent' ApplicationId = $ApplicationId TenantId = $TenantId From 6223ce3b4c04d002c28f28970805312b2e61a5a1 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Mon, 15 Jul 2024 13:54:31 -0400 Subject: [PATCH 062/123] Finance Team --- .../1-Create.ps1 | 4 ++-- .../2-Update.ps1 | 4 ++-- .../3-Remove.ps1 | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 index 2621343088..37da64efb3 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 @@ -27,9 +27,9 @@ Configuration Example ApplicationId = $ApplicationId; CatalogId = "My Catalog"; CertificateThumbprint = $CertificateThumbprint; - DisplayName = "DSCGroup"; + DisplayName = "Finance Team"; OriginSystem = "AADGroup"; - OriginId = '849b3661-61a8-44a8-92e7-fcc91d296235' + OriginId = '50523ab8-a3d2-4b4f-a77d-16bd1abd328f' Ensure = "Present"; IsPendingOnboarding = $False; TenantId = $TenantId; diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 index 2621343088..37da64efb3 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 @@ -27,9 +27,9 @@ Configuration Example ApplicationId = $ApplicationId; CatalogId = "My Catalog"; CertificateThumbprint = $CertificateThumbprint; - DisplayName = "DSCGroup"; + DisplayName = "Finance Team"; OriginSystem = "AADGroup"; - OriginId = '849b3661-61a8-44a8-92e7-fcc91d296235' + OriginId = '50523ab8-a3d2-4b4f-a77d-16bd1abd328f' Ensure = "Present"; IsPendingOnboarding = $False; TenantId = $TenantId; diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 index 84e938ce40..ba3a948677 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 @@ -24,7 +24,7 @@ Configuration Example { AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { - DisplayName = 'DSCGroup' + DisplayName = 'Finance Team' Ensure = 'Absent' ApplicationId = $ApplicationId TenantId = $TenantId From 5e1dfbae9dd39a761f4d436dfa01a8b8c63abaa8 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 17:57:49 +0000 Subject: [PATCH 063/123] Updated Resources and Cmdlet documentation pages --- ...ntitlementManagementAccessPackageCatalogResource.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md b/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md index 28c2cd92a4..16f5ff6611 100644 --- a/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md +++ b/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md @@ -161,9 +161,9 @@ Configuration Example ApplicationId = $ApplicationId; CatalogId = "My Catalog"; CertificateThumbprint = $CertificateThumbprint; - DisplayName = "DSCGroup"; + DisplayName = "Finance Team"; OriginSystem = "AADGroup"; - OriginId = '849b3661-61a8-44a8-92e7-fcc91d296235' + OriginId = '50523ab8-a3d2-4b4f-a77d-16bd1abd328f' Ensure = "Present"; IsPendingOnboarding = $False; TenantId = $TenantId; @@ -202,9 +202,9 @@ Configuration Example ApplicationId = $ApplicationId; CatalogId = "My Catalog"; CertificateThumbprint = $CertificateThumbprint; - DisplayName = "DSCGroup"; + DisplayName = "Finance Team"; OriginSystem = "AADGroup"; - OriginId = '849b3661-61a8-44a8-92e7-fcc91d296235' + OriginId = '50523ab8-a3d2-4b4f-a77d-16bd1abd328f' Ensure = "Present"; IsPendingOnboarding = $False; TenantId = $TenantId; @@ -240,7 +240,7 @@ Configuration Example { AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { - DisplayName = 'DSCGroup' + DisplayName = 'Finance Team' Ensure = 'Absent' ApplicationId = $ApplicationId TenantId = $TenantId From 8d610913159d3aa161cbfb0087e54d27e5eb391d Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 17:58:19 +0000 Subject: [PATCH 064/123] Updated {Create} AAD Integration Tests --- .../Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 index b0b45ac2d3..0e5291e77f 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 @@ -240,9 +240,9 @@ ApplicationId = $ApplicationId; CatalogId = "My Catalog"; CertificateThumbprint = $CertificateThumbprint; - DisplayName = "DSCGroup"; + DisplayName = "Finance Team"; OriginSystem = "AADGroup"; - OriginId = '849b3661-61a8-44a8-92e7-fcc91d296235' + OriginId = '50523ab8-a3d2-4b4f-a77d-16bd1abd328f' Ensure = "Present"; IsPendingOnboarding = $False; TenantId = $TenantId; From b947b1b32dac6ca79f7c8b01a2c028b73e38bc79 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 17:58:33 +0000 Subject: [PATCH 065/123] Updated {Update} AAD Integration Tests --- .../Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 index 3c148f7c95..94b2085c4c 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 @@ -620,9 +620,9 @@ ApplicationId = $ApplicationId; CatalogId = "My Catalog"; CertificateThumbprint = $CertificateThumbprint; - DisplayName = "DSCGroup"; + DisplayName = "Finance Team"; OriginSystem = "AADGroup"; - OriginId = '849b3661-61a8-44a8-92e7-fcc91d296235' + OriginId = '50523ab8-a3d2-4b4f-a77d-16bd1abd328f' Ensure = "Present"; IsPendingOnboarding = $False; TenantId = $TenantId; From 05c00ef5ef48296ec4250b171473bee08aeb2c3d Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 17:58:44 +0000 Subject: [PATCH 066/123] Updated {Update} AAD Integration Tests --- .../Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 index 03d456d623..2f4fce0d04 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 @@ -175,7 +175,7 @@ } AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { - DisplayName = 'DSCGroup' + DisplayName = 'Finance Team' Ensure = 'Absent' ApplicationId = $ApplicationId TenantId = $TenantId From 0d8e6a092a2e38619f6d1cb7d12521c4f2802f3c Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Mon, 15 Jul 2024 14:25:37 -0400 Subject: [PATCH 067/123] Testing Dependencies in Tests --- ...anagementAccessPackageCatalogResource.psm1 | 15 +++++++++++++-- .../1-Create.ps1 | 19 +++++++++++++++++-- .../2-Update.ps1 | 19 +++++++++++++++++-- .../3-Remove.ps1 | 17 ++++++++++++++++- 4 files changed, 63 insertions(+), 7 deletions(-) diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_AADEntitlementManagementAccessPackageCatalogResource/MSFT_AADEntitlementManagementAccessPackageCatalogResource.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_AADEntitlementManagementAccessPackageCatalogResource/MSFT_AADEntitlementManagementAccessPackageCatalogResource.psm1 index 90a27ef215..06bdda2938 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_AADEntitlementManagementAccessPackageCatalogResource/MSFT_AADEntitlementManagementAccessPackageCatalogResource.psm1 +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_AADEntitlementManagementAccessPackageCatalogResource/MSFT_AADEntitlementManagementAccessPackageCatalogResource.psm1 @@ -183,7 +183,7 @@ function Get-TargetResource Description = $getValue.description DisplayName = $getValue.displayName IsPendingOnboarding = $getValue.isPendingOnboarding #Read-Only - OriginId = $getValue.originId + OriginId = $OriginId OriginSystem = $getValue.originSystem ResourceType = $getValue.resourceType Url = $getValue.url @@ -336,9 +336,20 @@ function Set-TargetResource $PSBoundParameters.Remove('isPendingOnboarding') | Out-Null $PSBoundParameters.Remove('AccessTokens') | Out-Null + $resource = ([Hashtable]$PSBoundParameters).clone() + $ObjectGuid = [System.Guid]::empty + if ($OriginSystem -eq 'AADGroup' -and ` + -not [System.Guid]::TryParse($OriginId, [System.Management.Automation.PSReference]$ObjectGuid)) + { + Write-Verbose -Message "The Group reference was provided by name {$OriginId}. Retrieving associated id." + $groupInfo = Get-MgGroup -Filter "DisplayName eq '$OriginId'" + if ($null -ne $groupInfo) + { + $resource.OriginId = $groupInfo.Id + } + } if ($Ensure -eq 'Present' -and $currentInstance.Ensure -eq 'Absent') { - $resource = ([Hashtable]$PSBoundParameters).clone() $ObjectGuid = [System.Guid]::empty if (-not [System.Guid]::TryParse($CatalogId, [System.Management.Automation.PSReference]$ObjectGuid)) { diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 index 37da64efb3..67cb07eb02 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 @@ -22,14 +22,29 @@ Configuration Example node localhost { + AADGroup 'MyGroups' + { + DisplayName = "MyGroup" + Description = "Microsoft DSC Group" + SecurityEnabled = $True + MailEnabled = $True + GroupTypes = @("Unified") + MailNickname = "MyGroup" + Visibility = "Private" + Owners = @("admin@$TenantId", "AdeleV@$TenantId") + Ensure = "Present" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { ApplicationId = $ApplicationId; CatalogId = "My Catalog"; CertificateThumbprint = $CertificateThumbprint; - DisplayName = "Finance Team"; + DisplayName = "MyGroup"; OriginSystem = "AADGroup"; - OriginId = '50523ab8-a3d2-4b4f-a77d-16bd1abd328f' + OriginId = 'MyGroup' Ensure = "Present"; IsPendingOnboarding = $False; TenantId = $TenantId; diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 index 37da64efb3..30edfaa416 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 @@ -22,14 +22,29 @@ Configuration Example node localhost { + AADGroup 'MyGroups' + { + DisplayName = "MyGroup" + Description = "Microsoft DSC Group" + SecurityEnabled = $True + MailEnabled = $True + GroupTypes = @("Unified") + MailNickname = "MyGroup" + Visibility = "Private" + Owners = @("admin@$TenantId", "AdeleV@$TenantId") + Ensure = "Present" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { ApplicationId = $ApplicationId; CatalogId = "My Catalog"; CertificateThumbprint = $CertificateThumbprint; - DisplayName = "Finance Team"; + DisplayName = "DSCGroup"; OriginSystem = "AADGroup"; - OriginId = '50523ab8-a3d2-4b4f-a77d-16bd1abd328f' + OriginId = '849b3661-61a8-44a8-92e7-fcc91d296235' Ensure = "Present"; IsPendingOnboarding = $False; TenantId = $TenantId; diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 index ba3a948677..3739d9713b 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 @@ -22,9 +22,24 @@ Configuration Example node localhost { + AADGroup 'MyGroups' + { + DisplayName = "MyGroup" + Description = "Microsoft DSC Group" + SecurityEnabled = $True + MailEnabled = $True + GroupTypes = @("Unified") + MailNickname = "MyGroup" + Visibility = "Private" + Owners = @("admin@$TenantId", "AdeleV@$TenantId") + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { - DisplayName = 'Finance Team' + DisplayName = 'DSCGroup' Ensure = 'Absent' ApplicationId = $ApplicationId TenantId = $TenantId From 92fffb0c3933f2fa15881047355e2cb0c00fe0d1 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 18:28:01 +0000 Subject: [PATCH 068/123] Updated Resources and Cmdlet documentation pages --- ...tManagementAccessPackageCatalogResource.md | 55 +++++++++++++++++-- 1 file changed, 50 insertions(+), 5 deletions(-) diff --git a/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md b/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md index 16f5ff6611..10a0747268 100644 --- a/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md +++ b/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md @@ -156,14 +156,29 @@ Configuration Example node localhost { + AADGroup 'MyGroups' + { + DisplayName = "MyGroup" + Description = "Microsoft DSC Group" + SecurityEnabled = $True + MailEnabled = $True + GroupTypes = @("Unified") + MailNickname = "MyGroup" + Visibility = "Private" + Owners = @("admin@$TenantId", "AdeleV@$TenantId") + Ensure = "Present" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { ApplicationId = $ApplicationId; CatalogId = "My Catalog"; CertificateThumbprint = $CertificateThumbprint; - DisplayName = "Finance Team"; + DisplayName = "MyGroup"; OriginSystem = "AADGroup"; - OriginId = '50523ab8-a3d2-4b4f-a77d-16bd1abd328f' + OriginId = 'MyGroup' Ensure = "Present"; IsPendingOnboarding = $False; TenantId = $TenantId; @@ -197,14 +212,29 @@ Configuration Example node localhost { + AADGroup 'MyGroups' + { + DisplayName = "MyGroup" + Description = "Microsoft DSC Group" + SecurityEnabled = $True + MailEnabled = $True + GroupTypes = @("Unified") + MailNickname = "MyGroup" + Visibility = "Private" + Owners = @("admin@$TenantId", "AdeleV@$TenantId") + Ensure = "Present" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { ApplicationId = $ApplicationId; CatalogId = "My Catalog"; CertificateThumbprint = $CertificateThumbprint; - DisplayName = "Finance Team"; + DisplayName = "DSCGroup"; OriginSystem = "AADGroup"; - OriginId = '50523ab8-a3d2-4b4f-a77d-16bd1abd328f' + OriginId = '849b3661-61a8-44a8-92e7-fcc91d296235' Ensure = "Present"; IsPendingOnboarding = $False; TenantId = $TenantId; @@ -238,9 +268,24 @@ Configuration Example node localhost { + AADGroup 'MyGroups' + { + DisplayName = "MyGroup" + Description = "Microsoft DSC Group" + SecurityEnabled = $True + MailEnabled = $True + GroupTypes = @("Unified") + MailNickname = "MyGroup" + Visibility = "Private" + Owners = @("admin@$TenantId", "AdeleV@$TenantId") + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { - DisplayName = 'Finance Team' + DisplayName = 'DSCGroup' Ensure = 'Absent' ApplicationId = $ApplicationId TenantId = $TenantId From 6c8483232b3685fffeccbe93255f90d0b3442e40 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Mon, 15 Jul 2024 14:28:58 -0400 Subject: [PATCH 069/123] Additional Fixes --- .../1-Create.ps1 | 2 +- .../2-Update.ps1 | 2 +- .../3-Remove.ps1 | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 index 67cb07eb02..60af93b71c 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 @@ -22,7 +22,7 @@ Configuration Example node localhost { - AADGroup 'MyGroups' + AADGroup 'DependantGroup' { DisplayName = "MyGroup" Description = "Microsoft DSC Group" diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 index 30edfaa416..37bc7c56a4 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 @@ -22,7 +22,7 @@ Configuration Example node localhost { - AADGroup 'MyGroups' + AADGroup 'DependantGroup' { DisplayName = "MyGroup" Description = "Microsoft DSC Group" diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 index 3739d9713b..f0616b1b32 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 @@ -22,7 +22,7 @@ Configuration Example node localhost { - AADGroup 'MyGroups' + AADGroup 'DependantGroup' { DisplayName = "MyGroup" Description = "Microsoft DSC Group" From fef7da517714af734f0feb8332c4d51df516b9e7 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 18:30:36 +0000 Subject: [PATCH 070/123] Updated Resources and Cmdlet documentation pages --- .../AADEntitlementManagementAccessPackageCatalogResource.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md b/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md index 10a0747268..5f54db492e 100644 --- a/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md +++ b/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md @@ -156,7 +156,7 @@ Configuration Example node localhost { - AADGroup 'MyGroups' + AADGroup 'DependantGroup' { DisplayName = "MyGroup" Description = "Microsoft DSC Group" @@ -212,7 +212,7 @@ Configuration Example node localhost { - AADGroup 'MyGroups' + AADGroup 'DependantGroup' { DisplayName = "MyGroup" Description = "Microsoft DSC Group" @@ -268,7 +268,7 @@ Configuration Example node localhost { - AADGroup 'MyGroups' + AADGroup 'DependantGroup' { DisplayName = "MyGroup" Description = "Microsoft DSC Group" From 963006e580ac5bee92b3a986f8d0326addba423a Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Mon, 15 Jul 2024 15:07:17 -0400 Subject: [PATCH 071/123] Fixes --- .../1-Create.ps1 | 1 - .../2-Update.ps1 | 15 --------------- .../3-Remove.ps1 | 15 --------------- 3 files changed, 31 deletions(-) diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 index 60af93b71c..6d8b38dec1 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/1-Create.ps1 @@ -31,7 +31,6 @@ Configuration Example GroupTypes = @("Unified") MailNickname = "MyGroup" Visibility = "Private" - Owners = @("admin@$TenantId", "AdeleV@$TenantId") Ensure = "Present" ApplicationId = $ApplicationId TenantId = $TenantId diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 index 37bc7c56a4..2621343088 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/2-Update.ps1 @@ -22,21 +22,6 @@ Configuration Example node localhost { - AADGroup 'DependantGroup' - { - DisplayName = "MyGroup" - Description = "Microsoft DSC Group" - SecurityEnabled = $True - MailEnabled = $True - GroupTypes = @("Unified") - MailNickname = "MyGroup" - Visibility = "Private" - Owners = @("admin@$TenantId", "AdeleV@$TenantId") - Ensure = "Present" - ApplicationId = $ApplicationId - TenantId = $TenantId - CertificateThumbprint = $CertificateThumbprint - } AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { ApplicationId = $ApplicationId; diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 index f0616b1b32..84e938ce40 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementAccessPackageCatalogResource/3-Remove.ps1 @@ -22,21 +22,6 @@ Configuration Example node localhost { - AADGroup 'DependantGroup' - { - DisplayName = "MyGroup" - Description = "Microsoft DSC Group" - SecurityEnabled = $True - MailEnabled = $True - GroupTypes = @("Unified") - MailNickname = "MyGroup" - Visibility = "Private" - Owners = @("admin@$TenantId", "AdeleV@$TenantId") - Ensure = "Absent" - ApplicationId = $ApplicationId - TenantId = $TenantId - CertificateThumbprint = $CertificateThumbprint - } AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { DisplayName = 'DSCGroup' From cc48b1dc6c1848b2970428a37b02312484afe134 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 19:08:47 +0000 Subject: [PATCH 072/123] Updated Resources and Cmdlet documentation pages --- ...tManagementAccessPackageCatalogResource.md | 31 ------------------- 1 file changed, 31 deletions(-) diff --git a/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md b/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md index 5f54db492e..6477f179a4 100644 --- a/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md +++ b/docs/docs/resources/azure-ad/AADEntitlementManagementAccessPackageCatalogResource.md @@ -165,7 +165,6 @@ Configuration Example GroupTypes = @("Unified") MailNickname = "MyGroup" Visibility = "Private" - Owners = @("admin@$TenantId", "AdeleV@$TenantId") Ensure = "Present" ApplicationId = $ApplicationId TenantId = $TenantId @@ -212,21 +211,6 @@ Configuration Example node localhost { - AADGroup 'DependantGroup' - { - DisplayName = "MyGroup" - Description = "Microsoft DSC Group" - SecurityEnabled = $True - MailEnabled = $True - GroupTypes = @("Unified") - MailNickname = "MyGroup" - Visibility = "Private" - Owners = @("admin@$TenantId", "AdeleV@$TenantId") - Ensure = "Present" - ApplicationId = $ApplicationId - TenantId = $TenantId - CertificateThumbprint = $CertificateThumbprint - } AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { ApplicationId = $ApplicationId; @@ -268,21 +252,6 @@ Configuration Example node localhost { - AADGroup 'DependantGroup' - { - DisplayName = "MyGroup" - Description = "Microsoft DSC Group" - SecurityEnabled = $True - MailEnabled = $True - GroupTypes = @("Unified") - MailNickname = "MyGroup" - Visibility = "Private" - Owners = @("admin@$TenantId", "AdeleV@$TenantId") - Ensure = "Absent" - ApplicationId = $ApplicationId - TenantId = $TenantId - CertificateThumbprint = $CertificateThumbprint - } AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { DisplayName = 'DSCGroup' From d5bb784816c6e9371646f5bcfaae11c2068a1256 Mon Sep 17 00:00:00 2001 From: Fabien Tschanz Date: Mon, 15 Jul 2024 18:15:38 +0200 Subject: [PATCH 073/123] Replace not applicable filter --- ...ndowsUpdateForBusinessQualityUpdateProfileWindows10.psm1 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10.psm1 index b7ffd3926a..6948b0b3ce 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10.psm1 +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10.psm1 @@ -95,8 +95,10 @@ function Get-TargetResource if (-not [System.String]::IsNullOrEmpty($DisplayName)) { $getValue = Get-MgBetaDeviceManagementWindowsQualityUpdateProfile ` - -Filter "DisplayName eq '$DisplayName'" ` - -ErrorAction SilentlyContinue + -All ` + -ErrorAction SilentlyContinue | Where-Object -FilterScript { + $_.DisplayName -eq $DisplayName + } } } #endregion From e432df57736fa73459371bdb060e7831c92eeba5 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 19:18:43 +0000 Subject: [PATCH 074/123] Updated {Create} AAD Integration Tests --- .../M365DSCIntegration.AAD.Create.Tests.ps1 | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 index 0e5291e77f..4f6308075e 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 @@ -235,14 +235,28 @@ TenantId = $TenantId CertificateThumbprint = $CertificateThumbprint } + AADGroup 'DependantGroup' + { + DisplayName = "MyGroup" + Description = "Microsoft DSC Group" + SecurityEnabled = $True + MailEnabled = $True + GroupTypes = @("Unified") + MailNickname = "MyGroup" + Visibility = "Private" + Ensure = "Present" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { ApplicationId = $ApplicationId; CatalogId = "My Catalog"; CertificateThumbprint = $CertificateThumbprint; - DisplayName = "Finance Team"; + DisplayName = "MyGroup"; OriginSystem = "AADGroup"; - OriginId = '50523ab8-a3d2-4b4f-a77d-16bd1abd328f' + OriginId = 'MyGroup' Ensure = "Present"; IsPendingOnboarding = $False; TenantId = $TenantId; From 2aee93cd99d83477286820337674366a51bcedb1 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 19:18:58 +0000 Subject: [PATCH 075/123] Updated {Update} AAD Integration Tests --- .../Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 index 94b2085c4c..3c148f7c95 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Update.Tests.ps1 @@ -620,9 +620,9 @@ ApplicationId = $ApplicationId; CatalogId = "My Catalog"; CertificateThumbprint = $CertificateThumbprint; - DisplayName = "Finance Team"; + DisplayName = "DSCGroup"; OriginSystem = "AADGroup"; - OriginId = '50523ab8-a3d2-4b4f-a77d-16bd1abd328f' + OriginId = '849b3661-61a8-44a8-92e7-fcc91d296235' Ensure = "Present"; IsPendingOnboarding = $False; TenantId = $TenantId; From 30fd79e8374d469f345adaa3c8eb0a5ecef7c17c Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 19:19:10 +0000 Subject: [PATCH 076/123] Updated {Update} AAD Integration Tests --- .../Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 index 2f4fce0d04..03d456d623 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 @@ -175,7 +175,7 @@ } AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource' { - DisplayName = 'Finance Team' + DisplayName = 'DSCGroup' Ensure = 'Absent' ApplicationId = $ApplicationId TenantId = $TenantId From c940ea1b8d80b5dea8c1bfc8148d78d59dc5d42d Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Mon, 15 Jul 2024 15:50:08 -0400 Subject: [PATCH 077/123] Fixes Integration Tests --- .../AADEntitlementManagementRoleAssignment/1-Create.ps1 | 2 +- .../AADEntitlementManagementRoleAssignment/3-Remove.ps1 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementRoleAssignment/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementRoleAssignment/1-Create.ps1 index 3794cb68fa..f12f38c5d4 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementRoleAssignment/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementRoleAssignment/1-Create.ps1 @@ -29,7 +29,7 @@ Configuration Example TenantId = $TenantId CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; - Principal = "John.Smith@$TenantId"; + Principal = "AdeleV@$TenantId"; RoleDefinition = "Catalog creator"; } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementRoleAssignment/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementRoleAssignment/3-Remove.ps1 index b673df788c..4dab0177a9 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementRoleAssignment/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/AADEntitlementManagementRoleAssignment/3-Remove.ps1 @@ -29,7 +29,7 @@ Configuration Example TenantId = $TenantId CertificateThumbprint = $CertificateThumbprint Ensure = "Absent"; - Principal = "John.Smith@$TenantId"; + Principal = "AdeleV@$TenantId"; RoleDefinition = "Catalog creator"; } } From 290dfc5ef6c9d8d355ed9e4cb08fcf4349c490a9 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 19:52:05 +0000 Subject: [PATCH 078/123] Updated Resources and Cmdlet documentation pages --- .../azure-ad/AADEntitlementManagementRoleAssignment.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/docs/resources/azure-ad/AADEntitlementManagementRoleAssignment.md b/docs/docs/resources/azure-ad/AADEntitlementManagementRoleAssignment.md index f9c3bbfb34..806f8b1ffe 100644 --- a/docs/docs/resources/azure-ad/AADEntitlementManagementRoleAssignment.md +++ b/docs/docs/resources/azure-ad/AADEntitlementManagementRoleAssignment.md @@ -83,7 +83,7 @@ Configuration Example TenantId = $TenantId CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; - Principal = "John.Smith@$TenantId"; + Principal = "AdeleV@$TenantId"; RoleDefinition = "Catalog creator"; } } @@ -122,7 +122,7 @@ Configuration Example TenantId = $TenantId CertificateThumbprint = $CertificateThumbprint Ensure = "Absent"; - Principal = "John.Smith@$TenantId"; + Principal = "AdeleV@$TenantId"; RoleDefinition = "Catalog creator"; } } From 46b4611c302e116268b2296291a6efd32d94daed Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 19:52:47 +0000 Subject: [PATCH 079/123] Updated {Create} AAD Integration Tests --- .../Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 index 4f6308075e..b4182546dc 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Create.Tests.ps1 @@ -287,7 +287,7 @@ TenantId = $TenantId CertificateThumbprint = $CertificateThumbprint Ensure = "Present"; - Principal = "John.Smith@$TenantId"; + Principal = "AdeleV@$TenantId"; RoleDefinition = "Catalog creator"; } AADGroup 'MyGroups' From 2a960c20658c91e9819afe586d115d8829f9558d Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Mon, 15 Jul 2024 19:53:11 +0000 Subject: [PATCH 080/123] Updated {Update} AAD Integration Tests --- .../Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 index 03d456d623..656177cd9a 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.AAD.Remove.Tests.ps1 @@ -196,7 +196,7 @@ TenantId = $TenantId CertificateThumbprint = $CertificateThumbprint Ensure = "Absent"; - Principal = "John.Smith@$TenantId"; + Principal = "AdeleV@$TenantId"; RoleDefinition = "Catalog creator"; } AADGroup 'MyGroups' From 28b260074ac14c20aef1aa434543b5e809eeb21a Mon Sep 17 00:00:00 2001 From: Fabien Tschanz Date: Mon, 15 Jul 2024 22:15:12 +0200 Subject: [PATCH 081/123] Add support for converting Intune assignments directly from Graph --- CHANGELOG.md | 6 ++++ .../Modules/M365DSCDRGUtil.psm1 | 29 +++++++++++++++++-- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f62077cf2..42d3d8b2f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Change log for Microsoft365DSC +# UNRELEASED + +* M365DSCDRGUtil + * Add support for converting Intune assignments directly from Graph. + FIXES [#4875](https://github.com/microsoft/Microsoft365DSC/issues/4875) + # 1.24.710.3 * MISC diff --git a/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 b/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 index 73d062f5c2..a20eeb14d6 100644 --- a/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 +++ b/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 @@ -1091,9 +1091,32 @@ function ConvertFrom-IntunePolicyAssignment foreach ($assignment in $Assignments) { $hashAssignment = @{} - $dataType = $assignment.Target.AdditionalProperties."@odata.type" - $groupId = $assignment.Target.AdditionalProperties.groupId - $collectionId = $assignment.Target.AdditionalProperties.collectionId + if ($null -ne $assignment.Target.'@odata.type') + { + $dataType = $assignment.Target.'@odata.type' + } + else + { + $dataType = $assignment.Target.AdditionalProperties.'@odata.type' + } + + if ($null -ne $assignment.Target.groupId) + { + $groupId = $assignment.Target.groupId + } + else + { + $groupId = $assignment.Target.AdditionalProperties.groupId + } + + if ($null -ne $assignment.Target.collectionId) + { + $collectionId = $assignment.Target.collectionId + } + else + { + $collectionId = $assignment.Target.AdditionalProperties.collectionId + } $hashAssignment.Add('dataType',$dataType) if (-not [string]::IsNullOrEmpty($groupId)) From 4ecb5bde816efb3773b5b32b41687d6577c33590 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Tue, 16 Jul 2024 08:34:11 -0400 Subject: [PATCH 082/123] Fixes for EXO Integration Tests --- .../Resources/EXOAcceptedDomain/1-Create.ps1 | 21 ++++++++++---- .../Resources/EXOAcceptedDomain/2-Update.ps1 | 20 +++++++++---- .../Resources/EXOAcceptedDomain/3-Remove.ps1 | 20 +++++++++---- .../1-Create.ps1 | 21 ++++++++++---- .../2-Update.ps1 | 21 ++++++++++---- .../3-Remove.ps1 | 21 ++++++++++---- .../EXOAddressBookPolicy/1-Create.ps1 | 21 ++++++++++---- .../EXOAddressBookPolicy/2-Update.ps1 | 21 ++++++++++---- .../EXOAddressBookPolicy/3-Remove.ps1 | 21 ++++++++++---- .../Resources/EXOAddressList/1-Create.ps1 | 18 +++++++++--- .../Resources/EXOAddressList/2-Update.ps1 | 18 +++++++++--- .../Resources/EXOAddressList/3-Remove.ps1 | 18 +++++++++--- .../Resources/EXOAntiPhishPolicy/1-Create.ps1 | 18 +++++++++--- .../Resources/EXOAntiPhishPolicy/2-Update.ps1 | 18 +++++++++--- .../Resources/EXOAntiPhishPolicy/3-Remove.ps1 | 18 +++++++++--- .../Resources/EXOAntiPhishRule/1-Create.ps1 | 21 ++++++++++---- .../Resources/EXOAntiPhishRule/2-Update.ps1 | 21 ++++++++++---- .../Resources/EXOAntiPhishRule/3-Remove.ps1 | 18 +++++++++--- .../EXOApplicationAccessPolicy/1-Create.ps1 | 24 ++++++++++------ .../EXOApplicationAccessPolicy/2-Update.ps1 | 24 ++++++++++------ .../EXOApplicationAccessPolicy/3-Remove.ps1 | 21 ++++++++++---- .../EXOAtpPolicyForO365/2-Update.ps1 | 18 +++++++++--- .../EXOAuthenticationPolicy/1-Create.ps1 | 18 +++++++++--- .../EXOAuthenticationPolicy/2-Update.ps1 | 18 +++++++++--- .../EXOAuthenticationPolicy/3-Remove.ps1 | 18 +++++++++--- .../1-Create.ps1 | 21 ++++++++++---- .../3-Remove.ps1 | 21 ++++++++++---- .../EXOAvailabilityAddressSpace/1-Create.ps1 | 21 ++++++++++---- .../EXOAvailabilityAddressSpace/2-Update.ps1 | 21 ++++++++++---- .../EXOAvailabilityAddressSpace/3-Remove.ps1 | 21 ++++++++++---- .../EXOAvailabilityConfig/1-Create.ps1 | 25 +++++++++++------ .../EXOAvailabilityConfig/2-Update.ps1 | 25 +++++++++++------ .../EXOAvailabilityConfig/3-Remove.ps1 | 25 +++++++++++------ .../Resources/EXOCASMailboxPlan/2-Update.ps1 | 18 +++++++++--- .../EXOCASMailboxSettings/2-Update.ps1 | 25 +++++++++++------ .../EXOCalendarProcessing/2-Update.ps1 | 27 ++++++++++++------ .../EXOClientAccessRule/1-Create.ps1 | 18 +++++++++--- .../EXOClientAccessRule/2-Update.ps1 | 18 +++++++++--- .../EXOClientAccessRule/3-Remove.ps1 | 18 +++++++++--- .../EXODataClassification/2-Update.ps1 | 18 +++++++++--- .../EXODataEncryptionPolicy/3-Remove.ps1 | 18 +++++++++--- .../EXODistributionGroup/1-Create.ps1 | 27 ++++++++++++------ .../EXODistributionGroup/2-Update.ps1 | 28 ++++++++++++------- .../EXODistributionGroup/3-Remove.ps1 | 22 ++++++++++----- .../EXOEOPProtectionPolicyRule/1-Update.ps1 | 21 +++++++++----- .../EXOEmailAddressPolicy/1-Create.ps1 | 22 +++++++++++---- .../EXOEmailAddressPolicy/2-Update.ps1 | 23 ++++++++++----- .../EXOEmailAddressPolicy/3-Remove.ps1 | 19 +++++++++---- .../EXOExternalInOutlook/1-Update.ps1 | 19 ++++++++++--- .../EXOGlobalAddressList/1-Create.ps1 | 22 +++++++++++---- .../EXOGlobalAddressList/2-Update.ps1 | 22 +++++++++++---- .../EXOGlobalAddressList/3-Remove.ps1 | 22 +++++++++++---- .../Resources/EXOGroupSettings/2-Update.ps1 | 24 ++++++++++------ 53 files changed, 800 insertions(+), 307 deletions(-) diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAcceptedDomain/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAcceptedDomain/1-Create.ps1 index 7c28c8da3a..35653217e9 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAcceptedDomain/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAcceptedDomain/1-Create.ps1 @@ -6,22 +6,31 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOAcceptedDomain 'O365DSCDomain' { - Identity = $Domain + Identity = $TenantId DomainType = "Authoritative" OutboundOnly = $false Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAcceptedDomain/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAcceptedDomain/2-Update.ps1 index 189b0d02d1..70ce45e32c 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAcceptedDomain/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAcceptedDomain/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,11 +24,13 @@ Configuration Example { EXOAcceptedDomain 'O365DSCDomain' { - Identity = $Domain + Identity = $TenantId DomainType = "Authoritative" OutboundOnly = $true # Updated Property Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAcceptedDomain/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAcceptedDomain/3-Remove.ps1 index e255383bdd..4cd7e144ad 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAcceptedDomain/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAcceptedDomain/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,10 +24,12 @@ Configuration Example { EXOAcceptedDomain 'O365DSCDomain' { - Identity = $Domain + Identity = $TenantId DomainType = "Authoritative" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOActiveSyncDeviceAccessRule/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOActiveSyncDeviceAccessRule/1-Create.ps1 index 51c7077886..573f1f6785 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOActiveSyncDeviceAccessRule/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOActiveSyncDeviceAccessRule/1-Create.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +29,9 @@ Configuration Example QueryString = "iOS 6.1 10B146" AccessLevel = "Allow" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOActiveSyncDeviceAccessRule/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOActiveSyncDeviceAccessRule/2-Update.ps1 index 662f870958..89cebb2840 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOActiveSyncDeviceAccessRule/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOActiveSyncDeviceAccessRule/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +29,9 @@ Configuration Example QueryString = "iOS 6.1 10B145" AccessLevel = "Allow" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOActiveSyncDeviceAccessRule/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOActiveSyncDeviceAccessRule/3-Remove.ps1 index 662f870958..89cebb2840 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOActiveSyncDeviceAccessRule/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOActiveSyncDeviceAccessRule/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +29,9 @@ Configuration Example QueryString = "iOS 6.1 10B145" AccessLevel = "Allow" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAddressBookPolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAddressBookPolicy/1-Create.ps1 index 976c4867af..de2adf3521 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAddressBookPolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAddressBookPolicy/1-Create.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -23,7 +30,9 @@ Configuration Example OfflineAddressBook = "\Default Offline Address Book" GlobalAddressList = "\Default Global Address List" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAddressBookPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAddressBookPolicy/2-Update.ps1 index 894b0a6913..cbefaeb8cd 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAddressBookPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAddressBookPolicy/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -23,7 +30,9 @@ Configuration Example OfflineAddressBook = "\Default Offline Address Book" GlobalAddressList = "\Default Global Address List" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAddressBookPolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAddressBookPolicy/3-Remove.ps1 index abac6145f0..245a3fe08e 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAddressBookPolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAddressBookPolicy/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,7 +26,9 @@ Configuration Example { Name = "All Fabrikam ABP" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAddressList/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAddressList/1-Create.ps1 index 60b64c8834..dbd3e6b734 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAddressList/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAddressList/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +30,9 @@ Configuration Example ConditionalStateOrProvince = "US" IncludedRecipients = "AllRecipients" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAddressList/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAddressList/2-Update.ps1 index 7c3a151850..a3bf7b3bed 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAddressList/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAddressList/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +30,9 @@ Configuration Example ConditionalStateOrProvince = "US" IncludedRecipients = "AllRecipients" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAddressList/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAddressList/3-Remove.ps1 index f8e758938b..0c9526fbfe 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAddressList/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAddressList/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { Name = "HR Users" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAntiPhishPolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAntiPhishPolicy/1-Create.ps1 index bf00f6d7e7..a65fc01916 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAntiPhishPolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAntiPhishPolicy/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -37,7 +45,9 @@ Configuration Example EnableUnusualCharactersSafetyTips = $null TargetedUserActionRecipients = $null Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAntiPhishPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAntiPhishPolicy/2-Update.ps1 index 7c335a878f..b5fa497a46 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAntiPhishPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAntiPhishPolicy/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -37,7 +45,9 @@ Configuration Example EnableUnusualCharactersSafetyTips = $null TargetedUserActionRecipients = $null Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAntiPhishPolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAntiPhishPolicy/3-Remove.ps1 index 7c335a878f..b5fa497a46 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAntiPhishPolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAntiPhishPolicy/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -37,7 +45,9 @@ Configuration Example EnableUnusualCharactersSafetyTips = $null TargetedUserActionRecipients = $null Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAntiPhishRule/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAntiPhishRule/1-Create.ps1 index 03b2094ac1..7719b443ad 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAntiPhishRule/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAntiPhishRule/1-Create.ps1 @@ -6,13 +6,20 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOAntiPhishRule 'ConfigureAntiPhishRule' @@ -20,9 +27,11 @@ Configuration Example Identity = "Test Rule" AntiPhishPolicy = "Our Rule" Enabled = $True - SentToMemberOf = @("executives@$Domain") + SentToMemberOf = @("executives@$TenantId") Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAntiPhishRule/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAntiPhishRule/2-Update.ps1 index 622f37e92b..7ee7f30cb8 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAntiPhishRule/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAntiPhishRule/2-Update.ps1 @@ -6,13 +6,20 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOAntiPhishRule 'ConfigureAntiPhishRule' @@ -21,9 +28,11 @@ Configuration Example Comments = "This is an updated comment." # Updated Property AntiPhishPolicy = "Our Rule" Enabled = $True - SentToMemberOf = @("executives@$Domain") + SentToMemberOf = @("executives@$TenantId") Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAntiPhishRule/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAntiPhishRule/3-Remove.ps1 index 24f0dc0aa5..0c9c4c4795 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAntiPhishRule/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAntiPhishRule/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,7 +27,9 @@ Configuration Example Identity = "Test Rule" AntiPhishPolicy = "Our Rule" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOApplicationAccessPolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOApplicationAccessPolicy/1-Create.ps1 index b7008e86fb..ab7fd4cecc 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOApplicationAccessPolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOApplicationAccessPolicy/1-Create.ps1 @@ -5,15 +5,21 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOApplicationAccessPolicy 'ConfigureApplicationAccessPolicy' @@ -21,10 +27,12 @@ Configuration Example Identity = "Integration Policy" AccessRight = "DenyAccess" AppID = '3dbc2ae1-7198-45ed-9f9f-d86ba3ec35b5' - PolicyScopeGroupId = "IntegrationMailEnabled@$Domain" + PolicyScopeGroupId = "IntegrationMailEnabled@$TenantId" Description = "Engineering Group Policy" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOApplicationAccessPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOApplicationAccessPolicy/2-Update.ps1 index f961e93505..e212e2d241 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOApplicationAccessPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOApplicationAccessPolicy/2-Update.ps1 @@ -5,15 +5,21 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOApplicationAccessPolicy 'ConfigureApplicationAccessPolicy' @@ -21,10 +27,12 @@ Configuration Example Identity = "Integration Policy" AccessRight = "DenyAccess" AppID = '3dbc2ae1-7198-45ed-9f9f-d86ba3ec35b5' - PolicyScopeGroupId = "IntegrationMailEnabled@$Domain" + PolicyScopeGroupId = "IntegrationMailEnabled@$TenantId" Description = "Engineering Group Policy Updated" # Updated Property Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOApplicationAccessPolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOApplicationAccessPolicy/3-Remove.ps1 index cc0936181d..55004b3528 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOApplicationAccessPolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOApplicationAccessPolicy/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +27,9 @@ Configuration Example Identity = "Integration Policy" AppID = '3dbc2ae1-7198-45ed-9f9f-d86ba3ec35b5' Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAtpPolicyForO365/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAtpPolicyForO365/2-Update.ps1 index 1f4d1330c5..8252000617 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAtpPolicyForO365/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAtpPolicyForO365/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,7 +27,9 @@ Configuration Example IsSingleInstance = "Yes" EnableATPForSPOTeamsODB = $true Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAuthenticationPolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAuthenticationPolicy/1-Create.ps1 index 27c4ae4442..3178e32045 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAuthenticationPolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAuthenticationPolicy/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -30,7 +38,9 @@ Configuration Example AllowBasicAuthSmtp = $False AllowBasicAuthWebServices = $False Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAuthenticationPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAuthenticationPolicy/2-Update.ps1 index c68b7a41be..1c8b81e131 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAuthenticationPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAuthenticationPolicy/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -30,7 +38,9 @@ Configuration Example AllowBasicAuthSmtp = $False AllowBasicAuthWebServices = $False Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAuthenticationPolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAuthenticationPolicy/3-Remove.ps1 index c68b7a41be..1c8b81e131 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAuthenticationPolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAuthenticationPolicy/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -30,7 +38,9 @@ Configuration Example AllowBasicAuthSmtp = $False AllowBasicAuthWebServices = $False Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAuthenticationPolicyAssignment/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAuthenticationPolicyAssignment/1-Create.ps1 index 1d2cade88f..812f938c3f 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAuthenticationPolicyAssignment/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAuthenticationPolicyAssignment/1-Create.ps1 @@ -1,21 +1,30 @@ Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOAuthenticationPolicyAssignment 'ConfigureAuthenticationPolicyAssignment' { - UserName = "AdeleV@$Domain" + UserName = "AdeleV@$TenantId" AuthenticationPolicyName = "Block Basic Auth" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAuthenticationPolicyAssignment/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAuthenticationPolicyAssignment/3-Remove.ps1 index f1e7abdcd2..2222ba8114 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAuthenticationPolicyAssignment/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAuthenticationPolicyAssignment/3-Remove.ps1 @@ -1,21 +1,30 @@ Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOAuthenticationPolicyAssignment 'ConfigureAuthenticationPolicyAssignment' { - UserName = "AdeleV@$Domain" + UserName = "AdeleV@$TenantId" AuthenticationPolicyName = "Test Policy" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAvailabilityAddressSpace/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAvailabilityAddressSpace/1-Create.ps1 index 388e65eab4..ad10a13dd2 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAvailabilityAddressSpace/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAvailabilityAddressSpace/1-Create.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -24,7 +31,9 @@ Configuration Example TargetServiceEpr = 'https://contoso.com/autodiscover/autodiscover.xml' TargetTenantId = 'o365dsc.onmicrosoft.com' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAvailabilityAddressSpace/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAvailabilityAddressSpace/2-Update.ps1 index 957581c0cc..6af6d9ca06 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAvailabilityAddressSpace/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAvailabilityAddressSpace/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -24,7 +31,9 @@ Configuration Example TargetServiceEpr = 'https://contoso.com/autodiscover/autodiscover.xml' TargetTenantId = 'contoso.onmicrosoft.com' # Updated Property Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAvailabilityAddressSpace/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAvailabilityAddressSpace/3-Remove.ps1 index 7783b26831..9e586b46df 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAvailabilityAddressSpace/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAvailabilityAddressSpace/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +27,9 @@ Configuration Example { Identity = 'Contoso.com' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAvailabilityConfig/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAvailabilityConfig/1-Create.ps1 index 7c5ab235ba..bd592349c6 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAvailabilityConfig/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAvailabilityConfig/1-Create.ps1 @@ -5,22 +5,31 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOAvailabilityConfig 'ConfigureAvailabilityConfig' { - OrgWideAccount = "adelev@$Domain" + OrgWideAccount = "adelev@$TenantId" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAvailabilityConfig/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAvailabilityConfig/2-Update.ps1 index fb9414d92c..7ad404c82d 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAvailabilityConfig/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAvailabilityConfig/2-Update.ps1 @@ -5,22 +5,31 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOAvailabilityConfig 'ConfigureAvailabilityConfig' { - OrgWideAccount = "alexW@$Domain" # Updated Property + OrgWideAccount = "alexW@$TenantId" # Updated Property Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOAvailabilityConfig/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOAvailabilityConfig/3-Remove.ps1 index 395c40d257..89068812fb 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOAvailabilityConfig/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOAvailabilityConfig/3-Remove.ps1 @@ -5,22 +5,31 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOAvailabilityConfig 'ConfigureAvailabilityConfig' { - OrgWideAccount = "alexW@$Domain" # Updated Property + OrgWideAccount = "alexW@$TenantId" # Updated Property Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOCASMailboxPlan/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOCASMailboxPlan/2-Update.ps1 index 349cd529f1..7f603155c2 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOCASMailboxPlan/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOCASMailboxPlan/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +30,9 @@ Configuration Example Identity = 'ExchangeOnlineEnterprise' ImapEnabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOCASMailboxSettings/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOCASMailboxSettings/2-Update.ps1 index 6bf76b701e..0573b5887e 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOCASMailboxSettings/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOCASMailboxSettings/2-Update.ps1 @@ -5,16 +5,21 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOCASMailboxSettings 'AdeleVCasMailboxSettings' @@ -26,7 +31,7 @@ Configuration Example ActiveSyncMailboxPolicy = 'Default' ActiveSyncSuppressReadReceipt = $False EwsEnabled = $True - Identity = "admin@$Domain" + Identity = "admin@$TenantId" ImapEnabled = $True # Updated Property ImapForceICalForCalendarRetrievalOption = $False ImapMessagesRetrievalMimeFormat = 'BestBodyFormat' @@ -47,7 +52,9 @@ Configuration Example ShowGalAsDefaultView = $True UniversalOutlookEnabled = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOCalendarProcessing/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOCalendarProcessing/2-Update.ps1 index 9588fd7db3..ca2f8b3bd5 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOCalendarProcessing/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOCalendarProcessing/2-Update.ps1 @@ -5,15 +5,22 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOCalendarProcessing "CalendarProcessing" @@ -31,7 +38,6 @@ Configuration Example BookingWindowInDays = 180; BookInPolicy = @(); ConflictPercentageAllowed = 0; - Credential = $credsCredential; DeleteAttachments = $True; DeleteComments = $True; DeleteNonCalendarItems = $True; @@ -42,7 +48,7 @@ Configuration Example EnforceSchedulingHorizon = $True; Ensure = "Present"; ForwardRequestsToDelegates = $True; - Identity = "admin@$Domain"; + Identity = "admin@$TenantId"; MaximumConflictInstances = 0; MaximumDurationInMinutes = 1440; MinimumDurationInMinutes = 0; @@ -53,10 +59,13 @@ Configuration Example RemoveForwardedMeetingNotifications = $False; RemoveOldMeetingMessages = $False; RemovePrivateProperty = $True; - RequestInPolicy = @("AlexW@$Domain"); + RequestInPolicy = @("AlexW@$TenantId"); ResourceDelegates = @(); ScheduleOnlyDuringWorkHours = $False; TentativePendingApproval = $True; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOClientAccessRule/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOClientAccessRule/1-Create.ps1 index 5eb5199ae4..f761117475 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOClientAccessRule/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOClientAccessRule/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -30,7 +38,9 @@ Configuration Example ExceptAnyOfClientIPAddressesOrRanges = @() AnyOfClientIPAddressesOrRanges = @() Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOClientAccessRule/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOClientAccessRule/2-Update.ps1 index 023a903f60..0491b8d755 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOClientAccessRule/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOClientAccessRule/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -30,7 +38,9 @@ Configuration Example ExceptAnyOfClientIPAddressesOrRanges = @() AnyOfClientIPAddressesOrRanges = @() Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOClientAccessRule/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOClientAccessRule/3-Remove.ps1 index 42f5cf21c7..43c4f6ca3f 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOClientAccessRule/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOClientAccessRule/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,7 +27,9 @@ Configuration Example Action = "AllowAccess" Identity = "Always Allow Remote PowerShell" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXODataClassification/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXODataClassification/2-Update.ps1 index c13499914c..706cbc5855 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXODataClassification/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXODataClassification/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +30,9 @@ Configuration Example IsDefault = $True; Locale = "en-US"; Name = "Canada Social Insurance Number"; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXODataEncryptionPolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXODataEncryptionPolicy/3-Remove.ps1 index e17823fec1..a3e4563a8d 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXODataEncryptionPolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXODataEncryptionPolicy/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { Identity = 'US Mailboxes' Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXODistributionGroup/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXODistributionGroup/1-Create.ps1 index ce9a53e436..95bead29ef 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXODistributionGroup/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXODistributionGroup/1-Create.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -24,17 +31,19 @@ Configuration Example DisplayName = "My Demo DG"; Ensure = "Present"; HiddenGroupMembershipEnabled = $True; - ManagedBy = @("adeleV@$Domain"); + ManagedBy = @("adeleV@$TenantId"); MemberDepartRestriction = "Open"; MemberJoinRestriction = "Closed"; - ModeratedBy = @("alexW@$Domain"); + ModeratedBy = @("alexW@$TenantId"); ModerationEnabled = $False; Identity = "DemoDG"; Name = "DemoDG"; - PrimarySmtpAddress = "demodg@$Domain"; + PrimarySmtpAddress = "demodg@$TenantId"; RequireSenderAuthenticationEnabled = $True; SendModerationNotifications = "Always"; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXODistributionGroup/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXODistributionGroup/2-Update.ps1 index 06744f178c..8a76180f50 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXODistributionGroup/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXODistributionGroup/2-Update.ps1 @@ -5,15 +5,21 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXODistributionGroup 'DemoDG' @@ -24,17 +30,19 @@ Configuration Example DisplayName = "My Demo DG"; Ensure = "Present"; HiddenGroupMembershipEnabled = $True; - ManagedBy = @("adeleV@$Domain"); + ManagedBy = @("adeleV@$TenantId"); MemberDepartRestriction = "Open"; MemberJoinRestriction = "Closed"; - ModeratedBy = @("alexW@$Domain"); + ModeratedBy = @("alexW@$TenantId"); ModerationEnabled = $False; Identity = "DemoDG"; Name = "DemoDG"; - PrimarySmtpAddress = "demodg@$Domain"; + PrimarySmtpAddress = "demodg@$TenantId"; RequireSenderAuthenticationEnabled = $True; SendModerationNotifications = "Always"; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXODistributionGroup/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXODistributionGroup/3-Remove.ps1 index 5160570364..102f4f7e71 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXODistributionGroup/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXODistributionGroup/3-Remove.ps1 @@ -5,24 +5,32 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC node localhost { - $Domain = $Credscredential.Username.Split('@')[1] EXODistributionGroup 'DemoDG' { DisplayName = "My Demo DG"; Ensure = "Absent"; Identity = "DemoDG"; Name = "DemoDG"; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOEOPProtectionPolicyRule/1-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOEOPProtectionPolicyRule/1-Update.ps1 index ab7d90c422..8bddae81bb 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOEOPProtectionPolicyRule/1-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOEOPProtectionPolicyRule/1-Update.ps1 @@ -6,26 +6,33 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOEOPProtectionPolicyRule "EXOEOPProtectionPolicyRule-Strict Preset Security Policy" { - ApplicationId = $ConfigurationData.NonNodeData.ApplicationId; - CertificateThumbprint = $ConfigurationData.NonNodeData.CertificateThumbprint; Ensure = "Present"; ExceptIfRecipientDomainIs = @("sandrodev.onmicrosoft.com"); Identity = "Strict Preset Security Policy"; Name = "Strict Preset Security Policy"; Priority = 0; State = "Enabled"; - TenantId = $OrganizationName; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOEmailAddressPolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOEmailAddressPolicy/1-Create.ps1 index 5f61c9a780..29fc3244ba 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOEmailAddressPolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOEmailAddressPolicy/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,12 +26,14 @@ Configuration Example EXOEmailAddressPolicy 'ConfigureEmailAddressPolicy' { Name = "Integration Policy" - EnabledEmailAddressTemplates = @("SMTP:@$Domain") - EnabledPrimarySMTPAddressTemplate = "@$Domain" + EnabledEmailAddressTemplates = @("SMTP:@$TenantId") + EnabledPrimarySMTPAddressTemplate = "@$TenantId" ManagedByFilter = "" Priority = 1 Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOEmailAddressPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOEmailAddressPolicy/2-Update.ps1 index 3b02fb5f8a..650fce5eb2 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOEmailAddressPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOEmailAddressPolicy/2-Update.ps1 @@ -6,24 +6,33 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOEmailAddressPolicy 'ConfigureEmailAddressPolicy' { Name = "Integration Policy" - EnabledEmailAddressTemplates = @("SMTP:@$Domain") - EnabledPrimarySMTPAddressTemplate = "@$Domain" + EnabledEmailAddressTemplates = @("SMTP:@$TenantId") + EnabledPrimarySMTPAddressTemplate = "@$TenantId" ManagedByFilter = "Department -eq 'Sales'" # Updated Property Priority = 1 Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOEmailAddressPolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOEmailAddressPolicy/3-Remove.ps1 index b6d8b3907a..abf1735a37 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOEmailAddressPolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOEmailAddressPolicy/3-Remove.ps1 @@ -6,20 +6,29 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC node localhost { - $Domain = $Credscredential.Username.Split('@')[1] EXOEmailAddressPolicy 'ConfigureEmailAddressPolicy' { Name = "Integration Policy" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOExternalInOutlook/1-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOExternalInOutlook/1-Update.ps1 index e8ea48e063..2a8675d8b8 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOExternalInOutlook/1-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOExternalInOutlook/1-Update.ps1 @@ -6,10 +6,19 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -20,7 +29,9 @@ Configuration Example AllowList = @("mobile01@contoso.onmicrosoft.com","*contoso.onmicrosoft.com","contoso.com"); Enabled = $False; Ensure = "Present"; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOGlobalAddressList/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOGlobalAddressList/1-Create.ps1 index 8434d79874..dda1f0448f 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOGlobalAddressList/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOGlobalAddressList/1-Create.ps1 @@ -5,12 +5,20 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -23,7 +31,9 @@ Configuration Example ConditionalStateOrProvince = "Washington" IncludedRecipients = 'AllRecipients' Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOGlobalAddressList/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOGlobalAddressList/2-Update.ps1 index 4e0ecce8c3..e7a91b3473 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOGlobalAddressList/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOGlobalAddressList/2-Update.ps1 @@ -5,12 +5,20 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -22,7 +30,9 @@ Configuration Example ConditionalDepartment = "Finances" # Updated Property ConditionalStateOrProvince = "Washington" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOGlobalAddressList/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOGlobalAddressList/3-Remove.ps1 index 9ea08ce6cf..84338f97bb 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOGlobalAddressList/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOGlobalAddressList/3-Remove.ps1 @@ -5,12 +5,20 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -19,7 +27,9 @@ Configuration Example { Name = "Contoso Human Resources in Washington" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOGroupSettings/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOGroupSettings/2-Update.ps1 index ee0f24fd92..2e9d7b9104 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOGroupSettings/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOGroupSettings/2-Update.ps1 @@ -5,16 +5,22 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOGroupSettings 'TestGroup' @@ -26,7 +32,6 @@ Configuration Example AutoSubscribeNewMembers = $False; CalendarMemberReadOnly = $False; ConnectorsEnabled = $False; # Updated Property - Credential = $Credscredential; HiddenFromAddressListsEnabled = $True; HiddenFromExchangeClientsEnabled = $True; InformationBarrierMode = "Open"; @@ -35,9 +40,12 @@ Configuration Example MaxSendSize = "35 MB (36,700,160 bytes)"; ModerationEnabled = $False; Notes = "My Notes"; - PrimarySmtpAddress = "TestGroup@$Domain"; + PrimarySmtpAddress = "TestGroup@$TenantId"; RequireSenderAuthenticationEnabled = $True; SubscriptionEnabled = $False; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } From 1ad6d6deb70417dcb8da7a34aaf087b9bbeec341 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Tue, 16 Jul 2024 08:34:59 -0400 Subject: [PATCH 083/123] Fixing EXO --- .../workflows/Global - Integration - EXO.yml | 127 ------------------ .../2-Update.ps1 | 18 ++- .../EXOHostedContentFilterPolicy/1-Create.ps1 | 18 ++- .../EXOHostedContentFilterPolicy/2-Update.ps1 | 18 ++- .../EXOHostedContentFilterPolicy/3-Remove.ps1 | 18 ++- .../EXOHostedContentFilterRule/1-Create.ps1 | 24 ++-- .../EXOHostedContentFilterRule/2-Update.ps1 | 25 ++-- .../EXOHostedContentFilterRule/3-Remove.ps1 | 22 ++- .../1-Create.ps1 | 19 ++- .../2-Update.ps1 | 19 ++- .../3-Remove.ps1 | 19 ++- .../1-Create.ps1 | 27 ++-- .../2-Update.ps1 | 27 ++-- .../3-Remove.ps1 | 18 ++- .../EXOIRMConfiguration/2-Update.ps1 | 22 ++- .../EXOInboundConnector/1-Create.ps1 | 22 ++- .../EXOInboundConnector/2-Update.ps1 | 22 ++- .../EXOInboundConnector/3-Remove.ps1 | 22 ++- .../1-Create.ps1 | 22 ++- .../2-Update.ps1 | 22 ++- .../3-Remove.ps1 | 22 ++- .../Resources/EXOJournalRule/1-Create.ps1 | 22 ++- .../Resources/EXOJournalRule/2-Update.ps1 | 22 ++- .../Resources/EXOJournalRule/3-Remove.ps1 | 22 ++- .../Resources/EXOMailContact/1-Create.ps1 | 21 ++- .../Resources/EXOMailContact/2-Update.ps1 | 20 ++- .../Resources/EXOMailContact/3-Remove.ps1 | 20 ++- .../Resources/EXOMailTips/1-Create.ps1 | 19 ++- .../Resources/EXOMailTips/2-Update.ps1 | 19 ++- .../Resources/EXOMailTips/3-Remove.ps1 | 19 ++- .../2-Update.ps1 | 22 ++- .../EXOMailboxCalendarFolder/2-Update.ps1 | 24 ++-- .../EXOMailboxPermission/2-Update.ps1 | 21 ++- .../Resources/EXOMailboxPlan/2-Update.ps1 | 18 ++- .../Resources/EXOMailboxSettings/2-Update.ps1 | 21 ++- .../EXOMalwareFilterPolicy/1-Create.ps1 | 18 ++- .../EXOMalwareFilterPolicy/2-Update.ps1 | 18 ++- .../EXOMalwareFilterPolicy/3-Remove.ps1 | 18 ++- .../EXOMalwareFilterRule/1-Create.ps1 | 21 ++- .../EXOMalwareFilterRule/2-Update.ps1 | 21 ++- .../EXOMalwareFilterRule/3-Remove.ps1 | 21 ++- .../Resources/EXOManagementRole/1-Create.ps1 | 21 ++- .../Resources/EXOManagementRole/2-Update.ps1 | 20 ++- .../Resources/EXOManagementRole/3-Remove.ps1 | 18 ++- .../EXOManagementRoleAssignment/1-Create.ps1 | 20 ++- .../EXOManagementRoleAssignment/2-Update.ps1 | 20 ++- .../EXOManagementRoleAssignment/3-Remove.ps1 | 20 ++- .../EXOManagementRoleEntry/2-Update.ps1 | 18 ++- .../EXOMessageClassification/1-Create.ps1 | 21 ++- .../EXOMessageClassification/2-Update.ps1 | 21 ++- .../EXOMessageClassification/3-Remove.ps1 | 21 ++- .../EXOMobileDeviceMailboxPolicy/1-Create.ps1 | 18 ++- .../EXOMobileDeviceMailboxPolicy/2-Update.ps1 | 18 ++- .../EXOMobileDeviceMailboxPolicy/3-Remove.ps1 | 18 ++- .../EXOOMEConfiguration/1-Create.ps1 | 21 ++- .../EXOOMEConfiguration/2-Update.ps1 | 21 ++- .../EXOOMEConfiguration/3-Remove.ps1 | 21 ++- .../EXOOfflineAddressBook/1-Create.ps1 | 21 ++- .../EXOOfflineAddressBook/2-Update.ps1 | 21 ++- .../EXOOfflineAddressBook/3-Remove.ps1 | 21 ++- .../EXOOnPremisesOrganization/1-Create.ps1 | 25 +++- .../EXOOnPremisesOrganization/2-Update.ps1 | 21 ++- .../EXOOnPremisesOrganization/3-Remove.ps1 | 21 ++- .../EXOOrganizationConfig/2-Update.ps1 | 18 ++- .../EXOOrganizationRelationship/1-Create.ps1 | 21 ++- .../EXOOrganizationRelationship/2-Update.ps1 | 21 ++- .../EXOOrganizationRelationship/3-Remove.ps1 | 21 ++- .../EXOOutboundConnector/2-Update.ps1 | 21 ++- .../EXOOutboundConnector/3-Remove.ps1 | 21 ++- .../EXOOwaMailboxPolicy/1-Create.ps1 | 18 ++- .../EXOOwaMailboxPolicy/2-Update.ps1 | 18 ++- .../EXOOwaMailboxPolicy/3-Remove.ps1 | 22 ++- .../EXOPartnerApplication/1-Create.ps1 | 21 ++- .../EXOPartnerApplication/2-Update.ps1 | 21 ++- .../EXOPartnerApplication/3-Remove.ps1 | 21 ++- .../EXOPerimeterConfiguration/2-Update.ps1 | 21 ++- .../Examples/Resources/EXOPlace/1-Create.ps1 | 24 ++-- .../Examples/Resources/EXOPlace/2-Update.ps1 | 24 ++-- .../Examples/Resources/EXOPlace/3-Remove.ps1 | 24 ++-- .../Resources/EXOPolicyTipConfig/1-Create.ps1 | 21 ++- .../Resources/EXOPolicyTipConfig/2-Update.ps1 | 21 ++- .../Resources/EXOPolicyTipConfig/3-Remove.ps1 | 21 ++- .../EXOQuarantinePolicy/1-Create.ps1 | 21 ++- .../EXOQuarantinePolicy/2-Update.ps1 | 20 ++- .../EXOQuarantinePolicy/3-Remove.ps1 | 20 ++- .../EXORecipientPermission/1-Create.ps1 | 26 ++-- .../EXORecipientPermission/3-Remove.ps1 | 24 ++-- .../Resources/EXORemoteDomain/1-Create.ps1 | 18 ++- .../Resources/EXORemoteDomain/2-Update.ps1 | 18 ++- .../Resources/EXORemoteDomain/3-Remove.ps1 | 18 ++- .../EXOReportSubmissionPolicy/2-Update.ps1 | 18 ++- .../EXOReportSubmissionRule/2-Update.ps1 | 18 ++- .../EXOResourceConfiguration/2-Update.ps1 | 21 ++- .../EXORoleAssignmentPolicy/1-Create.ps1 | 18 ++- .../EXORoleAssignmentPolicy/2-Update.ps1 | 18 ++- .../EXORoleAssignmentPolicy/3-Remove.ps1 | 18 ++- .../Resources/EXORoleGroup/1-Create.ps1 | 21 ++- .../Resources/EXORoleGroup/2-Update.ps1 | 21 ++- .../Resources/EXORoleGroup/3-Remove.ps1 | 21 ++- .../EXOSafeAttachmentPolicy/1-Create.ps1 | 24 ++-- .../EXOSafeAttachmentPolicy/2-Update.ps1 | 23 +++- .../EXOSafeAttachmentPolicy/3-Remove.ps1 | 21 ++- .../EXOSafeAttachmentRule/1-Create.ps1 | 26 ++-- .../EXOSafeAttachmentRule/2-Update.ps1 | 25 ++-- .../EXOSafeAttachmentRule/3-Remove.ps1 | 21 ++- .../Resources/EXOSafeLinksPolicy/1-Create.ps1 | 21 ++- .../Resources/EXOSafeLinksPolicy/2-Update.ps1 | 21 ++- .../Resources/EXOSafeLinksPolicy/3-Remove.ps1 | 21 ++- .../Resources/EXOSafeLinksRule/1-Create.ps1 | 26 ++-- .../Resources/EXOSafeLinksRule/2-Update.ps1 | 26 ++-- .../Resources/EXOSafeLinksRule/3-Remove.ps1 | 21 ++- .../Resources/EXOSharedMailbox/1-Create.ps1 | 23 +++- .../Resources/EXOSharedMailbox/2-Update.ps1 | 23 +++- .../Resources/EXOSharedMailbox/3-Remove.ps1 | 22 ++- .../Resources/EXOSharingPolicy/1-Create.ps1 | 18 ++- .../Resources/EXOSharingPolicy/2-Update.ps1 | 18 ++- .../Resources/EXOSharingPolicy/3-Remove.ps1 | 18 ++- .../Resources/EXOTransportConfig/2-Update.ps1 | 18 ++- .../Resources/EXOTransportRule/1-Create.ps1 | 27 ++-- .../Resources/EXOTransportRule/2-Update.ps1 | 27 ++-- .../Resources/EXOTransportRule/3-Remove.ps1 | 21 ++- 121 files changed, 1818 insertions(+), 819 deletions(-) diff --git a/.github/workflows/Global - Integration - EXO.yml b/.github/workflows/Global - Integration - EXO.yml index 76b0ce03bc..14321abf28 100644 --- a/.github/workflows/Global - Integration - EXO.yml +++ b/.github/workflows/Global - Integration - EXO.yml @@ -46,48 +46,6 @@ jobs: git push $SHA = git rev-parse HEAD echo "commitid=$SHA" >> $env:GITHUB_OUTPUT - - name: Run {Create} Integration Tests - shell: powershell - env: - INTEGRATION_USERNAME: ${{ secrets.INTEGRATION_USERNAME }} - INTEGRATION_PASSWORD: ${{ secrets.INTEGRATION_PASSWORD }} - run: | - $CredPassword = ConvertTo-SecureString $env:INTEGRATION_PASSWORD -AsPlainText -Force - $Credential = New-Object System.Management.Automation.PSCredential ($env:INTEGRATION_USERNAME, $CredPassword) - try - { - & .\Tests\Integration\Microsoft365DSC\M365DSCIntegration.EXO.Create.Tests.ps1 -Credential $Credential - } - catch - { - throw $_ - } - - try - { - $Result = Test-DSCConfiguration -Detailed -Verbose -ErrorAction Stop - } - catch - { - throw $_ - } - - Write-Host "" - - if ($Result.InDesiredState -eq $false) - { - Write-Host -Message "Resources below are not in the Desired State:" - foreach ($Resource in $Result.ResourcesNotInDesiredState) - { - Write-Host $Resource.InstanceName - } - - throw "Could not validate that the Tenant is in the Desired State" - } - else - { - Write-Host "All resources in the Tenant are in the Desired State" - } - name: Generate {Update} Integration Tests from Examples shell: powershell run: | @@ -104,48 +62,6 @@ jobs: git push $SHA = git rev-parse HEAD echo "commitid=$SHA" >> $env:GITHUB_OUTPUT - - name: Run {Update} Integration Tests - shell: powershell - env: - INTEGRATION_USERNAME: ${{ secrets.INTEGRATION_USERNAME }} - INTEGRATION_PASSWORD: ${{ secrets.INTEGRATION_PASSWORD }} - run: | - $CredPassword = ConvertTo-SecureString $env:INTEGRATION_PASSWORD -AsPlainText -Force - $Credential = New-Object System.Management.Automation.PSCredential ($env:INTEGRATION_USERNAME, $CredPassword) - try - { - & .\Tests\Integration\Microsoft365DSC\M365DSCIntegration.EXO.Update.Tests.ps1 -Credential $Credential - } - catch - { - throw $_ - } - - try - { - $Result = Test-DSCConfiguration -Detailed -Verbose -ErrorAction Stop - } - catch - { - throw $_ - } - - Write-Host "" - - if ($Result.InDesiredState -eq $false) - { - Write-Host -Message "Resources below are not in the Desired State:" - foreach ($Resource in $Result.ResourcesNotInDesiredState) - { - Write-Host $Resource.InstanceName - } - - throw "Could not validate that the Tenant is in the Desired State" - } - else - { - Write-Host "All resources in the Tenant are in the Desired State" - } - name: Generate {Remove} Integration Tests from Examples shell: powershell run: | @@ -162,46 +78,3 @@ jobs: git push $SHA = git rev-parse HEAD echo "commitid=$SHA" >> $env:GITHUB_OUTPUT - - name: Run {Remove} Integration Tests - shell: powershell - env: - INTEGRATION_USERNAME: ${{ secrets.INTEGRATION_USERNAME }} - INTEGRATION_PASSWORD: ${{ secrets.INTEGRATION_PASSWORD }} - run: | - $CredPassword = ConvertTo-SecureString $env:INTEGRATION_PASSWORD -AsPlainText -Force - $Credential = New-Object System.Management.Automation.PSCredential ($env:INTEGRATION_USERNAME, $CredPassword) - try - { - & .\Tests\Integration\Microsoft365DSC\M365DSCIntegration.EXO.Remove.Tests.ps1 -Credential $Credential - } - catch - { - throw $_ - } - - try - { - $Result = Test-DSCConfiguration -Detailed -Verbose -ErrorAction Stop - } - catch - { - throw $_ - } - - Write-Host "" - - if ($Result.InDesiredState -eq $false) - { - Write-Host -Message "Resources below are not in the Desired State:" - foreach ($Resource in $Result.ResourcesNotInDesiredState) - { - Write-Host $Resource.InstanceName - } - - throw "Could not validate that the Tenant is in the Desired State" - } - else - { - Write-Host "All resources in the Tenant are in the Desired State" - } - diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedConnectionFilterPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedConnectionFilterPolicy/2-Update.ps1 index dbad190990..f70bf4847c 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedConnectionFilterPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedConnectionFilterPolicy/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -23,7 +31,9 @@ Configuration Example IPBlockList = @() MakeDefault = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedContentFilterPolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedContentFilterPolicy/1-Create.ps1 index 28551c5cb8..e132b067fd 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedContentFilterPolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedContentFilterPolicy/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -56,7 +64,9 @@ Configuration Example TestModeAction = "None" TestModeBccToRecipients = @() Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedContentFilterPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedContentFilterPolicy/2-Update.ps1 index 836aef841f..8fe8c4a1f2 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedContentFilterPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedContentFilterPolicy/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -56,7 +64,9 @@ Configuration Example TestModeAction = "None" TestModeBccToRecipients = @() Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedContentFilterPolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedContentFilterPolicy/3-Remove.ps1 index 3a7d7dd917..6f79c66fd0 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedContentFilterPolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedContentFilterPolicy/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { Identity = "Integration CFP" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedContentFilterRule/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedContentFilterRule/1-Create.ps1 index af70c51640..1a7fdefd4e 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedContentFilterRule/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedContentFilterRule/1-Create.ps1 @@ -5,15 +5,21 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOHostedContentFilterRule 'ConfigureHostedContentFilterRule' @@ -21,11 +27,13 @@ Configuration Example Identity = "Integration CFR" Comments = "Applies to all users, except when member of HR group" Enabled = $True - ExceptIfSentToMemberOf = "LegalTeam@$Domain" + ExceptIfSentToMemberOf = "LegalTeam@$TenantId" RecipientDomainIs = @('contoso.com') HostedContentFilterPolicy = "Integration CFP" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedContentFilterRule/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedContentFilterRule/2-Update.ps1 index b109c3907f..6fd3bb4513 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedContentFilterRule/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedContentFilterRule/2-Update.ps1 @@ -5,15 +5,22 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOHostedContentFilterRule 'ConfigureHostedContentFilterRule' @@ -21,11 +28,13 @@ Configuration Example Identity = "Integration CFR" Comments = "Applies to all users, except when member of HR group" Enabled = $False # Updated Property - ExceptIfSentToMemberOf = "LegalTeam@$Domain" + ExceptIfSentToMemberOf = "LegalTeam@$TenantId" RecipientDomainIs = @('contoso.com') HostedContentFilterPolicy = "Integration CFP" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedContentFilterRule/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedContentFilterRule/3-Remove.ps1 index 46aa815857..31ab9d7765 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedContentFilterRule/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedContentFilterRule/3-Remove.ps1 @@ -5,12 +5,20 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -20,7 +28,9 @@ Configuration Example Identity = "Integration CFR" HostedContentFilterPolicy = "Integration CFP" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterPolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterPolicy/1-Create.ps1 index ea0c0cf6a3..7b75d1c52f 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterPolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterPolicy/1-Create.ps1 @@ -6,10 +6,19 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -28,7 +37,9 @@ Configuration Example RecipientLimitInternalPerHour = 0 RecipientLimitPerDay = 0 Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterPolicy/2-Update.ps1 index d5d9157e3e..9c35f5fd28 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterPolicy/2-Update.ps1 @@ -6,10 +6,19 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -28,7 +37,9 @@ Configuration Example RecipientLimitInternalPerHour = 1 # Updated Property RecipientLimitPerDay = 0 Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterPolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterPolicy/3-Remove.ps1 index 891b4a4be9..dbd4fc4985 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterPolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterPolicy/3-Remove.ps1 @@ -6,10 +6,19 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -18,7 +27,9 @@ Configuration Example { Identity = "Integration SFP" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterRule/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterRule/1-Create.ps1 index d9db058889..51fc37700d 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterRule/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterRule/1-Create.ps1 @@ -5,15 +5,22 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOHostedOutboundSpamFilterRule 'ConfigureHostedOutboundSpamFilterRule' @@ -21,11 +28,13 @@ Configuration Example Identity = "Contoso Executives" Comments = "Does not apply to Executives" Enabled = $True - ExceptIfFrom = "AdeleV@$Domain" - FromMemberOf = "Executives@$Domain" + ExceptIfFrom = "AdeleV@$TenantId" + FromMemberOf = "Executives@$TenantId" HostedOutboundSpamFilterPolicy = "Integration SFP" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterRule/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterRule/2-Update.ps1 index 15fa53328c..4d3f4ccfc7 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterRule/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterRule/2-Update.ps1 @@ -5,15 +5,22 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOHostedOutboundSpamFilterRule 'ConfigureHostedOutboundSpamFilterRule' @@ -21,11 +28,13 @@ Configuration Example Identity = "Contoso Executives" Comments = "Does not apply to Executives" Enabled = $False # Updated Property - ExceptIfFrom = "AdeleV@$Domain" - FromMemberOf = "Executives@$Domain" + ExceptIfFrom = "AdeleV@$TenantId" + FromMemberOf = "Executives@$TenantId" HostedOutboundSpamFilterPolicy = "Integration SFP" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterRule/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterRule/3-Remove.ps1 index 261f1ffc0e..dfe6738d4f 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterRule/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterRule/3-Remove.ps1 @@ -5,12 +5,20 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC $Domain = $Credscredential.Username.Split('@')[1] diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOIRMConfiguration/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOIRMConfiguration/2-Update.ps1 index 977cbf1eef..dd36d5a272 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOIRMConfiguration/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOIRMConfiguration/2-Update.ps1 @@ -5,12 +5,20 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -32,7 +40,9 @@ Configuration Example SimplifiedClientAccessEncryptOnlyDisabled = $True TransportDecryptionSetting = 'Mandatory' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOInboundConnector/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOInboundConnector/1-Create.ps1 index e8524e45e6..1b5130ebca 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOInboundConnector/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOInboundConnector/1-Create.ps1 @@ -5,12 +5,20 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -27,7 +35,9 @@ Configuration Example SenderDomains = "*.contoso.com" TlsSenderCertificateName = "contoso.com" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOInboundConnector/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOInboundConnector/2-Update.ps1 index 07c3c4cabd..4eeecde129 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOInboundConnector/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOInboundConnector/2-Update.ps1 @@ -5,12 +5,20 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -27,7 +35,9 @@ Configuration Example SenderDomains = "*.contoso.com" TlsSenderCertificateName = "contoso.com" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOInboundConnector/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOInboundConnector/3-Remove.ps1 index 9b30be3986..1bbebc4716 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOInboundConnector/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOInboundConnector/3-Remove.ps1 @@ -5,12 +5,20 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -19,7 +27,9 @@ Configuration Example { Identity = "Integration Inbound Connector" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOIntraOrganizationConnector/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOIntraOrganizationConnector/1-Create.ps1 index 141cb1aa07..9253fea87c 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOIntraOrganizationConnector/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOIntraOrganizationConnector/1-Create.ps1 @@ -5,12 +5,20 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -22,7 +30,9 @@ Configuration Example TargetAddressDomains = "Cloud1.contoso.com","Cloud2.contoso.com" Enabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOIntraOrganizationConnector/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOIntraOrganizationConnector/2-Update.ps1 index 0fc17035db..58cde88c62 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOIntraOrganizationConnector/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOIntraOrganizationConnector/2-Update.ps1 @@ -5,12 +5,20 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -22,7 +30,9 @@ Configuration Example TargetAddressDomains = "Cloud1.contoso.com","Cloud2.contoso.com" Enabled = $False # Updated Property Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOIntraOrganizationConnector/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOIntraOrganizationConnector/3-Remove.ps1 index e5c9f58607..64e271f17d 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOIntraOrganizationConnector/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOIntraOrganizationConnector/3-Remove.ps1 @@ -5,12 +5,20 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -19,7 +27,9 @@ Configuration Example { Identity = "MainCloudConnector" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOJournalRule/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOJournalRule/1-Create.ps1 index b69332c585..ba195a7b50 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOJournalRule/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOJournalRule/1-Create.ps1 @@ -6,23 +6,33 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOJournalRule 'CreateJournalRule' { Enabled = $True - JournalEmailAddress = "AdeleV@$Domain" + JournalEmailAddress = "AdeleV@$TenantId" Name = "Send to Adele" RuleScope = "Global" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOJournalRule/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOJournalRule/2-Update.ps1 index 1161e39a67..b34922c48e 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOJournalRule/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOJournalRule/2-Update.ps1 @@ -6,23 +6,33 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOJournalRule 'CreateJournalRule' { Enabled = $False # Updated Property - JournalEmailAddress = "AdeleV@$Domain" + JournalEmailAddress = "AdeleV@$TenantId" Name = "Send to Adele" RuleScope = "Global" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOJournalRule/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOJournalRule/3-Remove.ps1 index fdc5d0c87e..e07203cda9 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOJournalRule/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOJournalRule/3-Remove.ps1 @@ -6,21 +6,31 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOJournalRule 'CreateJournalRule' { - JournalEmailAddress = "AdeleV@$Domain" + JournalEmailAddress = "AdeleV@$TenantId" Name = "Send to Adele" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMailContact/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMailContact/1-Create.ps1 index 6a804d5c63..a4814162aa 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMailContact/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMailContact/1-Create.ps1 @@ -6,19 +6,25 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOMailContact 'TestMailContact' { Alias = 'TestMailContact' - Credential = $Credscredential DisplayName = 'My Test Contact' Ensure = 'Present' ExternalEmailAddress = 'SMTP:test@tailspintoys.com' @@ -28,11 +34,14 @@ Configuration Example ModeratedBy = @() ModerationEnabled = $false Name = 'My Test Contact' - OrganizationalUnit = $Domain + OrganizationalUnit = $TenantId SendModerationNotifications = 'Always' UsePreferMessageFormat = $true CustomAttribute1 = 'Custom Value 1' ExtensionCustomAttribute5 = 'Extension Custom Value 1', 'Extension Custom Value 2' + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMailContact/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMailContact/2-Update.ps1 index d6dae3e389..0c9c5415df 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMailContact/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMailContact/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,6 @@ Configuration Example EXOMailContact 'TestMailContact' { Alias = 'TestMailContact' - Credential = $Credscredential DisplayName = 'My Test Contact' Ensure = 'Present' ExternalEmailAddress = 'SMTP:test@tailspintoys.com' @@ -28,11 +35,14 @@ Configuration Example ModeratedBy = @() ModerationEnabled = $false Name = 'My Test Contact' - OrganizationalUnit = $Domain + OrganizationalUnit = $TenantId SendModerationNotifications = 'Always' UsePreferMessageFormat = $false # Updated Property CustomAttribute1 = 'Custom Value 1' ExtensionCustomAttribute5 = 'Extension Custom Value 1', 'Extension Custom Value 2' + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMailContact/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMailContact/3-Remove.ps1 index 9c00cbf291..3f68bfaaaa 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMailContact/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMailContact/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,16 +26,18 @@ Configuration Example EXOMailContact 'TestMailContact' { Alias = 'TestMailContact' - Credential = $Credscredential DisplayName = 'My Test Contact' Ensure = 'Absent' ExternalEmailAddress = 'SMTP:test@tailspintoys.com' Name = 'My Test Contact' - OrganizationalUnit = $Domain + OrganizationalUnit = $TenantId SendModerationNotifications = 'Always' UsePreferMessageFormat = $false # Updated Property CustomAttribute1 = 'Custom Value 1' ExtensionCustomAttribute5 = 'Extension Custom Value 1', 'Extension Custom Value 2' + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMailTips/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMailTips/1-Create.ps1 index b58921fed5..8495866148 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMailTips/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMailTips/1-Create.ps1 @@ -6,13 +6,20 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOMailTips 'OrgWideMailTips' @@ -24,7 +31,9 @@ Configuration Example MailTipsMailboxSourcedTipsEnabled = $True MailTipsExternalRecipientsTipsEnabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMailTips/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMailTips/2-Update.ps1 index 95cafdbc6c..7236cea8c1 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMailTips/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMailTips/2-Update.ps1 @@ -6,13 +6,20 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOMailTips 'OrgWideMailTips' @@ -24,7 +31,9 @@ Configuration Example MailTipsMailboxSourcedTipsEnabled = $True MailTipsExternalRecipientsTipsEnabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMailTips/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMailTips/3-Remove.ps1 index 3a010d19d9..ec8fa0c4ab 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMailTips/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMailTips/3-Remove.ps1 @@ -6,20 +6,29 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOMailTips 'OrgWideMailTips' { IsSingleInstance = 'Yes' Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMailboxAutoReplyConfiguration/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMailboxAutoReplyConfiguration/2-Update.ps1 index 6dfcc36565..ca203716f0 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMailboxAutoReplyConfiguration/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMailboxAutoReplyConfiguration/2-Update.ps1 @@ -6,13 +6,21 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOMailboxAutoReplyConfiguration "EXOMailboxAutoReplyConfiguration" @@ -20,7 +28,6 @@ Configuration Example AutoDeclineFutureRequestsWhenOOF = $False; AutoReplyState = "Disabled"; CreateOOFEvent = $False; - Credential = $Credscredential; DeclineAllEventsForScheduledOOF = $False; DeclineEventsForScheduledOOF = $False; DeclineMeetingMessage = ""; @@ -28,10 +35,13 @@ Configuration Example Ensure = "Present"; ExternalAudience = "All"; ExternalMessage = (New-Guid).ToString(); # Updated Property - Identity = "AdeleV@$Domain"; + Identity = "AdeleV@$TenantId"; InternalMessage = ""; OOFEventSubject = ""; StartTime = "1/22/2024 3:00:00 PM"; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMailboxCalendarFolder/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMailboxCalendarFolder/2-Update.ps1 index d634a068e6..43ccc54f26 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMailboxCalendarFolder/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMailboxCalendarFolder/2-Update.ps1 @@ -5,27 +5,35 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOMailboxCalendarFolder "JohnCalendarFolder" { - Credential = $credsCredential; DetailLevel = "AvailabilityOnly"; Ensure = "Present"; - Identity = "AlexW@$Domain" + ":\Calendar"; + Identity = "AlexW@$TenantId" + ":\Calendar"; PublishDateRangeFrom = "ThreeMonths"; PublishDateRangeTo = "ThreeMonths"; PublishEnabled = $True; # Updated Property SearchableUrlEnabled = $False; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMailboxPermission/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMailboxPermission/2-Update.ps1 index 61c3877d25..69b74017d1 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMailboxPermission/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMailboxPermission/2-Update.ps1 @@ -6,24 +6,33 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOMailboxPermission "TestPermission" { AccessRights = @("FullAccess","ReadPermission"); - Credential = $credsCredential; Deny = $True; # Updated Property Ensure = "Present"; - Identity = "AlexW@$Domain"; + Identity = "AlexW@$TenantId"; InheritanceType = "All"; User = "NT AUTHORITY\SELF"; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMailboxPlan/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMailboxPlan/2-Update.ps1 index 280e394098..4c6ddacc42 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMailboxPlan/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMailboxPlan/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -25,7 +33,9 @@ Configuration Example ProhibitSendReceiveQuota = "15 GB (16,106,127,360 bytes)"; # Updated Property RetainDeletedItemsFor = "14.00:00:00"; RoleAssignmentPolicy = "Default Role Assignment Policy"; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMailboxSettings/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMailboxSettings/2-Update.ps1 index 7d1ec97214..403e70bd4e 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMailboxSettings/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMailboxSettings/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +29,9 @@ Configuration Example TimeZone = 'Eastern Standard Time' Locale = 'en-US' # Updated Property Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMalwareFilterPolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMalwareFilterPolicy/1-Create.ps1 index 283795ee7b..4cf53b6976 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMalwareFilterPolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMalwareFilterPolicy/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -26,7 +34,9 @@ Configuration Example QuarantineTag = "AdminOnlyAccessPolicy" ZapEnabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMalwareFilterPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMalwareFilterPolicy/2-Update.ps1 index 862d17b0bb..b89c6153d9 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMalwareFilterPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMalwareFilterPolicy/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -26,7 +34,9 @@ Configuration Example QuarantineTag = "AdminOnlyAccessPolicy" ZapEnabled = $False # Updated Property Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMalwareFilterPolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMalwareFilterPolicy/3-Remove.ps1 index 22d47da26d..4513816e47 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMalwareFilterPolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMalwareFilterPolicy/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { Identity = "IntegrationMFP" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMalwareFilterRule/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMalwareFilterRule/1-Create.ps1 index 91edbc4237..d3f49c9f89 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMalwareFilterRule/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMalwareFilterRule/1-Create.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -23,7 +30,9 @@ Configuration Example Enabled = $True RecipientDomainIs = "contoso.com" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMalwareFilterRule/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMalwareFilterRule/2-Update.ps1 index e36ce09244..cf6956c8f7 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMalwareFilterRule/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMalwareFilterRule/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -23,7 +30,9 @@ Configuration Example Enabled = $False # Updated Property RecipientDomainIs = "contoso.com" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMalwareFilterRule/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMalwareFilterRule/3-Remove.ps1 index f6f2a1a2a4..21dd6ff35f 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMalwareFilterRule/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMalwareFilterRule/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +27,9 @@ Configuration Example Identity = "Contoso Recipients" MalwareFilterPolicy = "IntegrationMFP" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRole/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRole/1-Create.ps1 index 5be4191d19..397e0afdae 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRole/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRole/1-Create.ps1 @@ -6,22 +6,31 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOManagementRole 'ConfigureManagementRole' { Name = "MyDisplayName" Description = "" - Parent = "$Domain\MyProfileInformation" + Parent = "$TenantId\MyProfileInformation" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRole/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRole/2-Update.ps1 index d6094d3dca..8c8a0338cf 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRole/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRole/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,9 +27,11 @@ Configuration Example { Name = "MyDisplayName" Description = "Updated Description" # Updated Property - Parent = "$Domain\MyProfileInformation" + Parent = "$TenantId\MyProfileInformation" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRole/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRole/3-Remove.ps1 index 65e2e25345..fdc5733f21 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRole/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRole/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +28,9 @@ Configuration Example Description = "Updated Description" # Updated Property Parent = "contoso.onmicrosoft.com\MyProfileInformation" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleAssignment/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleAssignment/1-Create.ps1 index 38bf4d1041..4cb4a78f85 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleAssignment/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleAssignment/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,11 +25,13 @@ Configuration Example { EXOManagementRoleAssignment 'AssignManagementRole' { - Credential = $credsCredential; Ensure = "Present"; Name = "MyManagementRoleAssignment"; Role = "UserApplication"; - User = "AdeleV@$Domain"; + User = "AdeleV@$TenantId"; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleAssignment/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleAssignment/2-Update.ps1 index 9737099842..7a007b8cb6 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleAssignment/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleAssignment/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,11 +25,13 @@ Configuration Example { EXOManagementRoleAssignment 'AssignManagementRole' { - Credential = $credsCredential; Ensure = "Present"; Name = "MyManagementRoleAssignment"; Role = "UserApplication"; - User = "AlexW@$Domain"; # Updated Property + User = "AlexW@$TenantId"; # Updated Property + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleAssignment/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleAssignment/3-Remove.ps1 index e1990e8efd..e3b5886c96 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleAssignment/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleAssignment/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,11 +25,13 @@ Configuration Example { EXOManagementRoleAssignment 'AssignManagementRole' { - Credential = $credsCredential; Ensure = "Absent"; Name = "MyManagementRoleAssignment"; Role = "UserApplication"; - User = "AlexW@$Domain"; # Updated Property + User = "AlexW@$TenantId"; # Updated Property + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleEntry/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleEntry/2-Update.ps1 index 35001eaa4d..7ce9834aaf 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleEntry/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleEntry/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,7 +24,9 @@ Configuration Example { EXOManagementRoleEntry "UpdateRoleEntry" { - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Identity = "Information Rights Management\Get-BookingMailbox" Parameters = @("ANR","RecipientTypeDetails", "ResultSize") } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMessageClassification/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMessageClassification/1-Create.ps1 index 98b2b94373..928a2c3182 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMessageClassification/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMessageClassification/1-Create.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -26,7 +33,9 @@ Configuration Example SenderDescription = "Shown to senders" RetainClassificationEnabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMessageClassification/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMessageClassification/2-Update.ps1 index 9054444658..a703d03058 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMessageClassification/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMessageClassification/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -26,7 +33,9 @@ Configuration Example SenderDescription = "Shown to senders" RetainClassificationEnabled = $False # Updated Property Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMessageClassification/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMessageClassification/3-Remove.ps1 index f02998c20b..06f81cc5d4 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMessageClassification/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMessageClassification/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -21,7 +28,9 @@ Configuration Example Name = "Contoso Message Classification" DisplayName = "Contoso Message Classification" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMobileDeviceMailboxPolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMobileDeviceMailboxPolicy/1-Create.ps1 index ae57ee981f..21345ea669 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMobileDeviceMailboxPolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMobileDeviceMailboxPolicy/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -71,7 +79,9 @@ Configuration Example UNCAccessEnabled = $True WSSAccessEnabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMobileDeviceMailboxPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMobileDeviceMailboxPolicy/2-Update.ps1 index 1c21d6c9cc..bf4975a901 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMobileDeviceMailboxPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMobileDeviceMailboxPolicy/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -71,7 +79,9 @@ Configuration Example UNCAccessEnabled = $True WSSAccessEnabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMobileDeviceMailboxPolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMobileDeviceMailboxPolicy/3-Remove.ps1 index c2fe96cf2f..2ce1f7df10 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMobileDeviceMailboxPolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMobileDeviceMailboxPolicy/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { Name = "Default" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOOMEConfiguration/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOOMEConfiguration/1-Create.ps1 index 67044383ae..f43fbc75b7 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOOMEConfiguration/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOOMEConfiguration/1-Create.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -27,7 +34,9 @@ Configuration Example PortalText = "This portal is encrypted." SocialIdSignIn = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOOMEConfiguration/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOOMEConfiguration/2-Update.ps1 index bb802a8b64..aa21a126d8 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOOMEConfiguration/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOOMEConfiguration/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -27,7 +34,9 @@ Configuration Example PortalText = "This portal is encrypted." SocialIdSignIn = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOOMEConfiguration/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOOMEConfiguration/3-Remove.ps1 index 25ed2cde98..6d145dcf03 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOOMEConfiguration/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOOMEConfiguration/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,7 +26,9 @@ Configuration Example { Identity = "Contoso Marketing" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOOfflineAddressBook/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOOfflineAddressBook/1-Create.ps1 index 01477e3204..1f38f1cf71 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOOfflineAddressBook/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOOfflineAddressBook/1-Create.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -23,7 +30,9 @@ Configuration Example DiffRetentionPeriod = "30" IsDefault = $true Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOOfflineAddressBook/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOOfflineAddressBook/2-Update.ps1 index 9957b25583..b348a917bd 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOOfflineAddressBook/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOOfflineAddressBook/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -23,7 +30,9 @@ Configuration Example DiffRetentionPeriod = "60" # Updated Property IsDefault = $true Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOOfflineAddressBook/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOOfflineAddressBook/3-Remove.ps1 index d8927dce08..4ccf776009 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOOfflineAddressBook/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOOfflineAddressBook/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -24,7 +31,9 @@ Configuration Example DiffRetentionPeriod = "30" IsDefault = $true Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOOnPremisesOrganization/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOOnPremisesOrganization/1-Create.ps1 index 98ed5fd428..0265f9ecb7 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOOnPremisesOrganization/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOOnPremisesOrganization/1-Create.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -26,7 +33,9 @@ Configuration Example OrganizationName = 'O365DSC' OutboundConnector = 'Contoso Outbound Connector' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DependsOn = "[EXOOutboundConnector]OutboundDependency" } EXOOutboundConnector 'OutboundDependency' @@ -45,7 +54,9 @@ Configuration Example TlsSettings = "DomainValidation" UseMxRecord = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOOnPremisesOrganization/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOOnPremisesOrganization/2-Update.ps1 index da8b029d11..ae98967657 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOOnPremisesOrganization/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOOnPremisesOrganization/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -26,7 +33,9 @@ Configuration Example OrganizationName = 'O365DSC' OutboundConnector = 'Contoso Outbound Connector' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOOnPremisesOrganization/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOOnPremisesOrganization/3-Remove.ps1 index ca38670405..a563275b98 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOOnPremisesOrganization/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOOnPremisesOrganization/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,7 +26,9 @@ Configuration Example EXOOnPremisesOrganization 'ConfigureOnPremisesOrganization' { Identity = 'Contoso' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOOrganizationConfig/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOOrganizationConfig/2-Update.ps1 index 522bc5728d..9e3efddb88 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOOrganizationConfig/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOOrganizationConfig/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -77,7 +85,9 @@ Configuration Example AutoExpandingArchive = $null ConnectorsEnabledForSharepoint = $True ReadTrackingEnabled = $False - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOOrganizationRelationship/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOOrganizationRelationship/1-Create.ps1 index 0692bc9687..eb785fc035 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOOrganizationRelationship/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOOrganizationRelationship/1-Create.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -31,7 +38,9 @@ Configuration Example TargetApplicationUri = "mail.contoso.com" TargetAutodiscoverEpr = "https://mail.contoso.com/autodiscover/autodiscover.svc/wssecurity" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOOrganizationRelationship/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOOrganizationRelationship/2-Update.ps1 index 36971ac851..d932c5add7 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOOrganizationRelationship/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOOrganizationRelationship/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -31,7 +38,9 @@ Configuration Example TargetApplicationUri = "mail.contoso.com" TargetAutodiscoverEpr = "https://mail.contoso.com/autodiscover/autodiscover.svc/wssecurity" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOOrganizationRelationship/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOOrganizationRelationship/3-Remove.ps1 index 8a554c5e2a..f228c8a367 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOOrganizationRelationship/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOOrganizationRelationship/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +27,9 @@ Configuration Example Name = "Contoso" Enabled = $True Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOOutboundConnector/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOOutboundConnector/2-Update.ps1 index 503f87c410..b6858bf0d4 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOOutboundConnector/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOOutboundConnector/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -31,7 +38,9 @@ Configuration Example TlsSettings = "DomainValidation" UseMxRecord = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOOutboundConnector/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOOutboundConnector/3-Remove.ps1 index a9841310b1..8615711515 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOOutboundConnector/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOOutboundConnector/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,7 +26,9 @@ Configuration Example { Identity = "Contoso Outbound Connector" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOOwaMailboxPolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOOwaMailboxPolicy/1-Create.ps1 index 1a725a4c29..ded9e80b7c 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOOwaMailboxPolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOOwaMailboxPolicy/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -90,7 +98,9 @@ Configuration Example WeatherEnabled = $True WebPartsFrameOptionsType = "SameOrigin" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOOwaMailboxPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOOwaMailboxPolicy/2-Update.ps1 index b6fe6ee87d..da5504540d 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOOwaMailboxPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOOwaMailboxPolicy/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -90,7 +98,9 @@ Configuration Example WeatherEnabled = $True WebPartsFrameOptionsType = "SameOrigin" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOOwaMailboxPolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOOwaMailboxPolicy/3-Remove.ps1 index c443618a36..bcf39e06ca 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOOwaMailboxPolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOOwaMailboxPolicy/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,9 +24,11 @@ Configuration Example { EXOOwaMailboxPolicy 'ConfigureOwaMailboxPolicy' { - Name = "OwaMailboxPolicy-Integration" - Ensure = "Absent" - Credential = $Credscredential + Name = "OwaMailboxPolicy-Integration" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOPartnerApplication/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOPartnerApplication/1-Create.ps1 index f90d243abe..0fd1c4d508 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOPartnerApplication/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOPartnerApplication/1-Create.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +29,9 @@ Configuration Example AcceptSecurityIdentifierInformation = $true Enabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOPartnerApplication/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOPartnerApplication/2-Update.ps1 index bf09619125..507ca3e22a 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOPartnerApplication/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOPartnerApplication/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +29,9 @@ Configuration Example AcceptSecurityIdentifierInformation = $False # Updated Property Enabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOPartnerApplication/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOPartnerApplication/3-Remove.ps1 index 2cb2adb985..cbe2540c49 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOPartnerApplication/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOPartnerApplication/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +27,9 @@ Configuration Example Name = "HRApp" ApplicationIdentifier = "00000006-0000-0dd1-ac00-000000000000" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOPerimeterConfiguration/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOPerimeterConfiguration/2-Update.ps1 index 7a7f729945..1fbd49354c 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOPerimeterConfiguration/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOPerimeterConfiguration/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +27,9 @@ Configuration Example IsSingleInstance = 'Yes' #GatewayIPAddresses = '123.0.0.1' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOPlace/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOPlace/1-Create.ps1 index 48d306104b..f21314507f 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOPlace/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOPlace/1-Create.ps1 @@ -5,16 +5,22 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOPlace 'TestPlace' @@ -22,10 +28,12 @@ Configuration Example AudioDeviceName = "MyAudioDevice"; Capacity = 15; City = ""; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DisplayDeviceName = "DisplayDeviceName"; Ensure = 'Present' - Identity = "Hood@$Domain"; + Identity = "Hood@$TenantId"; IsWheelChairAccessible = $True; MTREnabled = $False; ParentType = "None"; diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOPlace/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOPlace/2-Update.ps1 index b84d5cc320..77b66903df 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOPlace/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOPlace/2-Update.ps1 @@ -5,16 +5,22 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOPlace 'TestPlace' @@ -22,10 +28,12 @@ Configuration Example AudioDeviceName = "MyAudioDevice"; Capacity = 16; # Updated Property City = ""; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DisplayDeviceName = "DisplayDeviceName"; Ensure = 'Present' - Identity = "Hood@$Domain"; + Identity = "Hood@$TenantId"; IsWheelChairAccessible = $True; MTREnabled = $False; ParentType = "None"; diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOPlace/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOPlace/3-Remove.ps1 index 51ad933226..e0bebcd71f 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOPlace/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOPlace/3-Remove.ps1 @@ -5,25 +5,33 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOPlace 'TestPlace' { AudioDeviceName = "MyAudioDevice"; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DisplayDeviceName = "DisplayDeviceName"; Ensure = 'Absent' - Identity = "Hood@$Domain"; + Identity = "Hood@$TenantId"; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOPolicyTipConfig/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOPolicyTipConfig/1-Create.ps1 index 1c948d9891..c9a91ead2b 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOPolicyTipConfig/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOPolicyTipConfig/1-Create.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +27,9 @@ Configuration Example Name = "en\NotifyOnly" Value = "This message contains content that is restricted by Contoso company policy." Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOPolicyTipConfig/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOPolicyTipConfig/2-Update.ps1 index 1d23f23daf..93082f33a6 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOPolicyTipConfig/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOPolicyTipConfig/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +27,9 @@ Configuration Example Name = "en\NotifyOnly" Value = "This message contains content that is restricted by Contoso company policy. Updated" # Updated Property Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOPolicyTipConfig/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOPolicyTipConfig/3-Remove.ps1 index aae3186d10..02e6b6be47 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOPolicyTipConfig/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOPolicyTipConfig/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +27,9 @@ Configuration Example Name = "en\NotifyOnly" Value = "This message contains content that is restricted by Contoso company policy. Updated" # Updated Property Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOQuarantinePolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOQuarantinePolicy/1-Create.ps1 index 3acd8f9215..00e7ab9592 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOQuarantinePolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOQuarantinePolicy/1-Create.ps1 @@ -6,23 +6,32 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) $OrganizationName = $Credscredential.UserName.Split('@')[1] Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOQuarantinePolicy 'ConfigureQuarantinePolicy' { EndUserQuarantinePermissionsValue = 87; ESNEnabled = $False; - Identity = "$Domain\IntegrationPolicy"; + Identity = "$TenantId\IntegrationPolicy"; Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOQuarantinePolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOQuarantinePolicy/2-Update.ps1 index 6c5a45c055..70daf13e41 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOQuarantinePolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOQuarantinePolicy/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) $OrganizationName = $Credscredential.UserName.Split('@')[1] Import-DscResource -ModuleName Microsoft365DSC @@ -20,9 +28,11 @@ Configuration Example { EndUserQuarantinePermissionsValue = 87; ESNEnabled = $True; # Updated Property - Identity = "$Domain\IntegrationPolicy"; + Identity = "$TenantId\IntegrationPolicy"; Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOQuarantinePolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOQuarantinePolicy/3-Remove.ps1 index bc6b68e50e..0777c270bd 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOQuarantinePolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOQuarantinePolicy/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) $OrganizationName = $Credscredential.UserName.Split('@')[1] Import-DscResource -ModuleName Microsoft365DSC @@ -18,9 +26,11 @@ Configuration Example { EXOQuarantinePolicy 'ConfigureQuarantinePolicy' { - Identity = "$Domain\IntegrationPolicy"; + Identity = "$TenantId\IntegrationPolicy"; Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXORecipientPermission/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXORecipientPermission/1-Create.ps1 index 6b6c1e6190..2cbd1875a1 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXORecipientPermission/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXORecipientPermission/1-Create.ps1 @@ -6,25 +6,33 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXORecipientPermission 'AddSendAs' { - Identity = "AlexW@$Domain" - Trustee = "admin@$Domain" + Identity = "AlexW@$TenantId" + Trustee = "admin@$TenantId" AccessRights = 'SendAs' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXORecipientPermission/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXORecipientPermission/3-Remove.ps1 index f263aba8e4..aa641ed3d6 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXORecipientPermission/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXORecipientPermission/3-Remove.ps1 @@ -6,25 +6,33 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXORecipientPermission 'AddSendAs' { Identity = 'AdeleV@$Domain' - Trustee = "admin@$Domain" + Trustee = "admin@$TenantId" Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXORemoteDomain/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXORemoteDomain/1-Create.ps1 index 885d097448..0dd12c6582 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXORemoteDomain/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXORemoteDomain/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -37,7 +45,9 @@ Configuration Example TrustedMailOutboundEnabled = $False UseSimpleDisplayName = $False Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXORemoteDomain/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXORemoteDomain/2-Update.ps1 index 109dc72855..177d22a79e 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXORemoteDomain/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXORemoteDomain/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -37,7 +45,9 @@ Configuration Example TrustedMailOutboundEnabled = $False UseSimpleDisplayName = $False Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXORemoteDomain/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXORemoteDomain/3-Remove.ps1 index 2ec3881cd3..f93b8948a6 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXORemoteDomain/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXORemoteDomain/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { Identity = "Integration" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOReportSubmissionPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOReportSubmissionPolicy/2-Update.ps1 index 1698bb7de0..cff345b769 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOReportSubmissionPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOReportSubmissionPolicy/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -29,7 +37,9 @@ Configuration Example ReportNotJunkToCustomizedAddress = $False ReportPhishToCustomizedAddress = $False Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOReportSubmissionRule/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOReportSubmissionRule/2-Update.ps1 index e1af0e2270..6d481f56c3 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOReportSubmissionRule/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOReportSubmissionRule/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -21,7 +29,9 @@ Configuration Example Comments = "This is my default rule" SentTo = "submission@contoso.com" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOResourceConfiguration/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOResourceConfiguration/2-Update.ps1 index fe354bf120..6ae6532390 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOResourceConfiguration/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOResourceConfiguration/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -21,7 +28,9 @@ Configuration Example IsSingleInstance = 'Yes' ResourcePropertySchema = @('Room/TV', 'Equipment/Laptop') Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXORoleAssignmentPolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXORoleAssignmentPolicy/1-Create.ps1 index e4ac25a96a..5a3f329211 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXORoleAssignmentPolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXORoleAssignmentPolicy/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -21,7 +29,9 @@ Configuration Example IsDefault = $True Roles = @("My Marketplace Apps","MyVoiceMail","MyDistributionGroups","MyRetentionPolicies","MyContactInformation","MyBaseOptions","MyTextMessaging","MyDistributionGroupMembership","MyProfileInformation","My Custom Apps","My ReadWriteMailbox Apps") Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXORoleAssignmentPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXORoleAssignmentPolicy/2-Update.ps1 index b9166d8e45..1d31511746 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXORoleAssignmentPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXORoleAssignmentPolicy/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -21,7 +29,9 @@ Configuration Example IsDefault = $True Roles = @("My Marketplace Apps","MyVoiceMail","MyDistributionGroups","MyRetentionPolicies","MyContactInformation","MyBaseOptions","MyTextMessaging","MyDistributionGroupMembership","MyProfileInformation","My Custom Apps","My ReadWriteMailbox Apps") Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXORoleAssignmentPolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXORoleAssignmentPolicy/3-Remove.ps1 index f00c24b593..731d592310 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXORoleAssignmentPolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXORoleAssignmentPolicy/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +28,9 @@ Configuration Example IsDefault = $False # Updated Property Roles = @("My Marketplace Apps","MyVoiceMail","MyDistributionGroups","MyRetentionPolicies","MyContactInformation","MyBaseOptions","MyTextMessaging","MyDistributionGroupMembership","MyProfileInformation","My Custom Apps","My ReadWriteMailbox Apps") Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXORoleGroup/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXORoleGroup/1-Create.ps1 index 294bbdbcd6..ceafa9e939 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXORoleGroup/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXORoleGroup/1-Create.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +29,9 @@ Configuration Example Members = @("Exchange Administrator") Roles = @("Address Lists") Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXORoleGroup/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXORoleGroup/2-Update.ps1 index e8546060e8..33c9e16eec 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXORoleGroup/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXORoleGroup/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +29,9 @@ Configuration Example Members = @("Exchange Administrator") Roles = @("Address Lists") Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXORoleGroup/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXORoleGroup/3-Remove.ps1 index b897864cc5..c0469a418f 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXORoleGroup/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXORoleGroup/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -21,7 +28,9 @@ Configuration Example Members = @("Exchange Administrator") Roles = @("Address Lists") Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentPolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentPolicy/1-Create.ps1 index d670be256a..4fc1c58b57 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentPolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentPolicy/1-Create.ps1 @@ -5,15 +5,21 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOSafeAttachmentPolicy 'ConfigureSafeAttachmentPolicy' @@ -21,9 +27,11 @@ Configuration Example Identity = "Marketing Block Attachments" Enable = $True Redirect = $True - RedirectAddress = "admin@$Domain" + RedirectAddress = "admin@$TenantId" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentPolicy/2-Update.ps1 index 2caf85bed1..dc8074f6f2 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentPolicy/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -21,9 +28,11 @@ Configuration Example Identity = "Marketing Block Attachments" Enable = $False # Updated Property Redirect = $True - RedirectAddress = "admin@$Domain" + RedirectAddress = "admin@$TenantId" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentPolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentPolicy/3-Remove.ps1 index fb3378fa92..9a7e82add6 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentPolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentPolicy/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -21,7 +28,9 @@ Configuration Example Identity = "Marketing Block Attachments" Enable = $False # Updated Property Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentRule/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentRule/1-Create.ps1 index 255584dbd0..bb437f44bf 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentRule/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentRule/1-Create.ps1 @@ -5,15 +5,21 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOSafeAttachmentRule 'ConfigureSafeAttachmentRule' @@ -21,11 +27,13 @@ Configuration Example Identity = "Research Department Attachment Rule" Comments = "Applies to Research Department, except managers" Enabled = $True - ExceptIfSentToMemberOf = "Executives@$Domain" + ExceptIfSentToMemberOf = "Executives@$TenantId" SafeAttachmentPolicy = "Marketing Block Attachments" - SentToMemberOf = "LegalTeam@$Domain" + SentToMemberOf = "LegalTeam@$TenantId" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentRule/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentRule/2-Update.ps1 index 6aa8a4a02b..1996d383c2 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentRule/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentRule/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -21,11 +28,13 @@ Configuration Example Identity = "Research Department Attachment Rule" Comments = "Applies to Research Department, except managers" Enabled = $False # Updated Property - ExceptIfSentToMemberOf = "Executives@$Domain" + ExceptIfSentToMemberOf = "Executives@$TenantId" SafeAttachmentPolicy = "Marketing Block Attachments" - SentToMemberOf = "LegalTeam@$Domain" + SentToMemberOf = "LegalTeam@$TenantId" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentRule/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentRule/3-Remove.ps1 index 3ba7d01996..ffe83d1011 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentRule/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentRule/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -23,7 +30,9 @@ Configuration Example SafeAttachmentPolicy = "Marketing Block Attachments" SentToMemberOf = "Research Department" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeLinksPolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeLinksPolicy/1-Create.ps1 index 1d27ca318e..7475a9b249 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeLinksPolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeLinksPolicy/1-Create.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -25,7 +32,9 @@ Configuration Example EnableSafeLinksForTeams = $True ScanUrls = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeLinksPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeLinksPolicy/2-Update.ps1 index ae083d94a0..8287e9535d 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeLinksPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeLinksPolicy/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -25,7 +32,9 @@ Configuration Example EnableSafeLinksForTeams = $True ScanUrls = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeLinksPolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeLinksPolicy/3-Remove.ps1 index f8659eed81..528025c8da 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeLinksPolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeLinksPolicy/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,7 +26,9 @@ Configuration Example { Identity = 'Marketing Block URL' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeLinksRule/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeLinksRule/1-Create.ps1 index f89887d86b..8054082be5 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeLinksRule/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeLinksRule/1-Create.ps1 @@ -5,15 +5,21 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOSafeLinksRule 'ConfigureSafeLinksRule' @@ -21,11 +27,13 @@ Configuration Example Identity = "Research Department URL Rule" Comments = "Applies to Research Department, except managers" Enabled = $True - ExceptIfSentToMemberOf = "Executives@$Domain" + ExceptIfSentToMemberOf = "Executives@$TenantId" SafeLinksPolicy = "Marketing Block URL" - SentToMemberOf = "LegalTeam@$Domain" + SentToMemberOf = "LegalTeam@$TenantId" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeLinksRule/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeLinksRule/2-Update.ps1 index c86aa8e09a..0dcd44efe7 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeLinksRule/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeLinksRule/2-Update.ps1 @@ -5,15 +5,21 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOSafeLinksRule 'ConfigureSafeLinksRule' @@ -21,11 +27,13 @@ Configuration Example Identity = "Research Department URL Rule" Comments = "Applies to Research Department, except managers" Enabled = $False # Updated Property - ExceptIfSentToMemberOf = "Executives@$Domain" + ExceptIfSentToMemberOf = "Executives@$TenantId" SafeLinksPolicy = "Marketing Block URL" - SentToMemberOf = "LegalTeam@$Domain" + SentToMemberOf = "LegalTeam@$TenantId" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeLinksRule/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeLinksRule/3-Remove.ps1 index 12fe46f671..d4df9b8b6a 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeLinksRule/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeLinksRule/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +29,9 @@ Configuration Example Enabled = $False # Updated Property SafeLinksPolicy = "Marketing Block URL" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOSharedMailbox/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOSharedMailbox/1-Create.ps1 index 83fac8d5ff..343b9c4f2c 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOSharedMailbox/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOSharedMailbox/1-Create.ps1 @@ -6,23 +6,32 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOSharedMailbox 'SharedMailbox' { DisplayName = "Integration" - PrimarySMTPAddress = "Integration@$Domain" - EmailAddresses = @("IntegrationSM@$Domain") + PrimarySMTPAddress = "Integration@$TenantId" + EmailAddresses = @("IntegrationSM@$TenantId") Alias = "IntegrationSM" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOSharedMailbox/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOSharedMailbox/2-Update.ps1 index addaba121b..a3f84afc8e 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOSharedMailbox/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOSharedMailbox/2-Update.ps1 @@ -6,23 +6,32 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOSharedMailbox 'SharedMailbox' { DisplayName = "Integration" - PrimarySMTPAddress = "Integration@$Domain" - EmailAddresses = @("IntegrationSM@$Domain", "IntegrationSM2@$Domain") + PrimarySMTPAddress = "Integration@$TenantId" + EmailAddresses = @("IntegrationSM@$TenantId", "IntegrationSM2@$TenantId") Alias = "IntegrationSM" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOSharedMailbox/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOSharedMailbox/3-Remove.ps1 index 90388f70c4..92be003632 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOSharedMailbox/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOSharedMailbox/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,11 +26,13 @@ Configuration Example EXOSharedMailbox 'SharedMailbox' { DisplayName = "Integration" - PrimarySMTPAddress = "Integration@$Domain" - EmailAddresses = @("IntegrationSM@$Domain", "IntegrationSM2@$Domain") + PrimarySMTPAddress = "Integration@$TenantId" + EmailAddresses = @("IntegrationSM@$TenantId", "IntegrationSM2@$TenantId") Alias = "IntegrationSM" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOSharingPolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOSharingPolicy/1-Create.ps1 index ddce10e578..d9445ad3b8 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOSharingPolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOSharingPolicy/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -21,7 +29,9 @@ Configuration Example Domains = @("Anonymous:CalendarSharingFreeBusyReviewer", "*:CalendarSharingFreeBusySimple") Enabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOSharingPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOSharingPolicy/2-Update.ps1 index 5f08c125a7..49ac1ddfef 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOSharingPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOSharingPolicy/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -21,7 +29,9 @@ Configuration Example Domains = @("Anonymous:CalendarSharingFreeBusyReviewer", "*:CalendarSharingFreeBusySimple") Enabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOSharingPolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOSharingPolicy/3-Remove.ps1 index 54a8e868f4..6fc0e9f414 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOSharingPolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOSharingPolicy/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -21,7 +29,9 @@ Configuration Example Domains = @("Anonymous:CalendarSharingFreeBusyReviewer", "*:CalendarSharingFreeBusySimple") Enabled = $True Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOTransportConfig/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOTransportConfig/2-Update.ps1 index 839f40fe2e..5c1a594b46 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOTransportConfig/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOTransportConfig/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -38,7 +46,9 @@ Configuration Example ReplyAllStormProtectionEnabled = $True; Rfc2231EncodingEnabled = $False; SmtpClientAuthenticationDisabled = $True; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOTransportRule/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOTransportRule/1-Create.ps1 index 3fb7c0a9fe..ba0220662b 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOTransportRule/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOTransportRule/1-Create.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,14 +26,16 @@ Configuration Example EXOTransportRule 'ConfigureTransportRule' { Name = "Ethical Wall - Sales and Executives Departments" - BetweenMemberOf1 = "SalesTeam@$Domain" - BetweenMemberOf2 = "Executives@$Domain" - ExceptIfFrom = "AdeleV@$Domain" + BetweenMemberOf1 = "SalesTeam@$TenantId" + BetweenMemberOf2 = "Executives@$TenantId" + ExceptIfFrom = "AdeleV@$TenantId" ExceptIfSubjectContainsWords = "Press Release","Corporate Communication" RejectMessageReasonText = "Messages sent between the Sales and Brokerage departments are strictly prohibited." Enabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOTransportRule/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOTransportRule/2-Update.ps1 index ebec921bdd..3481e3a882 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOTransportRule/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOTransportRule/2-Update.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,14 +26,16 @@ Configuration Example EXOTransportRule 'ConfigureTransportRule' { Name = "Ethical Wall - Sales and Executives Departments" - BetweenMemberOf1 = "SalesTeam@$Domain" - BetweenMemberOf2 = "Executives@$Domain" - ExceptIfFrom = "AdeleV@$Domain" + BetweenMemberOf1 = "SalesTeam@$TenantId" + BetweenMemberOf2 = "Executives@$TenantId" + ExceptIfFrom = "AdeleV@$TenantId" ExceptIfSubjectContainsWords = "Press Release","Corporate Communication" RejectMessageReasonText = "Messages sent between the Sales and Brokerage departments are strictly prohibited." Enabled = $False # Updated Property Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOTransportRule/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOTransportRule/3-Remove.ps1 index 5c40c4a7b7..3d4be5d308 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOTransportRule/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOTransportRule/3-Remove.ps1 @@ -5,11 +5,18 @@ It is not meant to use as a production baseline. Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +27,9 @@ Configuration Example Name = "Ethical Wall - Sales and Brokerage Departments" Enabled = $True Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } From f26182b49a5389f0c13322d205a88bfec0f7301d Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Tue, 16 Jul 2024 12:49:11 +0000 Subject: [PATCH 084/123] Updated Resources and Cmdlet documentation pages --- .../resources/exchange/EXOAcceptedDomain.md | 61 +++++++++++---- .../exchange/EXOActiveSyncDeviceAccessRule.md | 63 ++++++++++----- .../exchange/EXOAddressBookPolicy.md | 63 ++++++++++----- .../docs/resources/exchange/EXOAddressList.md | 54 ++++++++++--- .../resources/exchange/EXOAntiPhishPolicy.md | 54 ++++++++++--- .../resources/exchange/EXOAntiPhishRule.md | 60 +++++++++++---- .../exchange/EXOApplicationAccessPolicy.md | 69 +++++++++++------ .../resources/exchange/EXOAtpPolicyForO365.md | 18 ++++- .../exchange/EXOAuthenticationPolicy.md | 54 ++++++++++--- .../EXOAuthenticationPolicyAssignment.md | 42 +++++++--- .../exchange/EXOAvailabilityAddressSpace.md | 63 ++++++++++----- .../exchange/EXOAvailabilityConfig.md | 75 ++++++++++++------ .../resources/exchange/EXOCASMailboxPlan.md | 18 ++++- .../exchange/EXOCASMailboxSettings.md | 25 +++--- .../exchange/EXOCalendarProcessing.md | 27 ++++--- .../resources/exchange/EXOClientAccessRule.md | 54 ++++++++++--- .../exchange/EXODataClassification.md | 18 ++++- .../exchange/EXODataEncryptionPolicy.md | 18 ++++- .../exchange/EXODistributionGroup.md | 77 ++++++++++++------- .../exchange/EXOEOPProtectionPolicyRule.md | 21 +++-- .../exchange/EXOEmailAddressPolicy.md | 64 ++++++++++----- .../exchange/EXOExternalInOutlook.md | 19 ++++- .../exchange/EXOGlobalAddressList.md | 66 +++++++++++----- .../resources/exchange/EXOGroupSettings.md | 24 ++++-- .../EXOHostedConnectionFilterPolicy.md | 18 ++++- .../exchange/EXOHostedContentFilterPolicy.md | 54 ++++++++++--- .../exchange/EXOHostedContentFilterRule.md | 71 +++++++++++------ .../EXOHostedOutboundSpamFilterPolicy.md | 57 +++++++++++--- .../EXOHostedOutboundSpamFilterRule.md | 72 +++++++++++------ .../resources/exchange/EXOIRMConfiguration.md | 22 ++++-- .../resources/exchange/EXOInboundConnector.md | 66 +++++++++++----- .../exchange/EXOIntraOrganizationConnector.md | 66 +++++++++++----- .../docs/resources/exchange/EXOJournalRule.md | 66 +++++++++++----- .../docs/resources/exchange/EXOMailContact.md | 61 +++++++++++---- docs/docs/resources/exchange/EXOMailTips.md | 57 ++++++++++---- .../EXOMailboxAutoReplyConfiguration.md | 22 ++++-- .../exchange/EXOMailboxCalendarFolder.md | 24 ++++-- .../exchange/EXOMailboxPermission.md | 21 +++-- .../docs/resources/exchange/EXOMailboxPlan.md | 18 ++++- .../resources/exchange/EXOMailboxSettings.md | 21 +++-- .../exchange/EXOMalwareFilterPolicy.md | 54 ++++++++++--- .../exchange/EXOMalwareFilterRule.md | 63 ++++++++++----- .../resources/exchange/EXOManagementRole.md | 59 ++++++++++---- .../exchange/EXOManagementRoleAssignment.md | 60 +++++++++++---- .../exchange/EXOManagementRoleEntry.md | 18 ++++- .../exchange/EXOMessageClassification.md | 63 ++++++++++----- .../exchange/EXOMobileDeviceMailboxPolicy.md | 54 ++++++++++--- .../resources/exchange/EXOOMEConfiguration.md | 63 ++++++++++----- .../exchange/EXOOfflineAddressBook.md | 63 ++++++++++----- .../exchange/EXOOnPremisesOrganization.md | 67 +++++++++++----- .../exchange/EXOOrganizationConfig.md | 18 ++++- .../exchange/EXOOrganizationRelationship.md | 63 ++++++++++----- .../exchange/EXOOutboundConnector.md | 42 +++++++--- .../resources/exchange/EXOOwaMailboxPolicy.md | 58 ++++++++++---- .../exchange/EXOPartnerApplication.md | 63 ++++++++++----- .../exchange/EXOPerimeterConfiguration.md | 21 +++-- docs/docs/resources/exchange/EXOPlace.md | 72 +++++++++++------ .../resources/exchange/EXOPolicyTipConfig.md | 63 ++++++++++----- .../resources/exchange/EXOQuarantinePolicy.md | 61 +++++++++++---- .../exchange/EXORecipientPermission.md | 50 ++++++++---- .../resources/exchange/EXORemoteDomain.md | 54 ++++++++++--- .../exchange/EXOReportSubmissionPolicy.md | 18 ++++- .../exchange/EXOReportSubmissionRule.md | 18 ++++- .../exchange/EXOResourceConfiguration.md | 21 +++-- .../exchange/EXORoleAssignmentPolicy.md | 54 ++++++++++--- docs/docs/resources/exchange/EXORoleGroup.md | 63 ++++++++++----- .../exchange/EXOSafeAttachmentPolicy.md | 68 +++++++++++----- .../exchange/EXOSafeAttachmentRule.md | 72 +++++++++++------ .../resources/exchange/EXOSafeLinksPolicy.md | 63 ++++++++++----- .../resources/exchange/EXOSafeLinksRule.md | 73 ++++++++++++------ .../resources/exchange/EXOSharedMailbox.md | 68 +++++++++++----- .../resources/exchange/EXOSharingPolicy.md | 54 ++++++++++--- .../resources/exchange/EXOTransportConfig.md | 18 ++++- .../resources/exchange/EXOTransportRule.md | 75 ++++++++++++------ 74 files changed, 2618 insertions(+), 999 deletions(-) diff --git a/docs/docs/resources/exchange/EXOAcceptedDomain.md b/docs/docs/resources/exchange/EXOAcceptedDomain.md index 0d42c84531..416f025cc3 100644 --- a/docs/docs/resources/exchange/EXOAcceptedDomain.md +++ b/docs/docs/resources/exchange/EXOAcceptedDomain.md @@ -47,22 +47,31 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOAcceptedDomain 'O365DSCDomain' { - Identity = $Domain + Identity = $TenantId DomainType = "Authoritative" OutboundOnly = $false Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -77,9 +86,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -87,11 +104,13 @@ Configuration Example { EXOAcceptedDomain 'O365DSCDomain' { - Identity = $Domain + Identity = $TenantId DomainType = "Authoritative" OutboundOnly = $true # Updated Property Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -106,9 +125,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -116,10 +143,12 @@ Configuration Example { EXOAcceptedDomain 'O365DSCDomain' { - Identity = $Domain + Identity = $TenantId DomainType = "Authoritative" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOActiveSyncDeviceAccessRule.md b/docs/docs/resources/exchange/EXOActiveSyncDeviceAccessRule.md index 25d5fcb8a2..9676d00d32 100644 --- a/docs/docs/resources/exchange/EXOActiveSyncDeviceAccessRule.md +++ b/docs/docs/resources/exchange/EXOActiveSyncDeviceAccessRule.md @@ -46,11 +46,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -63,7 +70,9 @@ Configuration Example QueryString = "iOS 6.1 10B146" AccessLevel = "Allow" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -77,11 +86,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -94,7 +110,9 @@ Configuration Example QueryString = "iOS 6.1 10B145" AccessLevel = "Allow" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -108,11 +126,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -125,7 +150,9 @@ Configuration Example QueryString = "iOS 6.1 10B145" AccessLevel = "Allow" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOAddressBookPolicy.md b/docs/docs/resources/exchange/EXOAddressBookPolicy.md index 5742865e7c..a3d74672e4 100644 --- a/docs/docs/resources/exchange/EXOAddressBookPolicy.md +++ b/docs/docs/resources/exchange/EXOAddressBookPolicy.md @@ -47,11 +47,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -65,7 +72,9 @@ Configuration Example OfflineAddressBook = "\Default Offline Address Book" GlobalAddressList = "\Default Global Address List" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -79,11 +88,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -97,7 +113,9 @@ Configuration Example OfflineAddressBook = "\Default Offline Address Book" GlobalAddressList = "\Default Global Address List" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -111,11 +129,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -125,7 +150,9 @@ Configuration Example { Name = "All Fabrikam ABP" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOAddressList.md b/docs/docs/resources/exchange/EXOAddressList.md index 06438f1669..b675d33d4d 100644 --- a/docs/docs/resources/exchange/EXOAddressList.md +++ b/docs/docs/resources/exchange/EXOAddressList.md @@ -65,9 +65,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -81,7 +89,9 @@ Configuration Example ConditionalStateOrProvince = "US" IncludedRecipients = "AllRecipients" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -96,9 +106,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -112,7 +130,9 @@ Configuration Example ConditionalStateOrProvince = "US" IncludedRecipients = "AllRecipients" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -127,9 +147,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -139,7 +167,9 @@ Configuration Example { Name = "HR Users" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOAntiPhishPolicy.md b/docs/docs/resources/exchange/EXOAntiPhishPolicy.md index 3866339b5b..d0859b5a13 100644 --- a/docs/docs/resources/exchange/EXOAntiPhishPolicy.md +++ b/docs/docs/resources/exchange/EXOAntiPhishPolicy.md @@ -78,9 +78,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -109,7 +117,9 @@ Configuration Example EnableUnusualCharactersSafetyTips = $null TargetedUserActionRecipients = $null Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -124,9 +134,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -155,7 +173,9 @@ Configuration Example EnableUnusualCharactersSafetyTips = $null TargetedUserActionRecipients = $null Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -170,9 +190,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -201,7 +229,9 @@ Configuration Example EnableUnusualCharactersSafetyTips = $null TargetedUserActionRecipients = $null Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOAntiPhishRule.md b/docs/docs/resources/exchange/EXOAntiPhishRule.md index c9e9a3b969..0b556b6129 100644 --- a/docs/docs/resources/exchange/EXOAntiPhishRule.md +++ b/docs/docs/resources/exchange/EXOAntiPhishRule.md @@ -55,13 +55,20 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOAntiPhishRule 'ConfigureAntiPhishRule' @@ -69,9 +76,11 @@ Configuration Example Identity = "Test Rule" AntiPhishPolicy = "Our Rule" Enabled = $True - SentToMemberOf = @("executives@$Domain") + SentToMemberOf = @("executives@$TenantId") Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -86,13 +95,20 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOAntiPhishRule 'ConfigureAntiPhishRule' @@ -101,9 +117,11 @@ Configuration Example Comments = "This is an updated comment." # Updated Property AntiPhishPolicy = "Our Rule" Enabled = $True - SentToMemberOf = @("executives@$Domain") + SentToMemberOf = @("executives@$TenantId") Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -118,9 +136,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -131,7 +157,9 @@ Configuration Example Identity = "Test Rule" AntiPhishPolicy = "Our Rule" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOApplicationAccessPolicy.md b/docs/docs/resources/exchange/EXOApplicationAccessPolicy.md index 9fa1a46662..8b1f6887be 100644 --- a/docs/docs/resources/exchange/EXOApplicationAccessPolicy.md +++ b/docs/docs/resources/exchange/EXOApplicationAccessPolicy.md @@ -47,15 +47,21 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOApplicationAccessPolicy 'ConfigureApplicationAccessPolicy' @@ -63,10 +69,12 @@ Configuration Example Identity = "Integration Policy" AccessRight = "DenyAccess" AppID = '3dbc2ae1-7198-45ed-9f9f-d86ba3ec35b5' - PolicyScopeGroupId = "IntegrationMailEnabled@$Domain" + PolicyScopeGroupId = "IntegrationMailEnabled@$TenantId" Description = "Engineering Group Policy" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -80,15 +88,21 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOApplicationAccessPolicy 'ConfigureApplicationAccessPolicy' @@ -96,10 +110,12 @@ Configuration Example Identity = "Integration Policy" AccessRight = "DenyAccess" AppID = '3dbc2ae1-7198-45ed-9f9f-d86ba3ec35b5' - PolicyScopeGroupId = "IntegrationMailEnabled@$Domain" + PolicyScopeGroupId = "IntegrationMailEnabled@$TenantId" Description = "Engineering Group Policy Updated" # Updated Property Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -113,11 +129,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -128,7 +151,9 @@ Configuration Example Identity = "Integration Policy" AppID = '3dbc2ae1-7198-45ed-9f9f-d86ba3ec35b5' Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOAtpPolicyForO365.md b/docs/docs/resources/exchange/EXOAtpPolicyForO365.md index e6b91e99ed..5d9809d9cf 100644 --- a/docs/docs/resources/exchange/EXOAtpPolicyForO365.md +++ b/docs/docs/resources/exchange/EXOAtpPolicyForO365.md @@ -49,9 +49,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -62,7 +70,9 @@ Configuration Example IsSingleInstance = "Yes" EnableATPForSPOTeamsODB = $true Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOAuthenticationPolicy.md b/docs/docs/resources/exchange/EXOAuthenticationPolicy.md index f4394e2bf0..602e77f5a7 100644 --- a/docs/docs/resources/exchange/EXOAuthenticationPolicy.md +++ b/docs/docs/resources/exchange/EXOAuthenticationPolicy.md @@ -56,9 +56,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -80,7 +88,9 @@ Configuration Example AllowBasicAuthSmtp = $False AllowBasicAuthWebServices = $False Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -95,9 +105,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -119,7 +137,9 @@ Configuration Example AllowBasicAuthSmtp = $False AllowBasicAuthWebServices = $False Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -134,9 +154,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -158,7 +186,9 @@ Configuration Example AllowBasicAuthSmtp = $False AllowBasicAuthWebServices = $False Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOAuthenticationPolicyAssignment.md b/docs/docs/resources/exchange/EXOAuthenticationPolicyAssignment.md index 989f6a5dca..04cdfc7453 100644 --- a/docs/docs/resources/exchange/EXOAuthenticationPolicyAssignment.md +++ b/docs/docs/resources/exchange/EXOAuthenticationPolicyAssignment.md @@ -43,21 +43,30 @@ To authenticate with Microsoft Exchange, this resource required the following pe Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOAuthenticationPolicyAssignment 'ConfigureAuthenticationPolicyAssignment' { - UserName = "AdeleV@$Domain" + UserName = "AdeleV@$TenantId" AuthenticationPolicyName = "Block Basic Auth" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -70,21 +79,30 @@ Configuration Example Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOAuthenticationPolicyAssignment 'ConfigureAuthenticationPolicyAssignment' { - UserName = "AdeleV@$Domain" + UserName = "AdeleV@$TenantId" AuthenticationPolicyName = "Test Policy" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOAvailabilityAddressSpace.md b/docs/docs/resources/exchange/EXOAvailabilityAddressSpace.md index e7df67892d..83d0c3a0a6 100644 --- a/docs/docs/resources/exchange/EXOAvailabilityAddressSpace.md +++ b/docs/docs/resources/exchange/EXOAvailabilityAddressSpace.md @@ -49,11 +49,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -68,7 +75,9 @@ Configuration Example TargetServiceEpr = 'https://contoso.com/autodiscover/autodiscover.xml' TargetTenantId = 'o365dsc.onmicrosoft.com' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -82,11 +91,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -101,7 +117,9 @@ Configuration Example TargetServiceEpr = 'https://contoso.com/autodiscover/autodiscover.xml' TargetTenantId = 'contoso.onmicrosoft.com' # Updated Property Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -115,11 +133,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -130,7 +155,9 @@ Configuration Example { Identity = 'Contoso.com' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOAvailabilityConfig.md b/docs/docs/resources/exchange/EXOAvailabilityConfig.md index 936517c50e..d74942c811 100644 --- a/docs/docs/resources/exchange/EXOAvailabilityConfig.md +++ b/docs/docs/resources/exchange/EXOAvailabilityConfig.md @@ -43,22 +43,31 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOAvailabilityConfig 'ConfigureAvailabilityConfig' { - OrgWideAccount = "adelev@$Domain" + OrgWideAccount = "adelev@$TenantId" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -72,22 +81,31 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOAvailabilityConfig 'ConfigureAvailabilityConfig' { - OrgWideAccount = "alexW@$Domain" # Updated Property + OrgWideAccount = "alexW@$TenantId" # Updated Property Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -101,22 +119,31 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOAvailabilityConfig 'ConfigureAvailabilityConfig' { - OrgWideAccount = "alexW@$Domain" # Updated Property + OrgWideAccount = "alexW@$TenantId" # Updated Property Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOCASMailboxPlan.md b/docs/docs/resources/exchange/EXOCASMailboxPlan.md index d63d6a8774..a86f0fbb56 100644 --- a/docs/docs/resources/exchange/EXOCASMailboxPlan.md +++ b/docs/docs/resources/exchange/EXOCASMailboxPlan.md @@ -50,9 +50,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -66,7 +74,9 @@ Configuration Example Identity = 'ExchangeOnlineEnterprise' ImapEnabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOCASMailboxSettings.md b/docs/docs/resources/exchange/EXOCASMailboxSettings.md index 9fac50452a..686e5c3a51 100644 --- a/docs/docs/resources/exchange/EXOCASMailboxSettings.md +++ b/docs/docs/resources/exchange/EXOCASMailboxSettings.md @@ -77,16 +77,21 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOCASMailboxSettings 'AdeleVCasMailboxSettings' @@ -98,7 +103,7 @@ Configuration Example ActiveSyncMailboxPolicy = 'Default' ActiveSyncSuppressReadReceipt = $False EwsEnabled = $True - Identity = "admin@$Domain" + Identity = "admin@$TenantId" ImapEnabled = $True # Updated Property ImapForceICalForCalendarRetrievalOption = $False ImapMessagesRetrievalMimeFormat = 'BestBodyFormat' @@ -119,7 +124,9 @@ Configuration Example ShowGalAsDefaultView = $True UniversalOutlookEnabled = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOCalendarProcessing.md b/docs/docs/resources/exchange/EXOCalendarProcessing.md index 42b6045f42..1b358814a1 100644 --- a/docs/docs/resources/exchange/EXOCalendarProcessing.md +++ b/docs/docs/resources/exchange/EXOCalendarProcessing.md @@ -81,15 +81,22 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOCalendarProcessing "CalendarProcessing" @@ -107,7 +114,6 @@ Configuration Example BookingWindowInDays = 180; BookInPolicy = @(); ConflictPercentageAllowed = 0; - Credential = $credsCredential; DeleteAttachments = $True; DeleteComments = $True; DeleteNonCalendarItems = $True; @@ -118,7 +124,7 @@ Configuration Example EnforceSchedulingHorizon = $True; Ensure = "Present"; ForwardRequestsToDelegates = $True; - Identity = "admin@$Domain"; + Identity = "admin@$TenantId"; MaximumConflictInstances = 0; MaximumDurationInMinutes = 1440; MinimumDurationInMinutes = 0; @@ -129,10 +135,13 @@ Configuration Example RemoveForwardedMeetingNotifications = $False; RemoveOldMeetingMessages = $False; RemovePrivateProperty = $True; - RequestInPolicy = @("AlexW@$Domain"); + RequestInPolicy = @("AlexW@$TenantId"); ResourceDelegates = @(); ScheduleOnlyDuringWorkHours = $False; TentativePendingApproval = $True; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOClientAccessRule.md b/docs/docs/resources/exchange/EXOClientAccessRule.md index 468b2823c9..f1fcdc480e 100644 --- a/docs/docs/resources/exchange/EXOClientAccessRule.md +++ b/docs/docs/resources/exchange/EXOClientAccessRule.md @@ -64,9 +64,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -88,7 +96,9 @@ Configuration Example ExceptAnyOfClientIPAddressesOrRanges = @() AnyOfClientIPAddressesOrRanges = @() Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -103,9 +113,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -127,7 +145,9 @@ Configuration Example ExceptAnyOfClientIPAddressesOrRanges = @() AnyOfClientIPAddressesOrRanges = @() Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -142,9 +162,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -155,7 +183,9 @@ Configuration Example Action = "AllowAccess" Identity = "Always Allow Remote PowerShell" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXODataClassification.md b/docs/docs/resources/exchange/EXODataClassification.md index 261852d7ec..e85a9c96f3 100644 --- a/docs/docs/resources/exchange/EXODataClassification.md +++ b/docs/docs/resources/exchange/EXODataClassification.md @@ -49,9 +49,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -65,7 +73,9 @@ Configuration Example IsDefault = $True; Locale = "en-US"; Name = "Canada Social Insurance Number"; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXODataEncryptionPolicy.md b/docs/docs/resources/exchange/EXODataEncryptionPolicy.md index 73284eb14c..5146af3072 100644 --- a/docs/docs/resources/exchange/EXODataEncryptionPolicy.md +++ b/docs/docs/resources/exchange/EXODataEncryptionPolicy.md @@ -50,9 +50,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -62,7 +70,9 @@ Configuration Example { Identity = 'US Mailboxes' Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXODistributionGroup.md b/docs/docs/resources/exchange/EXODistributionGroup.md index 761c1d7768..a3142c7693 100644 --- a/docs/docs/resources/exchange/EXODistributionGroup.md +++ b/docs/docs/resources/exchange/EXODistributionGroup.md @@ -85,11 +85,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -104,17 +111,19 @@ Configuration Example DisplayName = "My Demo DG"; Ensure = "Present"; HiddenGroupMembershipEnabled = $True; - ManagedBy = @("adeleV@$Domain"); + ManagedBy = @("adeleV@$TenantId"); MemberDepartRestriction = "Open"; MemberJoinRestriction = "Closed"; - ModeratedBy = @("alexW@$Domain"); + ModeratedBy = @("alexW@$TenantId"); ModerationEnabled = $False; Identity = "DemoDG"; Name = "DemoDG"; - PrimarySmtpAddress = "demodg@$Domain"; + PrimarySmtpAddress = "demodg@$TenantId"; RequireSenderAuthenticationEnabled = $True; SendModerationNotifications = "Always"; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -128,15 +137,21 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXODistributionGroup 'DemoDG' @@ -147,17 +162,19 @@ Configuration Example DisplayName = "My Demo DG"; Ensure = "Present"; HiddenGroupMembershipEnabled = $True; - ManagedBy = @("adeleV@$Domain"); + ManagedBy = @("adeleV@$TenantId"); MemberDepartRestriction = "Open"; MemberJoinRestriction = "Closed"; - ModeratedBy = @("alexW@$Domain"); + ModeratedBy = @("alexW@$TenantId"); ModerationEnabled = $False; Identity = "DemoDG"; Name = "DemoDG"; - PrimarySmtpAddress = "demodg@$Domain"; + PrimarySmtpAddress = "demodg@$TenantId"; RequireSenderAuthenticationEnabled = $True; SendModerationNotifications = "Always"; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -171,24 +188,32 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC node localhost { - $Domain = $Credscredential.Username.Split('@')[1] EXODistributionGroup 'DemoDG' { DisplayName = "My Demo DG"; Ensure = "Absent"; Identity = "DemoDG"; Name = "DemoDG"; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOEOPProtectionPolicyRule.md b/docs/docs/resources/exchange/EXOEOPProtectionPolicyRule.md index c439f3314c..d5c0c35184 100644 --- a/docs/docs/resources/exchange/EXOEOPProtectionPolicyRule.md +++ b/docs/docs/resources/exchange/EXOEOPProtectionPolicyRule.md @@ -52,26 +52,33 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOEOPProtectionPolicyRule "EXOEOPProtectionPolicyRule-Strict Preset Security Policy" { - ApplicationId = $ConfigurationData.NonNodeData.ApplicationId; - CertificateThumbprint = $ConfigurationData.NonNodeData.CertificateThumbprint; Ensure = "Present"; ExceptIfRecipientDomainIs = @("sandrodev.onmicrosoft.com"); Identity = "Strict Preset Security Policy"; Name = "Strict Preset Security Policy"; Priority = 0; State = "Enabled"; - TenantId = $OrganizationName; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOEmailAddressPolicy.md b/docs/docs/resources/exchange/EXOEmailAddressPolicy.md index 54bf098cd3..b1bb91b7cf 100644 --- a/docs/docs/resources/exchange/EXOEmailAddressPolicy.md +++ b/docs/docs/resources/exchange/EXOEmailAddressPolicy.md @@ -48,9 +48,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -60,12 +68,14 @@ Configuration Example EXOEmailAddressPolicy 'ConfigureEmailAddressPolicy' { Name = "Integration Policy" - EnabledEmailAddressTemplates = @("SMTP:@$Domain") - EnabledPrimarySMTPAddressTemplate = "@$Domain" + EnabledEmailAddressTemplates = @("SMTP:@$TenantId") + EnabledPrimarySMTPAddressTemplate = "@$TenantId" ManagedByFilter = "" Priority = 1 Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -80,24 +90,33 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOEmailAddressPolicy 'ConfigureEmailAddressPolicy' { Name = "Integration Policy" - EnabledEmailAddressTemplates = @("SMTP:@$Domain") - EnabledPrimarySMTPAddressTemplate = "@$Domain" + EnabledEmailAddressTemplates = @("SMTP:@$TenantId") + EnabledPrimarySMTPAddressTemplate = "@$TenantId" ManagedByFilter = "Department -eq 'Sales'" # Updated Property Priority = 1 Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -112,20 +131,29 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC node localhost { - $Domain = $Credscredential.Username.Split('@')[1] EXOEmailAddressPolicy 'ConfigureEmailAddressPolicy' { Name = "Integration Policy" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOExternalInOutlook.md b/docs/docs/resources/exchange/EXOExternalInOutlook.md index 14a617a670..c06886185b 100644 --- a/docs/docs/resources/exchange/EXOExternalInOutlook.md +++ b/docs/docs/resources/exchange/EXOExternalInOutlook.md @@ -44,10 +44,19 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -58,7 +67,9 @@ Configuration Example AllowList = @("mobile01@contoso.onmicrosoft.com","*contoso.onmicrosoft.com","contoso.com"); Enabled = $False; Ensure = "Present"; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOGlobalAddressList.md b/docs/docs/resources/exchange/EXOGlobalAddressList.md index 03f184e64e..905ab60094 100644 --- a/docs/docs/resources/exchange/EXOGlobalAddressList.md +++ b/docs/docs/resources/exchange/EXOGlobalAddressList.md @@ -63,12 +63,20 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -81,7 +89,9 @@ Configuration Example ConditionalStateOrProvince = "Washington" IncludedRecipients = 'AllRecipients' Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -95,12 +105,20 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -112,7 +130,9 @@ Configuration Example ConditionalDepartment = "Finances" # Updated Property ConditionalStateOrProvince = "Washington" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -126,12 +146,20 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -140,7 +168,9 @@ Configuration Example { Name = "Contoso Human Resources in Washington" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOGroupSettings.md b/docs/docs/resources/exchange/EXOGroupSettings.md index a9994b01f8..ca2bae5934 100644 --- a/docs/docs/resources/exchange/EXOGroupSettings.md +++ b/docs/docs/resources/exchange/EXOGroupSettings.md @@ -94,16 +94,22 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOGroupSettings 'TestGroup' @@ -115,7 +121,6 @@ Configuration Example AutoSubscribeNewMembers = $False; CalendarMemberReadOnly = $False; ConnectorsEnabled = $False; # Updated Property - Credential = $Credscredential; HiddenFromAddressListsEnabled = $True; HiddenFromExchangeClientsEnabled = $True; InformationBarrierMode = "Open"; @@ -124,9 +129,12 @@ Configuration Example MaxSendSize = "35 MB (36,700,160 bytes)"; ModerationEnabled = $False; Notes = "My Notes"; - PrimarySmtpAddress = "TestGroup@$Domain"; + PrimarySmtpAddress = "TestGroup@$TenantId"; RequireSenderAuthenticationEnabled = $True; SubscriptionEnabled = $False; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOHostedConnectionFilterPolicy.md b/docs/docs/resources/exchange/EXOHostedConnectionFilterPolicy.md index d5ce379cde..24fd712aa2 100644 --- a/docs/docs/resources/exchange/EXOHostedConnectionFilterPolicy.md +++ b/docs/docs/resources/exchange/EXOHostedConnectionFilterPolicy.md @@ -50,9 +50,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -67,7 +75,9 @@ Configuration Example IPBlockList = @() MakeDefault = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOHostedContentFilterPolicy.md b/docs/docs/resources/exchange/EXOHostedContentFilterPolicy.md index 15f1f0a745..d01949203b 100644 --- a/docs/docs/resources/exchange/EXOHostedContentFilterPolicy.md +++ b/docs/docs/resources/exchange/EXOHostedContentFilterPolicy.md @@ -97,9 +97,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -147,7 +155,9 @@ Configuration Example TestModeAction = "None" TestModeBccToRecipients = @() Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -162,9 +172,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -212,7 +230,9 @@ Configuration Example TestModeAction = "None" TestModeBccToRecipients = @() Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -227,9 +247,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -239,7 +267,9 @@ Configuration Example { Identity = "Integration CFP" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOHostedContentFilterRule.md b/docs/docs/resources/exchange/EXOHostedContentFilterRule.md index 1eb607bc93..bc656c1f5e 100644 --- a/docs/docs/resources/exchange/EXOHostedContentFilterRule.md +++ b/docs/docs/resources/exchange/EXOHostedContentFilterRule.md @@ -54,15 +54,21 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOHostedContentFilterRule 'ConfigureHostedContentFilterRule' @@ -70,11 +76,13 @@ Configuration Example Identity = "Integration CFR" Comments = "Applies to all users, except when member of HR group" Enabled = $True - ExceptIfSentToMemberOf = "LegalTeam@$Domain" + ExceptIfSentToMemberOf = "LegalTeam@$TenantId" RecipientDomainIs = @('contoso.com') HostedContentFilterPolicy = "Integration CFP" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -88,15 +96,22 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOHostedContentFilterRule 'ConfigureHostedContentFilterRule' @@ -104,11 +119,13 @@ Configuration Example Identity = "Integration CFR" Comments = "Applies to all users, except when member of HR group" Enabled = $False # Updated Property - ExceptIfSentToMemberOf = "LegalTeam@$Domain" + ExceptIfSentToMemberOf = "LegalTeam@$TenantId" RecipientDomainIs = @('contoso.com') HostedContentFilterPolicy = "Integration CFP" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -122,12 +139,20 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -137,7 +162,9 @@ Configuration Example Identity = "Integration CFR" HostedContentFilterPolicy = "Integration CFP" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOHostedOutboundSpamFilterPolicy.md b/docs/docs/resources/exchange/EXOHostedOutboundSpamFilterPolicy.md index 25ceb5f298..24df1817c5 100644 --- a/docs/docs/resources/exchange/EXOHostedOutboundSpamFilterPolicy.md +++ b/docs/docs/resources/exchange/EXOHostedOutboundSpamFilterPolicy.md @@ -55,10 +55,19 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -77,7 +86,9 @@ Configuration Example RecipientLimitInternalPerHour = 0 RecipientLimitPerDay = 0 Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -92,10 +103,19 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -114,7 +134,9 @@ Configuration Example RecipientLimitInternalPerHour = 1 # Updated Property RecipientLimitPerDay = 0 Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -129,10 +151,19 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -141,7 +172,9 @@ Configuration Example { Identity = "Integration SFP" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOHostedOutboundSpamFilterRule.md b/docs/docs/resources/exchange/EXOHostedOutboundSpamFilterRule.md index 85c7083158..d260d6da3a 100644 --- a/docs/docs/resources/exchange/EXOHostedOutboundSpamFilterRule.md +++ b/docs/docs/resources/exchange/EXOHostedOutboundSpamFilterRule.md @@ -54,15 +54,22 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOHostedOutboundSpamFilterRule 'ConfigureHostedOutboundSpamFilterRule' @@ -70,11 +77,13 @@ Configuration Example Identity = "Contoso Executives" Comments = "Does not apply to Executives" Enabled = $True - ExceptIfFrom = "AdeleV@$Domain" - FromMemberOf = "Executives@$Domain" + ExceptIfFrom = "AdeleV@$TenantId" + FromMemberOf = "Executives@$TenantId" HostedOutboundSpamFilterPolicy = "Integration SFP" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -88,15 +97,22 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOHostedOutboundSpamFilterRule 'ConfigureHostedOutboundSpamFilterRule' @@ -104,11 +120,13 @@ Configuration Example Identity = "Contoso Executives" Comments = "Does not apply to Executives" Enabled = $False # Updated Property - ExceptIfFrom = "AdeleV@$Domain" - FromMemberOf = "Executives@$Domain" + ExceptIfFrom = "AdeleV@$TenantId" + FromMemberOf = "Executives@$TenantId" HostedOutboundSpamFilterPolicy = "Integration SFP" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -122,12 +140,20 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC $Domain = $Credscredential.Username.Split('@')[1] diff --git a/docs/docs/resources/exchange/EXOIRMConfiguration.md b/docs/docs/resources/exchange/EXOIRMConfiguration.md index 3fbd8d2935..67903e63f8 100644 --- a/docs/docs/resources/exchange/EXOIRMConfiguration.md +++ b/docs/docs/resources/exchange/EXOIRMConfiguration.md @@ -58,12 +58,20 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -85,7 +93,9 @@ Configuration Example SimplifiedClientAccessEncryptOnlyDisabled = $True TransportDecryptionSetting = 'Mandatory' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOInboundConnector.md b/docs/docs/resources/exchange/EXOInboundConnector.md index 3d56a2047b..5f7dde5179 100644 --- a/docs/docs/resources/exchange/EXOInboundConnector.md +++ b/docs/docs/resources/exchange/EXOInboundConnector.md @@ -59,12 +59,20 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -81,7 +89,9 @@ Configuration Example SenderDomains = "*.contoso.com" TlsSenderCertificateName = "contoso.com" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -95,12 +105,20 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -117,7 +135,9 @@ Configuration Example SenderDomains = "*.contoso.com" TlsSenderCertificateName = "contoso.com" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -131,12 +151,20 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -145,7 +173,9 @@ Configuration Example { Identity = "Integration Inbound Connector" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOIntraOrganizationConnector.md b/docs/docs/resources/exchange/EXOIntraOrganizationConnector.md index 7247b53cf0..957c45cde9 100644 --- a/docs/docs/resources/exchange/EXOIntraOrganizationConnector.md +++ b/docs/docs/resources/exchange/EXOIntraOrganizationConnector.md @@ -47,12 +47,20 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -64,7 +72,9 @@ Configuration Example TargetAddressDomains = "Cloud1.contoso.com","Cloud2.contoso.com" Enabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -78,12 +88,20 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -95,7 +113,9 @@ Configuration Example TargetAddressDomains = "Cloud1.contoso.com","Cloud2.contoso.com" Enabled = $False # Updated Property Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -109,12 +129,20 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -123,7 +151,9 @@ Configuration Example { Identity = "MainCloudConnector" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOJournalRule.md b/docs/docs/resources/exchange/EXOJournalRule.md index 5621508b15..aeeead5aa0 100644 --- a/docs/docs/resources/exchange/EXOJournalRule.md +++ b/docs/docs/resources/exchange/EXOJournalRule.md @@ -48,23 +48,33 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOJournalRule 'CreateJournalRule' { Enabled = $True - JournalEmailAddress = "AdeleV@$Domain" + JournalEmailAddress = "AdeleV@$TenantId" Name = "Send to Adele" RuleScope = "Global" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -79,23 +89,33 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOJournalRule 'CreateJournalRule' { Enabled = $False # Updated Property - JournalEmailAddress = "AdeleV@$Domain" + JournalEmailAddress = "AdeleV@$TenantId" Name = "Send to Adele" RuleScope = "Global" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -110,21 +130,31 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOJournalRule 'CreateJournalRule' { - JournalEmailAddress = "AdeleV@$Domain" + JournalEmailAddress = "AdeleV@$TenantId" Name = "Send to Adele" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOMailContact.md b/docs/docs/resources/exchange/EXOMailContact.md index bd05b43037..d9da5a8747 100644 --- a/docs/docs/resources/exchange/EXOMailContact.md +++ b/docs/docs/resources/exchange/EXOMailContact.md @@ -80,19 +80,25 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOMailContact 'TestMailContact' { Alias = 'TestMailContact' - Credential = $Credscredential DisplayName = 'My Test Contact' Ensure = 'Present' ExternalEmailAddress = 'SMTP:test@tailspintoys.com' @@ -102,11 +108,14 @@ Configuration Example ModeratedBy = @() ModerationEnabled = $false Name = 'My Test Contact' - OrganizationalUnit = $Domain + OrganizationalUnit = $TenantId SendModerationNotifications = 'Always' UsePreferMessageFormat = $true CustomAttribute1 = 'Custom Value 1' ExtensionCustomAttribute5 = 'Extension Custom Value 1', 'Extension Custom Value 2' + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -121,9 +130,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -133,7 +150,6 @@ Configuration Example EXOMailContact 'TestMailContact' { Alias = 'TestMailContact' - Credential = $Credscredential DisplayName = 'My Test Contact' Ensure = 'Present' ExternalEmailAddress = 'SMTP:test@tailspintoys.com' @@ -143,11 +159,14 @@ Configuration Example ModeratedBy = @() ModerationEnabled = $false Name = 'My Test Contact' - OrganizationalUnit = $Domain + OrganizationalUnit = $TenantId SendModerationNotifications = 'Always' UsePreferMessageFormat = $false # Updated Property CustomAttribute1 = 'Custom Value 1' ExtensionCustomAttribute5 = 'Extension Custom Value 1', 'Extension Custom Value 2' + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -162,9 +181,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -174,16 +201,18 @@ Configuration Example EXOMailContact 'TestMailContact' { Alias = 'TestMailContact' - Credential = $Credscredential DisplayName = 'My Test Contact' Ensure = 'Absent' ExternalEmailAddress = 'SMTP:test@tailspintoys.com' Name = 'My Test Contact' - OrganizationalUnit = $Domain + OrganizationalUnit = $TenantId SendModerationNotifications = 'Always' UsePreferMessageFormat = $false # Updated Property CustomAttribute1 = 'Custom Value 1' ExtensionCustomAttribute5 = 'Extension Custom Value 1', 'Extension Custom Value 2' + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOMailTips.md b/docs/docs/resources/exchange/EXOMailTips.md index 76f374a191..c7980b4ba8 100644 --- a/docs/docs/resources/exchange/EXOMailTips.md +++ b/docs/docs/resources/exchange/EXOMailTips.md @@ -49,13 +49,20 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOMailTips 'OrgWideMailTips' @@ -67,7 +74,9 @@ Configuration Example MailTipsMailboxSourcedTipsEnabled = $True MailTipsExternalRecipientsTipsEnabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -82,13 +91,20 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOMailTips 'OrgWideMailTips' @@ -100,7 +116,9 @@ Configuration Example MailTipsMailboxSourcedTipsEnabled = $True MailTipsExternalRecipientsTipsEnabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -115,20 +133,29 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOMailTips 'OrgWideMailTips' { IsSingleInstance = 'Yes' Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOMailboxAutoReplyConfiguration.md b/docs/docs/resources/exchange/EXOMailboxAutoReplyConfiguration.md index 158fb13cd7..ac9ad5ca55 100644 --- a/docs/docs/resources/exchange/EXOMailboxAutoReplyConfiguration.md +++ b/docs/docs/resources/exchange/EXOMailboxAutoReplyConfiguration.md @@ -58,13 +58,21 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) + Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOMailboxAutoReplyConfiguration "EXOMailboxAutoReplyConfiguration" @@ -72,7 +80,6 @@ Configuration Example AutoDeclineFutureRequestsWhenOOF = $False; AutoReplyState = "Disabled"; CreateOOFEvent = $False; - Credential = $Credscredential; DeclineAllEventsForScheduledOOF = $False; DeclineEventsForScheduledOOF = $False; DeclineMeetingMessage = ""; @@ -80,10 +87,13 @@ Configuration Example Ensure = "Present"; ExternalAudience = "All"; ExternalMessage = (New-Guid).ToString(); # Updated Property - Identity = "AdeleV@$Domain"; + Identity = "AdeleV@$TenantId"; InternalMessage = ""; OOFEventSubject = ""; StartTime = "1/22/2024 3:00:00 PM"; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOMailboxCalendarFolder.md b/docs/docs/resources/exchange/EXOMailboxCalendarFolder.md index f28ef89768..23b1861153 100644 --- a/docs/docs/resources/exchange/EXOMailboxCalendarFolder.md +++ b/docs/docs/resources/exchange/EXOMailboxCalendarFolder.md @@ -50,27 +50,35 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOMailboxCalendarFolder "JohnCalendarFolder" { - Credential = $credsCredential; DetailLevel = "AvailabilityOnly"; Ensure = "Present"; - Identity = "AlexW@$Domain" + ":\Calendar"; + Identity = "AlexW@$TenantId" + ":\Calendar"; PublishDateRangeFrom = "ThreeMonths"; PublishDateRangeTo = "ThreeMonths"; PublishEnabled = $True; # Updated Property SearchableUrlEnabled = $False; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOMailboxPermission.md b/docs/docs/resources/exchange/EXOMailboxPermission.md index c554e2bf5e..f7dfe3b58c 100644 --- a/docs/docs/resources/exchange/EXOMailboxPermission.md +++ b/docs/docs/resources/exchange/EXOMailboxPermission.md @@ -49,24 +49,33 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOMailboxPermission "TestPermission" { AccessRights = @("FullAccess","ReadPermission"); - Credential = $credsCredential; Deny = $True; # Updated Property Ensure = "Present"; - Identity = "AlexW@$Domain"; + Identity = "AlexW@$TenantId"; InheritanceType = "All"; User = "NT AUTHORITY\SELF"; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOMailboxPlan.md b/docs/docs/resources/exchange/EXOMailboxPlan.md index 5f5de0e838..6401c6441c 100644 --- a/docs/docs/resources/exchange/EXOMailboxPlan.md +++ b/docs/docs/resources/exchange/EXOMailboxPlan.md @@ -53,9 +53,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -72,7 +80,9 @@ Configuration Example ProhibitSendReceiveQuota = "15 GB (16,106,127,360 bytes)"; # Updated Property RetainDeletedItemsFor = "14.00:00:00"; RoleAssignmentPolicy = "Default Role Assignment Policy"; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOMailboxSettings.md b/docs/docs/resources/exchange/EXOMailboxSettings.md index cb5e9dd7e9..0007b04d38 100644 --- a/docs/docs/resources/exchange/EXOMailboxSettings.md +++ b/docs/docs/resources/exchange/EXOMailboxSettings.md @@ -48,11 +48,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -65,7 +72,9 @@ Configuration Example TimeZone = 'Eastern Standard Time' Locale = 'en-US' # Updated Property Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOMalwareFilterPolicy.md b/docs/docs/resources/exchange/EXOMalwareFilterPolicy.md index 0596397bc3..7d9fd4fc7e 100644 --- a/docs/docs/resources/exchange/EXOMalwareFilterPolicy.md +++ b/docs/docs/resources/exchange/EXOMalwareFilterPolicy.md @@ -62,9 +62,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -82,7 +90,9 @@ Configuration Example QuarantineTag = "AdminOnlyAccessPolicy" ZapEnabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -97,9 +107,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -117,7 +135,9 @@ Configuration Example QuarantineTag = "AdminOnlyAccessPolicy" ZapEnabled = $False # Updated Property Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -132,9 +152,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -144,7 +172,9 @@ Configuration Example { Identity = "IntegrationMFP" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOMalwareFilterRule.md b/docs/docs/resources/exchange/EXOMalwareFilterRule.md index 46f54e7f7e..dc4689f84c 100644 --- a/docs/docs/resources/exchange/EXOMalwareFilterRule.md +++ b/docs/docs/resources/exchange/EXOMalwareFilterRule.md @@ -53,11 +53,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -71,7 +78,9 @@ Configuration Example Enabled = $True RecipientDomainIs = "contoso.com" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -85,11 +94,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -103,7 +119,9 @@ Configuration Example Enabled = $False # Updated Property RecipientDomainIs = "contoso.com" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -117,11 +135,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -132,7 +157,9 @@ Configuration Example Identity = "Contoso Recipients" MalwareFilterPolicy = "IntegrationMFP" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOManagementRole.md b/docs/docs/resources/exchange/EXOManagementRole.md index 43ecc597a6..3dfd2ffcc4 100644 --- a/docs/docs/resources/exchange/EXOManagementRole.md +++ b/docs/docs/resources/exchange/EXOManagementRole.md @@ -46,22 +46,31 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOManagementRole 'ConfigureManagementRole' { Name = "MyDisplayName" Description = "" - Parent = "$Domain\MyProfileInformation" + Parent = "$TenantId\MyProfileInformation" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -76,9 +85,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -89,9 +106,11 @@ Configuration Example { Name = "MyDisplayName" Description = "Updated Description" # Updated Property - Parent = "$Domain\MyProfileInformation" + Parent = "$TenantId\MyProfileInformation" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -106,9 +125,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -120,7 +147,9 @@ Configuration Example Description = "Updated Description" # Updated Property Parent = "contoso.onmicrosoft.com\MyProfileInformation" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOManagementRoleAssignment.md b/docs/docs/resources/exchange/EXOManagementRoleAssignment.md index 31934e2895..d45b5fcabb 100644 --- a/docs/docs/resources/exchange/EXOManagementRoleAssignment.md +++ b/docs/docs/resources/exchange/EXOManagementRoleAssignment.md @@ -55,9 +55,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -66,11 +74,13 @@ Configuration Example { EXOManagementRoleAssignment 'AssignManagementRole' { - Credential = $credsCredential; Ensure = "Present"; Name = "MyManagementRoleAssignment"; Role = "UserApplication"; - User = "AdeleV@$Domain"; + User = "AdeleV@$TenantId"; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -85,9 +95,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -96,11 +114,13 @@ Configuration Example { EXOManagementRoleAssignment 'AssignManagementRole' { - Credential = $credsCredential; Ensure = "Present"; Name = "MyManagementRoleAssignment"; Role = "UserApplication"; - User = "AlexW@$Domain"; # Updated Property + User = "AlexW@$TenantId"; # Updated Property + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -115,9 +135,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $credsCredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -126,11 +154,13 @@ Configuration Example { EXOManagementRoleAssignment 'AssignManagementRole' { - Credential = $credsCredential; Ensure = "Absent"; Name = "MyManagementRoleAssignment"; Role = "UserApplication"; - User = "AlexW@$Domain"; # Updated Property + User = "AlexW@$TenantId"; # Updated Property + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOManagementRoleEntry.md b/docs/docs/resources/exchange/EXOManagementRoleEntry.md index 2c20553e80..d45b2b6e0d 100644 --- a/docs/docs/resources/exchange/EXOManagementRoleEntry.md +++ b/docs/docs/resources/exchange/EXOManagementRoleEntry.md @@ -45,9 +45,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -55,7 +63,9 @@ Configuration Example { EXOManagementRoleEntry "UpdateRoleEntry" { - Credential = $Credscredential; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint Identity = "Information Rights Management\Get-BookingMailbox" Parameters = @("ANR","RecipientTypeDetails", "ResultSize") } diff --git a/docs/docs/resources/exchange/EXOMessageClassification.md b/docs/docs/resources/exchange/EXOMessageClassification.md index f37a4f8049..4f8a62bcb8 100644 --- a/docs/docs/resources/exchange/EXOMessageClassification.md +++ b/docs/docs/resources/exchange/EXOMessageClassification.md @@ -51,11 +51,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -72,7 +79,9 @@ Configuration Example SenderDescription = "Shown to senders" RetainClassificationEnabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -86,11 +95,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -107,7 +123,9 @@ Configuration Example SenderDescription = "Shown to senders" RetainClassificationEnabled = $False # Updated Property Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -121,11 +139,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -137,7 +162,9 @@ Configuration Example Name = "Contoso Message Classification" DisplayName = "Contoso Message Classification" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOMobileDeviceMailboxPolicy.md b/docs/docs/resources/exchange/EXOMobileDeviceMailboxPolicy.md index 3285327426..0fdbcff8f4 100644 --- a/docs/docs/resources/exchange/EXOMobileDeviceMailboxPolicy.md +++ b/docs/docs/resources/exchange/EXOMobileDeviceMailboxPolicy.md @@ -98,9 +98,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -163,7 +171,9 @@ Configuration Example UNCAccessEnabled = $True WSSAccessEnabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -178,9 +188,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -243,7 +261,9 @@ Configuration Example UNCAccessEnabled = $True WSSAccessEnabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -258,9 +278,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -270,7 +298,9 @@ Configuration Example { Name = "Default" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOOMEConfiguration.md b/docs/docs/resources/exchange/EXOOMEConfiguration.md index 3d2e31eff2..45ddac8afe 100644 --- a/docs/docs/resources/exchange/EXOOMEConfiguration.md +++ b/docs/docs/resources/exchange/EXOOMEConfiguration.md @@ -53,11 +53,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -75,7 +82,9 @@ Configuration Example PortalText = "This portal is encrypted." SocialIdSignIn = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -89,11 +98,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -111,7 +127,9 @@ Configuration Example PortalText = "This portal is encrypted." SocialIdSignIn = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -125,11 +143,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -139,7 +164,9 @@ Configuration Example { Identity = "Contoso Marketing" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOOfflineAddressBook.md b/docs/docs/resources/exchange/EXOOfflineAddressBook.md index 3fc957f8c4..4439e5ab9c 100644 --- a/docs/docs/resources/exchange/EXOOfflineAddressBook.md +++ b/docs/docs/resources/exchange/EXOOfflineAddressBook.md @@ -47,11 +47,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -65,7 +72,9 @@ Configuration Example DiffRetentionPeriod = "30" IsDefault = $true Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -79,11 +88,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -97,7 +113,9 @@ Configuration Example DiffRetentionPeriod = "60" # Updated Property IsDefault = $true Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -111,11 +129,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -130,7 +155,9 @@ Configuration Example DiffRetentionPeriod = "30" IsDefault = $true Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOOnPremisesOrganization.md b/docs/docs/resources/exchange/EXOOnPremisesOrganization.md index a36dd455a3..b9ac4ad94c 100644 --- a/docs/docs/resources/exchange/EXOOnPremisesOrganization.md +++ b/docs/docs/resources/exchange/EXOOnPremisesOrganization.md @@ -50,11 +50,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -71,7 +78,9 @@ Configuration Example OrganizationName = 'O365DSC' OutboundConnector = 'Contoso Outbound Connector' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DependsOn = "[EXOOutboundConnector]OutboundDependency" } EXOOutboundConnector 'OutboundDependency' @@ -90,7 +99,9 @@ Configuration Example TlsSettings = "DomainValidation" UseMxRecord = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -104,11 +115,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -125,7 +143,9 @@ Configuration Example OrganizationName = 'O365DSC' OutboundConnector = 'Contoso Outbound Connector' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -139,11 +159,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -153,7 +180,9 @@ Configuration Example EXOOnPremisesOrganization 'ConfigureOnPremisesOrganization' { Identity = 'Contoso' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOOrganizationConfig.md b/docs/docs/resources/exchange/EXOOrganizationConfig.md index 4cb2c64b8d..13977a5b61 100644 --- a/docs/docs/resources/exchange/EXOOrganizationConfig.md +++ b/docs/docs/resources/exchange/EXOOrganizationConfig.md @@ -150,9 +150,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -221,7 +229,9 @@ Configuration Example AutoExpandingArchive = $null ConnectorsEnabledForSharepoint = $True ReadTrackingEnabled = $False - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOOrganizationRelationship.md b/docs/docs/resources/exchange/EXOOrganizationRelationship.md index f13e4acac0..c088e8fc91 100644 --- a/docs/docs/resources/exchange/EXOOrganizationRelationship.md +++ b/docs/docs/resources/exchange/EXOOrganizationRelationship.md @@ -63,11 +63,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -89,7 +96,9 @@ Configuration Example TargetApplicationUri = "mail.contoso.com" TargetAutodiscoverEpr = "https://mail.contoso.com/autodiscover/autodiscover.svc/wssecurity" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -103,11 +112,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -129,7 +145,9 @@ Configuration Example TargetApplicationUri = "mail.contoso.com" TargetAutodiscoverEpr = "https://mail.contoso.com/autodiscover/autodiscover.svc/wssecurity" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -143,11 +161,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -158,7 +183,9 @@ Configuration Example Name = "Contoso" Enabled = $True Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOOutboundConnector.md b/docs/docs/resources/exchange/EXOOutboundConnector.md index cf2d1b3c8a..12fe6fc758 100644 --- a/docs/docs/resources/exchange/EXOOutboundConnector.md +++ b/docs/docs/resources/exchange/EXOOutboundConnector.md @@ -59,11 +59,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -85,7 +92,9 @@ Configuration Example TlsSettings = "DomainValidation" UseMxRecord = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -99,11 +108,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -113,7 +129,9 @@ Configuration Example { Identity = "Contoso Outbound Connector" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOOwaMailboxPolicy.md b/docs/docs/resources/exchange/EXOOwaMailboxPolicy.md index 48446c50ee..b5b36683c3 100644 --- a/docs/docs/resources/exchange/EXOOwaMailboxPolicy.md +++ b/docs/docs/resources/exchange/EXOOwaMailboxPolicy.md @@ -129,9 +129,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -213,7 +221,9 @@ Configuration Example WeatherEnabled = $True WebPartsFrameOptionsType = "SameOrigin" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -228,9 +238,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -312,7 +330,9 @@ Configuration Example WeatherEnabled = $True WebPartsFrameOptionsType = "SameOrigin" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -327,9 +347,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -337,9 +365,11 @@ Configuration Example { EXOOwaMailboxPolicy 'ConfigureOwaMailboxPolicy' { - Name = "OwaMailboxPolicy-Integration" - Ensure = "Absent" - Credential = $Credscredential + Name = "OwaMailboxPolicy-Integration" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOPartnerApplication.md b/docs/docs/resources/exchange/EXOPartnerApplication.md index 171b6139ef..c2a9274372 100644 --- a/docs/docs/resources/exchange/EXOPartnerApplication.md +++ b/docs/docs/resources/exchange/EXOPartnerApplication.md @@ -48,11 +48,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -65,7 +72,9 @@ Configuration Example AcceptSecurityIdentifierInformation = $true Enabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -79,11 +88,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -96,7 +112,9 @@ Configuration Example AcceptSecurityIdentifierInformation = $False # Updated Property Enabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -110,11 +128,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -125,7 +150,9 @@ Configuration Example Name = "HRApp" ApplicationIdentifier = "00000006-0000-0dd1-ac00-000000000000" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOPerimeterConfiguration.md b/docs/docs/resources/exchange/EXOPerimeterConfiguration.md index 7be82338d6..fd4f32630f 100644 --- a/docs/docs/resources/exchange/EXOPerimeterConfiguration.md +++ b/docs/docs/resources/exchange/EXOPerimeterConfiguration.md @@ -44,11 +44,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -59,7 +66,9 @@ Configuration Example IsSingleInstance = 'Yes' #GatewayIPAddresses = '123.0.0.1' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOPlace.md b/docs/docs/resources/exchange/EXOPlace.md index 3871b8b820..ff45da9f80 100644 --- a/docs/docs/resources/exchange/EXOPlace.md +++ b/docs/docs/resources/exchange/EXOPlace.md @@ -65,16 +65,22 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOPlace 'TestPlace' @@ -82,10 +88,12 @@ Configuration Example AudioDeviceName = "MyAudioDevice"; Capacity = 15; City = ""; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DisplayDeviceName = "DisplayDeviceName"; Ensure = 'Present' - Identity = "Hood@$Domain"; + Identity = "Hood@$TenantId"; IsWheelChairAccessible = $True; MTREnabled = $False; ParentType = "None"; @@ -105,16 +113,22 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOPlace 'TestPlace' @@ -122,10 +136,12 @@ Configuration Example AudioDeviceName = "MyAudioDevice"; Capacity = 16; # Updated Property City = ""; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DisplayDeviceName = "DisplayDeviceName"; Ensure = 'Present' - Identity = "Hood@$Domain"; + Identity = "Hood@$TenantId"; IsWheelChairAccessible = $True; MTREnabled = $False; ParentType = "None"; @@ -145,25 +161,33 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOPlace 'TestPlace' { AudioDeviceName = "MyAudioDevice"; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DisplayDeviceName = "DisplayDeviceName"; Ensure = 'Absent' - Identity = "Hood@$Domain"; + Identity = "Hood@$TenantId"; } } } diff --git a/docs/docs/resources/exchange/EXOPolicyTipConfig.md b/docs/docs/resources/exchange/EXOPolicyTipConfig.md index db36152278..8bb48246bd 100644 --- a/docs/docs/resources/exchange/EXOPolicyTipConfig.md +++ b/docs/docs/resources/exchange/EXOPolicyTipConfig.md @@ -44,11 +44,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -59,7 +66,9 @@ Configuration Example Name = "en\NotifyOnly" Value = "This message contains content that is restricted by Contoso company policy." Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -73,11 +82,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -88,7 +104,9 @@ Configuration Example Name = "en\NotifyOnly" Value = "This message contains content that is restricted by Contoso company policy. Updated" # Updated Property Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -102,11 +120,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -117,7 +142,9 @@ Configuration Example Name = "en\NotifyOnly" Value = "This message contains content that is restricted by Contoso company policy. Updated" # Updated Property Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOQuarantinePolicy.md b/docs/docs/resources/exchange/EXOQuarantinePolicy.md index 28bfdad964..063a768b03 100644 --- a/docs/docs/resources/exchange/EXOQuarantinePolicy.md +++ b/docs/docs/resources/exchange/EXOQuarantinePolicy.md @@ -56,23 +56,32 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) $OrganizationName = $Credscredential.UserName.Split('@')[1] Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOQuarantinePolicy 'ConfigureQuarantinePolicy' { EndUserQuarantinePermissionsValue = 87; ESNEnabled = $False; - Identity = "$Domain\IntegrationPolicy"; + Identity = "$TenantId\IntegrationPolicy"; Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -87,9 +96,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) $OrganizationName = $Credscredential.UserName.Split('@')[1] Import-DscResource -ModuleName Microsoft365DSC @@ -101,9 +118,11 @@ Configuration Example { EndUserQuarantinePermissionsValue = 87; ESNEnabled = $True; # Updated Property - Identity = "$Domain\IntegrationPolicy"; + Identity = "$TenantId\IntegrationPolicy"; Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -118,9 +137,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) $OrganizationName = $Credscredential.UserName.Split('@')[1] Import-DscResource -ModuleName Microsoft365DSC @@ -130,9 +157,11 @@ Configuration Example { EXOQuarantinePolicy 'ConfigureQuarantinePolicy' { - Identity = "$Domain\IntegrationPolicy"; + Identity = "$TenantId\IntegrationPolicy"; Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXORecipientPermission.md b/docs/docs/resources/exchange/EXORecipientPermission.md index a4826c215a..94520d12c2 100644 --- a/docs/docs/resources/exchange/EXORecipientPermission.md +++ b/docs/docs/resources/exchange/EXORecipientPermission.md @@ -45,25 +45,33 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXORecipientPermission 'AddSendAs' { - Identity = "AlexW@$Domain" - Trustee = "admin@$Domain" + Identity = "AlexW@$TenantId" + Trustee = "admin@$TenantId" AccessRights = 'SendAs' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -77,25 +85,33 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXORecipientPermission 'AddSendAs' { Identity = 'AdeleV@$Domain' - Trustee = "admin@$Domain" + Trustee = "admin@$TenantId" Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXORemoteDomain.md b/docs/docs/resources/exchange/EXORemoteDomain.md index 7a861c31ba..68d429a45e 100644 --- a/docs/docs/resources/exchange/EXORemoteDomain.md +++ b/docs/docs/resources/exchange/EXORemoteDomain.md @@ -66,9 +66,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -97,7 +105,9 @@ Configuration Example TrustedMailOutboundEnabled = $False UseSimpleDisplayName = $False Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -112,9 +122,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -143,7 +161,9 @@ Configuration Example TrustedMailOutboundEnabled = $False UseSimpleDisplayName = $False Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -158,9 +178,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -170,7 +198,9 @@ Configuration Example { Identity = "Integration" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOReportSubmissionPolicy.md b/docs/docs/resources/exchange/EXOReportSubmissionPolicy.md index 18e09b8021..9e685a4f18 100644 --- a/docs/docs/resources/exchange/EXOReportSubmissionPolicy.md +++ b/docs/docs/resources/exchange/EXOReportSubmissionPolicy.md @@ -68,9 +68,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -91,7 +99,9 @@ Configuration Example ReportNotJunkToCustomizedAddress = $False ReportPhishToCustomizedAddress = $False Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOReportSubmissionRule.md b/docs/docs/resources/exchange/EXOReportSubmissionRule.md index 091855231f..d541c21d72 100644 --- a/docs/docs/resources/exchange/EXOReportSubmissionRule.md +++ b/docs/docs/resources/exchange/EXOReportSubmissionRule.md @@ -47,9 +47,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -62,7 +70,9 @@ Configuration Example Comments = "This is my default rule" SentTo = "submission@contoso.com" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOResourceConfiguration.md b/docs/docs/resources/exchange/EXOResourceConfiguration.md index a31936bbad..a8b78c947d 100644 --- a/docs/docs/resources/exchange/EXOResourceConfiguration.md +++ b/docs/docs/resources/exchange/EXOResourceConfiguration.md @@ -44,11 +44,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -60,7 +67,9 @@ Configuration Example IsSingleInstance = 'Yes' ResourcePropertySchema = @('Room/TV', 'Equipment/Laptop') Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXORoleAssignmentPolicy.md b/docs/docs/resources/exchange/EXORoleAssignmentPolicy.md index 9ed00e0a90..43d6cc6115 100644 --- a/docs/docs/resources/exchange/EXORoleAssignmentPolicy.md +++ b/docs/docs/resources/exchange/EXORoleAssignmentPolicy.md @@ -47,9 +47,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -62,7 +70,9 @@ Configuration Example IsDefault = $True Roles = @("My Marketplace Apps","MyVoiceMail","MyDistributionGroups","MyRetentionPolicies","MyContactInformation","MyBaseOptions","MyTextMessaging","MyDistributionGroupMembership","MyProfileInformation","My Custom Apps","My ReadWriteMailbox Apps") Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -77,9 +87,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -92,7 +110,9 @@ Configuration Example IsDefault = $True Roles = @("My Marketplace Apps","MyVoiceMail","MyDistributionGroups","MyRetentionPolicies","MyContactInformation","MyBaseOptions","MyTextMessaging","MyDistributionGroupMembership","MyProfileInformation","My Custom Apps","My ReadWriteMailbox Apps") Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -107,9 +127,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -121,7 +149,9 @@ Configuration Example IsDefault = $False # Updated Property Roles = @("My Marketplace Apps","MyVoiceMail","MyDistributionGroups","MyRetentionPolicies","MyContactInformation","MyBaseOptions","MyTextMessaging","MyDistributionGroupMembership","MyProfileInformation","My Custom Apps","My ReadWriteMailbox Apps") Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXORoleGroup.md b/docs/docs/resources/exchange/EXORoleGroup.md index e9d4fd8065..3072a3f721 100644 --- a/docs/docs/resources/exchange/EXORoleGroup.md +++ b/docs/docs/resources/exchange/EXORoleGroup.md @@ -46,11 +46,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -63,7 +70,9 @@ Configuration Example Members = @("Exchange Administrator") Roles = @("Address Lists") Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -77,11 +86,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -94,7 +110,9 @@ Configuration Example Members = @("Exchange Administrator") Roles = @("Address Lists") Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -108,11 +126,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -124,7 +149,9 @@ Configuration Example Members = @("Exchange Administrator") Roles = @("Address Lists") Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOSafeAttachmentPolicy.md b/docs/docs/resources/exchange/EXOSafeAttachmentPolicy.md index 11579e4698..066ce2f432 100644 --- a/docs/docs/resources/exchange/EXOSafeAttachmentPolicy.md +++ b/docs/docs/resources/exchange/EXOSafeAttachmentPolicy.md @@ -51,15 +51,21 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOSafeAttachmentPolicy 'ConfigureSafeAttachmentPolicy' @@ -67,9 +73,11 @@ Configuration Example Identity = "Marketing Block Attachments" Enable = $True Redirect = $True - RedirectAddress = "admin@$Domain" + RedirectAddress = "admin@$TenantId" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -83,11 +91,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -99,9 +114,11 @@ Configuration Example Identity = "Marketing Block Attachments" Enable = $False # Updated Property Redirect = $True - RedirectAddress = "admin@$Domain" + RedirectAddress = "admin@$TenantId" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -115,11 +132,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -131,7 +155,9 @@ Configuration Example Identity = "Marketing Block Attachments" Enable = $False # Updated Property Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOSafeAttachmentRule.md b/docs/docs/resources/exchange/EXOSafeAttachmentRule.md index 5516640d52..a976bbd813 100644 --- a/docs/docs/resources/exchange/EXOSafeAttachmentRule.md +++ b/docs/docs/resources/exchange/EXOSafeAttachmentRule.md @@ -53,15 +53,21 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOSafeAttachmentRule 'ConfigureSafeAttachmentRule' @@ -69,11 +75,13 @@ Configuration Example Identity = "Research Department Attachment Rule" Comments = "Applies to Research Department, except managers" Enabled = $True - ExceptIfSentToMemberOf = "Executives@$Domain" + ExceptIfSentToMemberOf = "Executives@$TenantId" SafeAttachmentPolicy = "Marketing Block Attachments" - SentToMemberOf = "LegalTeam@$Domain" + SentToMemberOf = "LegalTeam@$TenantId" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -87,11 +95,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -103,11 +118,13 @@ Configuration Example Identity = "Research Department Attachment Rule" Comments = "Applies to Research Department, except managers" Enabled = $False # Updated Property - ExceptIfSentToMemberOf = "Executives@$Domain" + ExceptIfSentToMemberOf = "Executives@$TenantId" SafeAttachmentPolicy = "Marketing Block Attachments" - SentToMemberOf = "LegalTeam@$Domain" + SentToMemberOf = "LegalTeam@$TenantId" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -121,11 +138,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -139,7 +163,9 @@ Configuration Example SafeAttachmentPolicy = "Marketing Block Attachments" SentToMemberOf = "Research Department" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOSafeLinksPolicy.md b/docs/docs/resources/exchange/EXOSafeLinksPolicy.md index e4c923aa6d..3b23dbd204 100644 --- a/docs/docs/resources/exchange/EXOSafeLinksPolicy.md +++ b/docs/docs/resources/exchange/EXOSafeLinksPolicy.md @@ -58,11 +58,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -78,7 +85,9 @@ Configuration Example EnableSafeLinksForTeams = $True ScanUrls = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -92,11 +101,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -112,7 +128,9 @@ Configuration Example EnableSafeLinksForTeams = $True ScanUrls = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -126,11 +144,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -140,7 +165,9 @@ Configuration Example { Identity = 'Marketing Block URL' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOSafeLinksRule.md b/docs/docs/resources/exchange/EXOSafeLinksRule.md index 5ccd53294f..5fa7c600e1 100644 --- a/docs/docs/resources/exchange/EXOSafeLinksRule.md +++ b/docs/docs/resources/exchange/EXOSafeLinksRule.md @@ -53,15 +53,21 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOSafeLinksRule 'ConfigureSafeLinksRule' @@ -69,11 +75,13 @@ Configuration Example Identity = "Research Department URL Rule" Comments = "Applies to Research Department, except managers" Enabled = $True - ExceptIfSentToMemberOf = "Executives@$Domain" + ExceptIfSentToMemberOf = "Executives@$TenantId" SafeLinksPolicy = "Marketing Block URL" - SentToMemberOf = "LegalTeam@$Domain" + SentToMemberOf = "LegalTeam@$TenantId" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -87,15 +95,21 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOSafeLinksRule 'ConfigureSafeLinksRule' @@ -103,11 +117,13 @@ Configuration Example Identity = "Research Department URL Rule" Comments = "Applies to Research Department, except managers" Enabled = $False # Updated Property - ExceptIfSentToMemberOf = "Executives@$Domain" + ExceptIfSentToMemberOf = "Executives@$TenantId" SafeLinksPolicy = "Marketing Block URL" - SentToMemberOf = "LegalTeam@$Domain" + SentToMemberOf = "LegalTeam@$TenantId" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -121,11 +137,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -138,7 +161,9 @@ Configuration Example Enabled = $False # Updated Property SafeLinksPolicy = "Marketing Block URL" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOSharedMailbox.md b/docs/docs/resources/exchange/EXOSharedMailbox.md index 05118d3172..b8f9df783c 100644 --- a/docs/docs/resources/exchange/EXOSharedMailbox.md +++ b/docs/docs/resources/exchange/EXOSharedMailbox.md @@ -48,23 +48,32 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOSharedMailbox 'SharedMailbox' { DisplayName = "Integration" - PrimarySMTPAddress = "Integration@$Domain" - EmailAddresses = @("IntegrationSM@$Domain") + PrimarySMTPAddress = "Integration@$TenantId" + EmailAddresses = @("IntegrationSM@$TenantId") Alias = "IntegrationSM" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -79,23 +88,32 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOSharedMailbox 'SharedMailbox' { DisplayName = "Integration" - PrimarySMTPAddress = "Integration@$Domain" - EmailAddresses = @("IntegrationSM@$Domain", "IntegrationSM2@$Domain") + PrimarySMTPAddress = "Integration@$TenantId" + EmailAddresses = @("IntegrationSM@$TenantId", "IntegrationSM2@$TenantId") Alias = "IntegrationSM" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -110,9 +128,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -122,11 +148,13 @@ Configuration Example EXOSharedMailbox 'SharedMailbox' { DisplayName = "Integration" - PrimarySMTPAddress = "Integration@$Domain" - EmailAddresses = @("IntegrationSM@$Domain", "IntegrationSM2@$Domain") + PrimarySMTPAddress = "Integration@$TenantId" + EmailAddresses = @("IntegrationSM@$TenantId", "IntegrationSM2@$TenantId") Alias = "IntegrationSM" Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOSharingPolicy.md b/docs/docs/resources/exchange/EXOSharingPolicy.md index 47d213d5ac..2b91d57af1 100644 --- a/docs/docs/resources/exchange/EXOSharingPolicy.md +++ b/docs/docs/resources/exchange/EXOSharingPolicy.md @@ -47,9 +47,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -62,7 +70,9 @@ Configuration Example Domains = @("Anonymous:CalendarSharingFreeBusyReviewer", "*:CalendarSharingFreeBusySimple") Enabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -77,9 +87,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -92,7 +110,9 @@ Configuration Example Domains = @("Anonymous:CalendarSharingFreeBusyReviewer", "*:CalendarSharingFreeBusySimple") Enabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -107,9 +127,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -122,7 +150,9 @@ Configuration Example Domains = @("Anonymous:CalendarSharingFreeBusyReviewer", "*:CalendarSharingFreeBusySimple") Enabled = $True Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOTransportConfig.md b/docs/docs/resources/exchange/EXOTransportConfig.md index 239887b01f..fe43448e3e 100644 --- a/docs/docs/resources/exchange/EXOTransportConfig.md +++ b/docs/docs/resources/exchange/EXOTransportConfig.md @@ -70,9 +70,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -102,7 +110,9 @@ Configuration Example ReplyAllStormProtectionEnabled = $True; Rfc2231EncodingEnabled = $False; SmtpClientAuthenticationDisabled = $True; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/docs/docs/resources/exchange/EXOTransportRule.md b/docs/docs/resources/exchange/EXOTransportRule.md index 4ac253aa5c..3866dd667b 100644 --- a/docs/docs/resources/exchange/EXOTransportRule.md +++ b/docs/docs/resources/exchange/EXOTransportRule.md @@ -210,11 +210,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -224,14 +231,16 @@ Configuration Example EXOTransportRule 'ConfigureTransportRule' { Name = "Ethical Wall - Sales and Executives Departments" - BetweenMemberOf1 = "SalesTeam@$Domain" - BetweenMemberOf2 = "Executives@$Domain" - ExceptIfFrom = "AdeleV@$Domain" + BetweenMemberOf1 = "SalesTeam@$TenantId" + BetweenMemberOf2 = "Executives@$TenantId" + ExceptIfFrom = "AdeleV@$TenantId" ExceptIfSubjectContainsWords = "Press Release","Corporate Communication" RejectMessageReasonText = "Messages sent between the Sales and Brokerage departments are strictly prohibited." Enabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -245,11 +254,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -259,14 +275,16 @@ Configuration Example EXOTransportRule 'ConfigureTransportRule' { Name = "Ethical Wall - Sales and Executives Departments" - BetweenMemberOf1 = "SalesTeam@$Domain" - BetweenMemberOf2 = "Executives@$Domain" - ExceptIfFrom = "AdeleV@$Domain" + BetweenMemberOf1 = "SalesTeam@$TenantId" + BetweenMemberOf2 = "Executives@$TenantId" + ExceptIfFrom = "AdeleV@$TenantId" ExceptIfSubjectContainsWords = "Press Release","Corporate Communication" RejectMessageReasonText = "Messages sent between the Sales and Brokerage departments are strictly prohibited." Enabled = $False # Updated Property Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -280,11 +298,18 @@ It is not meant to use as a production baseline. ```powershell Configuration Example { - param - ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + param( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -295,7 +320,9 @@ Configuration Example Name = "Ethical Wall - Sales and Brokerage Departments" Enabled = $True Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } From 60ad97c799c535a74840b1faa13aad50531cca13 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Tue, 16 Jul 2024 12:51:28 +0000 Subject: [PATCH 085/123] Updated {Create} EXO Integration Tests --- .../M365DSCIntegration.EXO.Create.Tests.ps1 | 266 ++++++++++++------ 1 file changed, 184 insertions(+), 82 deletions(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Create.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Create.Tests.ps1 index 5d0291451f..5549afde13 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Create.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Create.Tests.ps1 @@ -36,11 +36,13 @@ { EXOAcceptedDomain 'O365DSCDomain' { - Identity = $Domain + Identity = $TenantId DomainType = "Authoritative" OutboundOnly = $false Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOActiveSyncDeviceAccessRule 'ConfigureActiveSyncDeviceAccessRule' { @@ -49,7 +51,9 @@ QueryString = "iOS 6.1 10B146" AccessLevel = "Allow" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOAddressBookPolicy 'ConfigureAddressBookPolicy' { @@ -59,7 +63,9 @@ OfflineAddressBook = "\Default Offline Address Book" GlobalAddressList = "\Default Global Address List" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOAddressList 'HRUsersAddressList' { @@ -69,7 +75,9 @@ ConditionalStateOrProvince = "US" IncludedRecipients = "AllRecipients" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOAntiPhishPolicy 'ConfigureAntiphishPolicy' { @@ -94,26 +102,32 @@ EnableUnusualCharactersSafetyTips = $null TargetedUserActionRecipients = $null Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOAntiPhishRule 'ConfigureAntiPhishRule' { Identity = "Test Rule" AntiPhishPolicy = "Our Rule" Enabled = $True - SentToMemberOf = @("executives@$Domain") + SentToMemberOf = @("executives@$TenantId") Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOApplicationAccessPolicy 'ConfigureApplicationAccessPolicy' { Identity = "Integration Policy" AccessRight = "DenyAccess" AppID = '3dbc2ae1-7198-45ed-9f9f-d86ba3ec35b5' - PolicyScopeGroupId = "IntegrationMailEnabled@$Domain" + PolicyScopeGroupId = "IntegrationMailEnabled@$TenantId" Description = "Engineering Group Policy" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOAuthenticationPolicy 'ConfigureAuthenticationPolicy' { @@ -131,14 +145,18 @@ AllowBasicAuthSmtp = $False AllowBasicAuthWebServices = $False Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOAuthenticationPolicyAssignment 'ConfigureAuthenticationPolicyAssignment' { - UserName = "AdeleV@$Domain" + UserName = "AdeleV@$TenantId" AuthenticationPolicyName = "Block Basic Auth" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOAvailabilityAddressSpace 'ConfigureAvailabilityAddressSpace' { @@ -148,13 +166,17 @@ TargetServiceEpr = 'https://contoso.com/autodiscover/autodiscover.xml' TargetTenantId = 'o365dsc.onmicrosoft.com' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOAvailabilityConfig 'ConfigureAvailabilityConfig' { - OrgWideAccount = "adelev@$Domain" + OrgWideAccount = "adelev@$TenantId" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOClientAccessRule 'ConfigureClientAccessRule' { @@ -172,7 +194,9 @@ ExceptAnyOfClientIPAddressesOrRanges = @() AnyOfClientIPAddressesOrRanges = @() Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXODistributionGroup 'DemoDG' { @@ -182,17 +206,19 @@ DisplayName = "My Demo DG"; Ensure = "Present"; HiddenGroupMembershipEnabled = $True; - ManagedBy = @("adeleV@$Domain"); + ManagedBy = @("adeleV@$TenantId"); MemberDepartRestriction = "Open"; MemberJoinRestriction = "Closed"; - ModeratedBy = @("alexW@$Domain"); + ModeratedBy = @("alexW@$TenantId"); ModerationEnabled = $False; Identity = "DemoDG"; Name = "DemoDG"; - PrimarySmtpAddress = "demodg@$Domain"; + PrimarySmtpAddress = "demodg@$TenantId"; RequireSenderAuthenticationEnabled = $True; SendModerationNotifications = "Always"; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXODkimSigningConfig 'ConfigureDKIMSigning' { @@ -208,12 +234,14 @@ EXOEmailAddressPolicy 'ConfigureEmailAddressPolicy' { Name = "Integration Policy" - EnabledEmailAddressTemplates = @("SMTP:@$Domain") - EnabledPrimarySMTPAddressTemplate = "@$Domain" + EnabledEmailAddressTemplates = @("SMTP:@$TenantId") + EnabledPrimarySMTPAddressTemplate = "@$TenantId" ManagedByFilter = "" Priority = 1 Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOGlobalAddressList 'ConfigureGlobalAddressList' { @@ -223,7 +251,9 @@ ConditionalStateOrProvince = "Washington" IncludedRecipients = 'AllRecipients' Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOHostedContentFilterPolicy 'ConfigureHostedContentFilterPolicy' { @@ -267,18 +297,22 @@ TestModeAction = "None" TestModeBccToRecipients = @() Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOHostedContentFilterRule 'ConfigureHostedContentFilterRule' { Identity = "Integration CFR" Comments = "Applies to all users, except when member of HR group" Enabled = $True - ExceptIfSentToMemberOf = "LegalTeam@$Domain" + ExceptIfSentToMemberOf = "LegalTeam@$TenantId" RecipientDomainIs = @('contoso.com') HostedContentFilterPolicy = "Integration CFP" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOHostedOutboundSpamFilterPolicy 'HostedOutboundSpamFilterPolicy' { @@ -294,18 +328,22 @@ RecipientLimitInternalPerHour = 0 RecipientLimitPerDay = 0 Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOHostedOutboundSpamFilterRule 'ConfigureHostedOutboundSpamFilterRule' { Identity = "Contoso Executives" Comments = "Does not apply to Executives" Enabled = $True - ExceptIfFrom = "AdeleV@$Domain" - FromMemberOf = "Executives@$Domain" + ExceptIfFrom = "AdeleV@$TenantId" + FromMemberOf = "Executives@$TenantId" HostedOutboundSpamFilterPolicy = "Integration SFP" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOInboundConnector 'ConfigureInboundConnector' { @@ -319,7 +357,9 @@ SenderDomains = "*.contoso.com" TlsSenderCertificateName = "contoso.com" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOIntraOrganizationConnector 'ConfigureIntraOrganizationConnector' { @@ -328,21 +368,24 @@ TargetAddressDomains = "Cloud1.contoso.com","Cloud2.contoso.com" Enabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOJournalRule 'CreateJournalRule' { Enabled = $True - JournalEmailAddress = "AdeleV@$Domain" + JournalEmailAddress = "AdeleV@$TenantId" Name = "Send to Adele" RuleScope = "Global" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOMailContact 'TestMailContact' { Alias = 'TestMailContact' - Credential = $Credscredential DisplayName = 'My Test Contact' Ensure = 'Present' ExternalEmailAddress = 'SMTP:test@tailspintoys.com' @@ -352,11 +395,14 @@ ModeratedBy = @() ModerationEnabled = $false Name = 'My Test Contact' - OrganizationalUnit = $Domain + OrganizationalUnit = $TenantId SendModerationNotifications = 'Always' UsePreferMessageFormat = $true CustomAttribute1 = 'Custom Value 1' ExtensionCustomAttribute5 = 'Extension Custom Value 1', 'Extension Custom Value 2' + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOMailTips 'OrgWideMailTips' { @@ -367,7 +413,9 @@ MailTipsMailboxSourcedTipsEnabled = $True MailTipsExternalRecipientsTipsEnabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOMalwareFilterPolicy 'ConfigureMalwareFilterPolicy' { @@ -381,7 +429,9 @@ QuarantineTag = "AdminOnlyAccessPolicy" ZapEnabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOMalwareFilterRule 'ConfigureMalwareFilterRule' { @@ -391,23 +441,29 @@ Enabled = $True RecipientDomainIs = "contoso.com" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOManagementRole 'ConfigureManagementRole' { Name = "MyDisplayName" Description = "" - Parent = "$Domain\MyProfileInformation" + Parent = "$TenantId\MyProfileInformation" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOManagementRoleAssignment 'AssignManagementRole' { - Credential = $credsCredential; Ensure = "Present"; Name = "MyManagementRoleAssignment"; Role = "UserApplication"; - User = "AdeleV@$Domain"; + User = "AdeleV@$TenantId"; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOMessageClassification 'ConfigureMessageClassification' { @@ -420,7 +476,9 @@ SenderDescription = "Shown to senders" RetainClassificationEnabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOMobileDeviceMailboxPolicy 'ConfigureMobileDeviceMailboxPolicy' { @@ -479,7 +537,9 @@ UNCAccessEnabled = $True WSSAccessEnabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOOfflineAddressBook 'ConfigureOfflineAddressBook' { @@ -488,7 +548,9 @@ DiffRetentionPeriod = "30" IsDefault = $true Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOOMEConfiguration 'ConfigureOMEConfiguration' { @@ -502,7 +564,9 @@ PortalText = "This portal is encrypted." SocialIdSignIn = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOOnPremisesOrganization 'ConfigureOnPremisesOrganization' { @@ -514,7 +578,9 @@ OrganizationName = 'O365DSC' OutboundConnector = 'Contoso Outbound Connector' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DependsOn = "[EXOOutboundConnector]OutboundDependency" } EXOOutboundConnector 'OutboundDependency' @@ -533,7 +599,9 @@ TlsSettings = "DomainValidation" UseMxRecord = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOOrganizationRelationship 'ConfigureOrganizationRelationship' { @@ -551,7 +619,9 @@ TargetApplicationUri = "mail.contoso.com" TargetAutodiscoverEpr = "https://mail.contoso.com/autodiscover/autodiscover.svc/wssecurity" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOOwaMailboxPolicy 'ConfigureOwaMailboxPolicy' { @@ -629,7 +699,9 @@ WeatherEnabled = $True WebPartsFrameOptionsType = "SameOrigin" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOPartnerApplication 'ConfigurePartnerApplication' { @@ -638,17 +710,21 @@ AcceptSecurityIdentifierInformation = $true Enabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOPlace 'TestPlace' { AudioDeviceName = "MyAudioDevice"; Capacity = 15; City = ""; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DisplayDeviceName = "DisplayDeviceName"; Ensure = 'Present' - Identity = "Hood@$Domain"; + Identity = "Hood@$TenantId"; IsWheelChairAccessible = $True; MTREnabled = $False; ParentType = "None"; @@ -661,23 +737,29 @@ Name = "en\NotifyOnly" Value = "This message contains content that is restricted by Contoso company policy." Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOQuarantinePolicy 'ConfigureQuarantinePolicy' { EndUserQuarantinePermissionsValue = 87; ESNEnabled = $False; - Identity = "$Domain\IntegrationPolicy"; + Identity = "$TenantId\IntegrationPolicy"; Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXORecipientPermission 'AddSendAs' { - Identity = "AlexW@$Domain" - Trustee = "admin@$Domain" + Identity = "AlexW@$TenantId" + Trustee = "admin@$TenantId" AccessRights = 'SendAs' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXORemoteDomain '583b0b70-b45d-401f-98a6-0e7fa8434946' { @@ -702,7 +784,9 @@ TrustedMailOutboundEnabled = $False UseSimpleDisplayName = $False Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXORoleAssignmentPolicy 'ConfigureRoleAssignmentPolicy' { @@ -711,7 +795,9 @@ IsDefault = $True Roles = @("My Marketplace Apps","MyVoiceMail","MyDistributionGroups","MyRetentionPolicies","MyContactInformation","MyBaseOptions","MyTextMessaging","MyDistributionGroupMembership","MyProfileInformation","My Custom Apps","My ReadWriteMailbox Apps") Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXORoleGroup 'ConfigureRoleGroup' { @@ -720,27 +806,33 @@ Members = @("Exchange Administrator") Roles = @("Address Lists") Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOSafeAttachmentPolicy 'ConfigureSafeAttachmentPolicy' { Identity = "Marketing Block Attachments" Enable = $True Redirect = $True - RedirectAddress = "admin@$Domain" + RedirectAddress = "admin@$TenantId" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOSafeAttachmentRule 'ConfigureSafeAttachmentRule' { Identity = "Research Department Attachment Rule" Comments = "Applies to Research Department, except managers" Enabled = $True - ExceptIfSentToMemberOf = "Executives@$Domain" + ExceptIfSentToMemberOf = "Executives@$TenantId" SafeAttachmentPolicy = "Marketing Block Attachments" - SentToMemberOf = "LegalTeam@$Domain" + SentToMemberOf = "LegalTeam@$TenantId" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOSafeLinksPolicy 'ConfigureSafeLinksPolicy' { @@ -752,27 +844,33 @@ EnableSafeLinksForTeams = $True ScanUrls = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOSafeLinksRule 'ConfigureSafeLinksRule' { Identity = "Research Department URL Rule" Comments = "Applies to Research Department, except managers" Enabled = $True - ExceptIfSentToMemberOf = "Executives@$Domain" + ExceptIfSentToMemberOf = "Executives@$TenantId" SafeLinksPolicy = "Marketing Block URL" - SentToMemberOf = "LegalTeam@$Domain" + SentToMemberOf = "LegalTeam@$TenantId" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOSharedMailbox 'SharedMailbox' { DisplayName = "Integration" - PrimarySMTPAddress = "Integration@$Domain" - EmailAddresses = @("IntegrationSM@$Domain") + PrimarySMTPAddress = "Integration@$TenantId" + EmailAddresses = @("IntegrationSM@$TenantId") Alias = "IntegrationSM" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOSharingPolicy 'ConfigureSharingPolicy' { @@ -781,19 +879,23 @@ Domains = @("Anonymous:CalendarSharingFreeBusyReviewer", "*:CalendarSharingFreeBusySimple") Enabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOTransportRule 'ConfigureTransportRule' { Name = "Ethical Wall - Sales and Executives Departments" - BetweenMemberOf1 = "SalesTeam@$Domain" - BetweenMemberOf2 = "Executives@$Domain" - ExceptIfFrom = "AdeleV@$Domain" + BetweenMemberOf1 = "SalesTeam@$TenantId" + BetweenMemberOf2 = "Executives@$TenantId" + ExceptIfFrom = "AdeleV@$TenantId" ExceptIfSubjectContainsWords = "Press Release","Corporate Communication" RejectMessageReasonText = "Messages sent between the Sales and Brokerage departments are strictly prohibited." Enabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } From e4197e818b59ddb380a72d4fc6eca6035493a38d Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Tue, 16 Jul 2024 12:51:54 +0000 Subject: [PATCH 086/123] Updated {Update} EXO Integration Tests --- .../M365DSCIntegration.EXO.Update.Tests.ps1 | 382 +++++++++++++----- 1 file changed, 271 insertions(+), 111 deletions(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Update.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Update.Tests.ps1 index 8b35477834..77b81b37c4 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Update.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Update.Tests.ps1 @@ -1,30 +1,48 @@ param ( [Parameter()] - [System.Management.Automation.PSCredential] - $Credential + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Configuration Master { param ( - [Parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] + $Domain = $TenantId Node Localhost { EXOAcceptedDomain 'O365DSCDomain' { - Identity = $Domain + Identity = $TenantId DomainType = "Authoritative" OutboundOnly = $true # Updated Property Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOActiveSyncDeviceAccessRule 'ConfigureActiveSyncDeviceAccessRule' { @@ -33,7 +51,9 @@ QueryString = "iOS 6.1 10B145" AccessLevel = "Allow" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOAddressBookPolicy 'ConfigureAddressBookPolicy' { @@ -43,7 +63,9 @@ OfflineAddressBook = "\Default Offline Address Book" GlobalAddressList = "\Default Global Address List" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOAddressList 'HRUsersAddressList' { @@ -53,7 +75,9 @@ ConditionalStateOrProvince = "US" IncludedRecipients = "AllRecipients" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOAntiPhishPolicy 'ConfigureAntiphishPolicy' { @@ -78,7 +102,9 @@ EnableUnusualCharactersSafetyTips = $null TargetedUserActionRecipients = $null Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOAntiPhishRule 'ConfigureAntiPhishRule' { @@ -86,26 +112,32 @@ Comments = "This is an updated comment." # Updated Property AntiPhishPolicy = "Our Rule" Enabled = $True - SentToMemberOf = @("executives@$Domain") + SentToMemberOf = @("executives@$TenantId") Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOApplicationAccessPolicy 'ConfigureApplicationAccessPolicy' { Identity = "Integration Policy" AccessRight = "DenyAccess" AppID = '3dbc2ae1-7198-45ed-9f9f-d86ba3ec35b5' - PolicyScopeGroupId = "IntegrationMailEnabled@$Domain" + PolicyScopeGroupId = "IntegrationMailEnabled@$TenantId" Description = "Engineering Group Policy Updated" # Updated Property Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOAtpPolicyForO365 'ConfigureAntiPhishPolicy' { IsSingleInstance = "Yes" EnableATPForSPOTeamsODB = $true Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOAuthenticationPolicy 'ConfigureAuthenticationPolicy' { @@ -123,7 +155,9 @@ AllowBasicAuthSmtp = $False AllowBasicAuthWebServices = $False Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOAvailabilityAddressSpace 'ConfigureAvailabilityAddressSpace' { @@ -133,13 +167,17 @@ TargetServiceEpr = 'https://contoso.com/autodiscover/autodiscover.xml' TargetTenantId = 'contoso.onmicrosoft.com' # Updated Property Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOAvailabilityConfig 'ConfigureAvailabilityConfig' { - OrgWideAccount = "alexW@$Domain" # Updated Property + OrgWideAccount = "alexW@$TenantId" # Updated Property Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOCalendarProcessing 'CalendarProcessing' { @@ -156,7 +194,6 @@ BookingWindowInDays = 180; BookInPolicy = @(); ConflictPercentageAllowed = 0; - Credential = $credsCredential; DeleteAttachments = $True; DeleteComments = $True; DeleteNonCalendarItems = $True; @@ -167,7 +204,7 @@ EnforceSchedulingHorizon = $True; Ensure = "Present"; ForwardRequestsToDelegates = $True; - Identity = "admin@$Domain"; + Identity = "admin@$TenantId"; MaximumConflictInstances = 0; MaximumDurationInMinutes = 1440; MinimumDurationInMinutes = 0; @@ -178,10 +215,13 @@ RemoveForwardedMeetingNotifications = $False; RemoveOldMeetingMessages = $False; RemovePrivateProperty = $True; - RequestInPolicy = @("AlexW@$Domain"); + RequestInPolicy = @("AlexW@$TenantId"); ResourceDelegates = @(); ScheduleOnlyDuringWorkHours = $False; TentativePendingApproval = $True; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOCASMailboxPlan 'ConfigureCASMailboxPlan' { @@ -191,7 +231,9 @@ Identity = 'ExchangeOnlineEnterprise' ImapEnabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOCASMailboxSettings 'AdeleVCasMailboxSettings' { @@ -202,7 +244,7 @@ ActiveSyncMailboxPolicy = 'Default' ActiveSyncSuppressReadReceipt = $False EwsEnabled = $True - Identity = "admin@$Domain" + Identity = "admin@$TenantId" ImapEnabled = $True # Updated Property ImapForceICalForCalendarRetrievalOption = $False ImapMessagesRetrievalMimeFormat = 'BestBodyFormat' @@ -223,7 +265,9 @@ ShowGalAsDefaultView = $True UniversalOutlookEnabled = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOClientAccessRule 'ConfigureClientAccessRule' { @@ -241,7 +285,9 @@ ExceptAnyOfClientIPAddressesOrRanges = @() AnyOfClientIPAddressesOrRanges = @() Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXODataClassification 'ConfigureDataClassification' { @@ -251,7 +297,9 @@ IsDefault = $True; Locale = "en-US"; Name = "Canada Social Insurance Number"; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXODistributionGroup 'DemoDG' { @@ -261,17 +309,19 @@ DisplayName = "My Demo DG"; Ensure = "Present"; HiddenGroupMembershipEnabled = $True; - ManagedBy = @("adeleV@$Domain"); + ManagedBy = @("adeleV@$TenantId"); MemberDepartRestriction = "Open"; MemberJoinRestriction = "Closed"; - ModeratedBy = @("alexW@$Domain"); + ModeratedBy = @("alexW@$TenantId"); ModerationEnabled = $False; Identity = "DemoDG"; Name = "DemoDG"; - PrimarySmtpAddress = "demodg@$Domain"; + PrimarySmtpAddress = "demodg@$TenantId"; RequireSenderAuthenticationEnabled = $True; SendModerationNotifications = "Always"; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXODkimSigningConfig 'ConfigureDKIMSigning' { @@ -287,12 +337,14 @@ EXOEmailAddressPolicy 'ConfigureEmailAddressPolicy' { Name = "Integration Policy" - EnabledEmailAddressTemplates = @("SMTP:@$Domain") - EnabledPrimarySMTPAddressTemplate = "@$Domain" + EnabledEmailAddressTemplates = @("SMTP:@$TenantId") + EnabledPrimarySMTPAddressTemplate = "@$TenantId" ManagedByFilter = "Department -eq 'Sales'" # Updated Property Priority = 1 Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOGlobalAddressList 'ConfigureGlobalAddressList' { @@ -301,7 +353,9 @@ ConditionalDepartment = "Finances" # Updated Property ConditionalStateOrProvince = "Washington" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOGroupSettings 'TestGroup' { @@ -312,7 +366,6 @@ AutoSubscribeNewMembers = $False; CalendarMemberReadOnly = $False; ConnectorsEnabled = $False; # Updated Property - Credential = $Credscredential; HiddenFromAddressListsEnabled = $True; HiddenFromExchangeClientsEnabled = $True; InformationBarrierMode = "Open"; @@ -321,9 +374,12 @@ MaxSendSize = "35 MB (36,700,160 bytes)"; ModerationEnabled = $False; Notes = "My Notes"; - PrimarySmtpAddress = "TestGroup@$Domain"; + PrimarySmtpAddress = "TestGroup@$TenantId"; RequireSenderAuthenticationEnabled = $True; SubscriptionEnabled = $False; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOHostedConnectionFilterPolicy 'ConfigureHostedConnectionFilterPolicy' { @@ -334,7 +390,9 @@ IPBlockList = @() MakeDefault = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOHostedContentFilterPolicy 'ConfigureHostedContentFilterPolicy' { @@ -378,18 +436,22 @@ TestModeAction = "None" TestModeBccToRecipients = @() Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOHostedContentFilterRule 'ConfigureHostedContentFilterRule' { Identity = "Integration CFR" Comments = "Applies to all users, except when member of HR group" Enabled = $False # Updated Property - ExceptIfSentToMemberOf = "LegalTeam@$Domain" + ExceptIfSentToMemberOf = "LegalTeam@$TenantId" RecipientDomainIs = @('contoso.com') HostedContentFilterPolicy = "Integration CFP" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOHostedOutboundSpamFilterPolicy 'HostedOutboundSpamFilterPolicy' { @@ -405,18 +467,22 @@ RecipientLimitInternalPerHour = 1 # Updated Property RecipientLimitPerDay = 0 Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOHostedOutboundSpamFilterRule 'ConfigureHostedOutboundSpamFilterRule' { Identity = "Contoso Executives" Comments = "Does not apply to Executives" Enabled = $False # Updated Property - ExceptIfFrom = "AdeleV@$Domain" - FromMemberOf = "Executives@$Domain" + ExceptIfFrom = "AdeleV@$TenantId" + FromMemberOf = "Executives@$TenantId" HostedOutboundSpamFilterPolicy = "Integration SFP" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOInboundConnector 'ConfigureInboundConnector' { @@ -430,7 +496,9 @@ SenderDomains = "*.contoso.com" TlsSenderCertificateName = "contoso.com" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOIntraOrganizationConnector 'ConfigureIntraOrganizationConnector' { @@ -439,7 +507,9 @@ TargetAddressDomains = "Cloud1.contoso.com","Cloud2.contoso.com" Enabled = $False # Updated Property Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOIRMConfiguration 'ConfigureIRMConfiguration' { @@ -458,23 +528,26 @@ SimplifiedClientAccessEncryptOnlyDisabled = $True TransportDecryptionSetting = 'Mandatory' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOJournalRule 'CreateJournalRule' { Enabled = $False # Updated Property - JournalEmailAddress = "AdeleV@$Domain" + JournalEmailAddress = "AdeleV@$TenantId" Name = "Send to Adele" RuleScope = "Global" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOMailboxAutoReplyConfiguration 'EXOMailboxAutoReplyConfiguration' { AutoDeclineFutureRequestsWhenOOF = $False; AutoReplyState = "Disabled"; CreateOOFEvent = $False; - Credential = $Credscredential; DeclineAllEventsForScheduledOOF = $False; DeclineEventsForScheduledOOF = $False; DeclineMeetingMessage = ""; @@ -482,31 +555,38 @@ Ensure = "Present"; ExternalAudience = "All"; ExternalMessage = (New-Guid).ToString(); # Updated Property - Identity = "AdeleV@$Domain"; + Identity = "AdeleV@$TenantId"; InternalMessage = ""; OOFEventSubject = ""; StartTime = "1/22/2024 3:00:00 PM"; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOMailboxCalendarFolder 'JohnCalendarFolder' { - Credential = $credsCredential; DetailLevel = "AvailabilityOnly"; Ensure = "Present"; - Identity = "AlexW@$Domain" + ":\Calendar"; + Identity = "AlexW@$TenantId" + ":\Calendar"; PublishDateRangeFrom = "ThreeMonths"; PublishDateRangeTo = "ThreeMonths"; PublishEnabled = $True; # Updated Property SearchableUrlEnabled = $False; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOMailboxPermission 'TestPermission' { AccessRights = @("FullAccess","ReadPermission"); - Credential = $credsCredential; Deny = $True; # Updated Property Ensure = "Present"; - Identity = "AlexW@$Domain"; + Identity = "AlexW@$TenantId"; InheritanceType = "All"; User = "NT AUTHORITY\SELF"; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOMailboxPlan 'ConfigureMailboxPlan' { @@ -519,7 +599,9 @@ ProhibitSendReceiveQuota = "15 GB (16,106,127,360 bytes)"; # Updated Property RetainDeletedItemsFor = "14.00:00:00"; RoleAssignmentPolicy = "Default Role Assignment Policy"; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOMailboxSettings 'OttawaTeamMailboxSettings' { @@ -527,12 +609,13 @@ TimeZone = 'Eastern Standard Time' Locale = 'en-US' # Updated Property Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOMailContact 'TestMailContact' { Alias = 'TestMailContact' - Credential = $Credscredential DisplayName = 'My Test Contact' Ensure = 'Present' ExternalEmailAddress = 'SMTP:test@tailspintoys.com' @@ -542,22 +625,27 @@ ModeratedBy = @() ModerationEnabled = $false Name = 'My Test Contact' - OrganizationalUnit = $Domain + OrganizationalUnit = $TenantId SendModerationNotifications = 'Always' UsePreferMessageFormat = $false # Updated Property CustomAttribute1 = 'Custom Value 1' ExtensionCustomAttribute5 = 'Extension Custom Value 1', 'Extension Custom Value 2' + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOMailTips 'OrgWideMailTips' { - Organization = $Domain + IsSingleInstance = 'Yes' MailTipsAllTipsEnabled = $True MailTipsGroupMetricsEnabled = $False # Updated Property MailTipsLargeAudienceThreshold = 100 MailTipsMailboxSourcedTipsEnabled = $True MailTipsExternalRecipientsTipsEnabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOMalwareFilterPolicy 'ConfigureMalwareFilterPolicy' { @@ -571,7 +659,9 @@ QuarantineTag = "AdminOnlyAccessPolicy" ZapEnabled = $False # Updated Property Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOMalwareFilterRule 'ConfigureMalwareFilterRule' { @@ -581,23 +671,37 @@ Enabled = $False # Updated Property RecipientDomainIs = "contoso.com" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOManagementRole 'ConfigureManagementRole' { Name = "MyDisplayName" Description = "Updated Description" # Updated Property - Parent = "$Domain\MyProfileInformation" + Parent = "$TenantId\MyProfileInformation" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOManagementRoleAssignment 'AssignManagementRole' { - Credential = $credsCredential; Ensure = "Present"; Name = "MyManagementRoleAssignment"; Role = "UserApplication"; - User = "AlexW@$Domain"; # Updated Property + User = "AlexW@$TenantId"; # Updated Property + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOManagementRoleEntry 'UpdateRoleEntry' + { + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + Identity = "Information Rights Management\Get-BookingMailbox" + Parameters = @("ANR","RecipientTypeDetails", "ResultSize") } EXOMessageClassification 'ConfigureMessageClassification' { @@ -610,7 +714,9 @@ SenderDescription = "Shown to senders" RetainClassificationEnabled = $False # Updated Property Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOMobileDeviceMailboxPolicy 'ConfigureMobileDeviceMailboxPolicy' { @@ -669,7 +775,9 @@ UNCAccessEnabled = $True WSSAccessEnabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOOfflineAddressBook 'ConfigureOfflineAddressBook' { @@ -678,7 +786,9 @@ DiffRetentionPeriod = "60" # Updated Property IsDefault = $true Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOOMEConfiguration 'ConfigureOMEConfiguration' { @@ -692,7 +802,9 @@ PortalText = "This portal is encrypted." SocialIdSignIn = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOOnPremisesOrganization 'ConfigureOnPremisesOrganization' { @@ -704,7 +816,9 @@ OrganizationName = 'O365DSC' OutboundConnector = 'Contoso Outbound Connector' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOOrganizationConfig 'EXOOrganizationConfig' { @@ -769,7 +883,9 @@ AutoExpandingArchive = $null ConnectorsEnabledForSharepoint = $True ReadTrackingEnabled = $False - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOOrganizationRelationship 'ConfigureOrganizationRelationship' { @@ -787,7 +903,9 @@ TargetApplicationUri = "mail.contoso.com" TargetAutodiscoverEpr = "https://mail.contoso.com/autodiscover/autodiscover.svc/wssecurity" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOOutboundConnector 'ConfigureOutboundConnector' { @@ -805,7 +923,9 @@ TlsSettings = "DomainValidation" UseMxRecord = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOOwaMailboxPolicy 'ConfigureOwaMailboxPolicy' { @@ -883,7 +1003,9 @@ WeatherEnabled = $True WebPartsFrameOptionsType = "SameOrigin" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOPartnerApplication 'ConfigurePartnerApplication' { @@ -892,24 +1014,30 @@ AcceptSecurityIdentifierInformation = $False # Updated Property Enabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOPerimeterConfiguration 'ConfigurePerimeterConfiguration' { IsSingleInstance = 'Yes' #GatewayIPAddresses = '123.0.0.1' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOPlace 'TestPlace' { AudioDeviceName = "MyAudioDevice"; Capacity = 16; # Updated Property City = ""; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint DisplayDeviceName = "DisplayDeviceName"; Ensure = 'Present' - Identity = "Hood@$Domain"; + Identity = "Hood@$TenantId"; IsWheelChairAccessible = $True; MTREnabled = $False; ParentType = "None"; @@ -922,15 +1050,19 @@ Name = "en\NotifyOnly" Value = "This message contains content that is restricted by Contoso company policy. Updated" # Updated Property Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOQuarantinePolicy 'ConfigureQuarantinePolicy' { EndUserQuarantinePermissionsValue = 87; ESNEnabled = $True; # Updated Property - Identity = "$Domain\IntegrationPolicy"; + Identity = "$TenantId\IntegrationPolicy"; Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXORemoteDomain '583b0b70-b45d-401f-98a6-0e7fa8434946' { @@ -955,7 +1087,9 @@ TrustedMailOutboundEnabled = $False UseSimpleDisplayName = $False Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOReportSubmissionPolicy 'ConfigureReportSubmissionPolicy' { @@ -972,7 +1106,9 @@ ReportNotJunkToCustomizedAddress = $False ReportPhishToCustomizedAddress = $False Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOReportSubmissionRule 'ConfigureReportSubmissionRule' { @@ -981,14 +1117,18 @@ Comments = "This is my default rule" SentTo = "submission@contoso.com" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOResourceConfiguration 'ConfigureResourceConfiguration' { IsSingleInstance = 'Yes' ResourcePropertySchema = @('Room/TV', 'Equipment/Laptop') Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXORoleAssignmentPolicy 'ConfigureRoleAssignmentPolicy' { @@ -997,7 +1137,9 @@ IsDefault = $True Roles = @("My Marketplace Apps","MyVoiceMail","MyDistributionGroups","MyRetentionPolicies","MyContactInformation","MyBaseOptions","MyTextMessaging","MyDistributionGroupMembership","MyProfileInformation","My Custom Apps","My ReadWriteMailbox Apps") Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXORoleGroup 'ConfigureRoleGroup' { @@ -1006,27 +1148,33 @@ Members = @("Exchange Administrator") Roles = @("Address Lists") Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOSafeAttachmentPolicy 'ConfigureSafeAttachmentPolicy' { Identity = "Marketing Block Attachments" Enable = $False # Updated Property Redirect = $True - RedirectAddress = "admin@$Domain" + RedirectAddress = "admin@$TenantId" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOSafeAttachmentRule 'ConfigureSafeAttachmentRule' { Identity = "Research Department Attachment Rule" Comments = "Applies to Research Department, except managers" Enabled = $False # Updated Property - ExceptIfSentToMemberOf = "Executives@$Domain" + ExceptIfSentToMemberOf = "Executives@$TenantId" SafeAttachmentPolicy = "Marketing Block Attachments" - SentToMemberOf = "LegalTeam@$Domain" + SentToMemberOf = "LegalTeam@$TenantId" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOSafeLinksPolicy 'ConfigureSafeLinksPolicy' { @@ -1038,27 +1186,33 @@ EnableSafeLinksForTeams = $True ScanUrls = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOSafeLinksRule 'ConfigureSafeLinksRule' { Identity = "Research Department URL Rule" Comments = "Applies to Research Department, except managers" Enabled = $False # Updated Property - ExceptIfSentToMemberOf = "Executives@$Domain" + ExceptIfSentToMemberOf = "Executives@$TenantId" SafeLinksPolicy = "Marketing Block URL" - SentToMemberOf = "LegalTeam@$Domain" + SentToMemberOf = "LegalTeam@$TenantId" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOSharedMailbox 'SharedMailbox' { DisplayName = "Integration" - PrimarySMTPAddress = "Integration@$Domain" - EmailAddresses = @("IntegrationSM@$Domain", "IntegrationSM2@$Domain") + PrimarySMTPAddress = "Integration@$TenantId" + EmailAddresses = @("IntegrationSM@$TenantId", "IntegrationSM2@$TenantId") Alias = "IntegrationSM" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOSharingPolicy 'ConfigureSharingPolicy' { @@ -1067,7 +1221,9 @@ Domains = @("Anonymous:CalendarSharingFreeBusyReviewer", "*:CalendarSharingFreeBusySimple") Enabled = $True Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOTransportConfig 'EXOTransportConfig ' { @@ -1093,19 +1249,23 @@ ReplyAllStormProtectionEnabled = $True; Rfc2231EncodingEnabled = $False; SmtpClientAuthenticationDisabled = $True; - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOTransportRule 'ConfigureTransportRule' { Name = "Ethical Wall - Sales and Executives Departments" - BetweenMemberOf1 = "SalesTeam@$Domain" - BetweenMemberOf2 = "Executives@$Domain" - ExceptIfFrom = "AdeleV@$Domain" + BetweenMemberOf1 = "SalesTeam@$TenantId" + BetweenMemberOf2 = "Executives@$TenantId" + ExceptIfFrom = "AdeleV@$TenantId" ExceptIfSubjectContainsWords = "Press Release","Corporate Communication" RejectMessageReasonText = "Messages sent between the Sales and Brokerage departments are strictly prohibited." Enabled = $False # Updated Property Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -1122,7 +1282,7 @@ # Compile and deploy configuration try { - Master -ConfigurationData $ConfigurationData -Credscredential $Credential + Master -ConfigurationData $ConfigurationData -ApplicationId $ApplicationId -TenantId $TenantId -CertificateThumbprint $CertificateThumbprint Start-DscConfiguration Master -Wait -Force -Verbose -ErrorAction Stop } catch From 8d75092acb8757a0a2d372e480060304745936a3 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Tue, 16 Jul 2024 12:52:13 +0000 Subject: [PATCH 087/123] Updated {Update} EXO Integration Tests --- .../M365DSCIntegration.EXO.Remove.Tests.ps1 | 567 ++++++++++++++++++ 1 file changed, 567 insertions(+) create mode 100644 Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Remove.Tests.ps1 diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Remove.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Remove.Tests.ps1 new file mode 100644 index 0000000000..f46628fe06 --- /dev/null +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Remove.Tests.ps1 @@ -0,0 +1,567 @@ + param + ( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint + ) + + Configuration Master + { + param + ( + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint + ) + + Import-DscResource -ModuleName Microsoft365DSC + $Domain = $TenantId + Node Localhost + { + EXOAcceptedDomain 'O365DSCDomain' + { + Identity = $TenantId + DomainType = "Authoritative" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOActiveSyncDeviceAccessRule 'ConfigureActiveSyncDeviceAccessRule' + { + Identity = "ContosoPhone(DeviceOS)" + Characteristic = "DeviceModel" # Updated Property + QueryString = "iOS 6.1 10B145" + AccessLevel = "Allow" + Ensure = "Present" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOAddressBookPolicy 'ConfigureAddressBookPolicy' + { + Name = "All Fabrikam ABP" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOAddressList 'HRUsersAddressList' + { + Name = "HR Users" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOAntiPhishPolicy 'ConfigureAntiphishPolicy' + { + Identity = "Our Rule" + MakeDefault = $null + PhishThresholdLevel = 2 # Updated Property + EnableTargetedDomainsProtection = $null + Enabled = $null + TargetedDomainsToProtect = $null + EnableSimilarUsersSafetyTips = $null + ExcludedDomains = $null + TargetedDomainActionRecipients = $null + EnableMailboxIntelligence = $null + EnableSimilarDomainsSafetyTips = $null + AdminDisplayName = "" + AuthenticationFailAction = "MoveToJmf" + TargetedUserProtectionAction = "NoAction" + TargetedUsersToProtect = $null + EnableTargetedUserProtection = $null + ExcludedSenders = $null + EnableOrganizationDomainsProtection = $null + EnableUnusualCharactersSafetyTips = $null + TargetedUserActionRecipients = $null + Ensure = "Present" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOAntiPhishRule 'ConfigureAntiPhishRule' + { + Identity = "Test Rule" + AntiPhishPolicy = "Our Rule" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOApplicationAccessPolicy 'ConfigureApplicationAccessPolicy' + { + Identity = "Integration Policy" + AppID = '3dbc2ae1-7198-45ed-9f9f-d86ba3ec35b5' + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOAuthenticationPolicy 'ConfigureAuthenticationPolicy' + { + Identity = "Block Basic Auth" + AllowBasicAuthActiveSync = $False + AllowBasicAuthAutodiscover = $False + AllowBasicAuthImap = $False + AllowBasicAuthMapi = $True # Updated Property + AllowBasicAuthOfflineAddressBook = $False + AllowBasicAuthOutlookService = $False + AllowBasicAuthPop = $False + AllowBasicAuthPowerShell = $False + AllowBasicAuthReportingWebServices = $False + AllowBasicAuthRpc = $False + AllowBasicAuthSmtp = $False + AllowBasicAuthWebServices = $False + Ensure = "Present" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOAuthenticationPolicyAssignment 'ConfigureAuthenticationPolicyAssignment' + { + UserName = "AdeleV@$TenantId" + AuthenticationPolicyName = "Test Policy" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOAvailabilityAddressSpace 'ConfigureAvailabilityAddressSpace' + { + Identity = 'Contoso.com' + Ensure = 'Absent' + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOAvailabilityConfig 'ConfigureAvailabilityConfig' + { + OrgWideAccount = "alexW@$TenantId" # Updated Property + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOClientAccessRule 'ConfigureClientAccessRule' + { + Action = "AllowAccess" + Identity = "Always Allow Remote PowerShell" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXODataEncryptionPolicy 'ConfigureDataEncryptionPolicy' + { + Identity = 'US Mailboxes' + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXODistributionGroup 'DemoDG' + { + DisplayName = "My Demo DG"; + Ensure = "Absent"; + Identity = "DemoDG"; + Name = "DemoDG"; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXODkimSigningConfig 'ConfigureDKIMSigning' + { + Identity = $Domain + Ensure = "Absent" + Credential = $Credscredential + } + EXOEmailAddressPolicy 'ConfigureEmailAddressPolicy' + { + Name = "Integration Policy" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOGlobalAddressList 'ConfigureGlobalAddressList' + { + Name = "Contoso Human Resources in Washington" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOHostedContentFilterPolicy 'ConfigureHostedContentFilterPolicy' + { + Identity = "Integration CFP" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOHostedContentFilterRule 'ConfigureHostedContentFilterRule' + { + Identity = "Integration CFR" + HostedContentFilterPolicy = "Integration CFP" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOHostedOutboundSpamFilterPolicy 'HostedOutboundSpamFilterPolicy' + { + Identity = "Integration SFP" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOHostedOutboundSpamFilterRule 'ConfigureHostedOutboundSpamFilterRule' + { + Identity = "Contoso Executives" + Enabled = $False # Updated Property + HostedOutboundSpamFilterPolicy = "Integration SFP" + Ensure = "Absent" + Credential = $Credscredential + } + EXOInboundConnector 'ConfigureInboundConnector' + { + Identity = "Integration Inbound Connector" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOIntraOrganizationConnector 'ConfigureIntraOrganizationConnector' + { + Identity = "MainCloudConnector" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOJournalRule 'CreateJournalRule' + { + JournalEmailAddress = "AdeleV@$TenantId" + Name = "Send to Adele" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOMailContact 'TestMailContact' + { + Alias = 'TestMailContact' + DisplayName = 'My Test Contact' + Ensure = 'Absent' + ExternalEmailAddress = 'SMTP:test@tailspintoys.com' + Name = 'My Test Contact' + OrganizationalUnit = $TenantId + SendModerationNotifications = 'Always' + UsePreferMessageFormat = $false # Updated Property + CustomAttribute1 = 'Custom Value 1' + ExtensionCustomAttribute5 = 'Extension Custom Value 1', 'Extension Custom Value 2' + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOMailTips 'OrgWideMailTips' + { + IsSingleInstance = 'Yes' + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOMalwareFilterPolicy 'ConfigureMalwareFilterPolicy' + { + Identity = "IntegrationMFP" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOMalwareFilterRule 'ConfigureMalwareFilterRule' + { + Identity = "Contoso Recipients" + MalwareFilterPolicy = "IntegrationMFP" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOManagementRole 'ConfigureManagementRole' + { + Name = "MyDisplayName" + Description = "Updated Description" # Updated Property + Parent = "contoso.onmicrosoft.com\MyProfileInformation" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOManagementRoleAssignment 'AssignManagementRole' + { + Ensure = "Absent"; + Name = "MyManagementRoleAssignment"; + Role = "UserApplication"; + User = "AlexW@$TenantId"; # Updated Property + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOMessageClassification 'ConfigureMessageClassification' + { + Identity = "Contoso Message Classification" + Name = "Contoso Message Classification" + DisplayName = "Contoso Message Classification" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOMobileDeviceMailboxPolicy 'ConfigureMobileDeviceMailboxPolicy' + { + Name = "Default" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOOfflineAddressBook 'ConfigureOfflineAddressBook' + { + Name = "Integration Address Book" + AddressLists = @('\Offline Global Address List') + ConfiguredAttributes = @('OfficeLocation, ANR', 'ProxyAddresses, ANR', 'PhoneticGivenName, ANR', 'GivenName, ANR', 'PhoneticSurname, ANR', 'Surname, ANR', 'Account, ANR', 'PhoneticDisplayName, ANR', 'UserInformationDisplayName, ANR', 'ExternalMemberCount, Value', 'TotalMemberCount, Value', 'ModerationEnabled, Value', 'DelivContLength, Value', 'MailTipTranslations, Value', 'ObjectGuid, Value', 'IsOrganizational, Value', 'HabSeniorityIndex, Value', 'DisplayTypeEx, Value', 'SimpleDisplayNameAnsi, Value', 'HomeMdbA, Value', 'Certificate, Value', 'UserSMimeCertificate, Value', 'UserCertificate, Value', 'Comment, Value', 'PagerTelephoneNumber, Value', 'AssistantTelephoneNumber, Value', 'MobileTelephoneNumber, Value', 'PrimaryFaxNumber, Value', 'Home2TelephoneNumberMv, Value', 'Business2TelephoneNumberMv, Value', 'HomeTelephoneNumber, Value', 'TargetAddress, Value', 'PhoneticDepartmentName, Value', 'DepartmentName, Value', 'Assistant, Value', 'PhoneticCompanyName, Value', 'CompanyName, Value', 'Title, Value', 'Country, Value', 'PostalCode, Value', 'StateOrProvince, Value', 'Locality, Value', 'StreetAddress, Value', 'Initials, Value', 'BusinessTelephoneNumber, Value', 'SendRichInfo, Value', 'ObjectType, Value', 'DisplayType, Value', 'RejectMessagesFromDLMembers, Indicator', 'AcceptMessagesOnlyFromDLMembers, Indicator', 'RejectMessagesFrom, Indicator', 'AcceptMessagesOnlyFrom, Indicator', 'UmSpokenName, Indicator', 'ThumbnailPhoto, Indicator') + DiffRetentionPeriod = "30" + IsDefault = $true + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOOMEConfiguration 'ConfigureOMEConfiguration' + { + Identity = "Contoso Marketing" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOOnPremisesOrganization 'ConfigureOnPremisesOrganization' + { + Identity = 'Contoso' + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOOrganizationRelationship 'ConfigureOrganizationRelationship' + { + Name = "Contoso" + Enabled = $True + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOOutboundConnector 'ConfigureOutboundConnector' + { + Identity = "Contoso Outbound Connector" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOOwaMailboxPolicy 'ConfigureOwaMailboxPolicy' + { + Name = "OwaMailboxPolicy-Integration" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOPartnerApplication 'ConfigurePartnerApplication' + { + Name = "HRApp" + ApplicationIdentifier = "00000006-0000-0dd1-ac00-000000000000" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOPlace 'TestPlace' + { + AudioDeviceName = "MyAudioDevice"; + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + DisplayDeviceName = "DisplayDeviceName"; + Ensure = 'Absent' + Identity = "Hood@$TenantId"; + } + EXOPolicyTipConfig 'ConfigurePolicyTipConfig' + { + Name = "en\NotifyOnly" + Value = "This message contains content that is restricted by Contoso company policy. Updated" # Updated Property + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOQuarantinePolicy 'ConfigureQuarantinePolicy' + { + Identity = "$TenantId\IntegrationPolicy"; + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXORecipientPermission 'AddSendAs' + { + + Identity = 'AdeleV@$Domain' + Trustee = "admin@$TenantId" + Ensure = 'Absent' + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXORemoteDomain '583b0b70-b45d-401f-98a6-0e7fa8434946' + { + Identity = "Integration" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXORoleAssignmentPolicy 'ConfigureRoleAssignmentPolicy' + { + Name = "Integration Policy" + IsDefault = $False # Updated Property + Roles = @("My Marketplace Apps","MyVoiceMail","MyDistributionGroups","MyRetentionPolicies","MyContactInformation","MyBaseOptions","MyTextMessaging","MyDistributionGroupMembership","MyProfileInformation","My Custom Apps","My ReadWriteMailbox Apps") + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXORoleGroup 'ConfigureRoleGroup' + { + Name = "Contoso Role Group" + Members = @("Exchange Administrator") + Roles = @("Address Lists") + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOSafeAttachmentPolicy 'ConfigureSafeAttachmentPolicy' + { + Identity = "Marketing Block Attachments" + Enable = $False # Updated Property + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOSafeAttachmentRule 'ConfigureSafeAttachmentRule' + { + Identity = "Research Department Attachment Rule" + Enabled = $False # Updated Property + ExceptIfSentToMemberOf = "Research Department Managers" + SafeAttachmentPolicy = "Marketing Block Attachments" + SentToMemberOf = "Research Department" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOSafeLinksPolicy 'ConfigureSafeLinksPolicy' + { + Identity = 'Marketing Block URL' + Ensure = 'Absent' + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOSafeLinksRule 'ConfigureSafeLinksRule' + { + Identity = "Research Department URL Rule" + Comments = "Applies to Research Department, except managers" + Enabled = $False # Updated Property + SafeLinksPolicy = "Marketing Block URL" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOSharedMailbox 'SharedMailbox' + { + DisplayName = "Integration" + PrimarySMTPAddress = "Integration@$TenantId" + EmailAddresses = @("IntegrationSM@$TenantId", "IntegrationSM2@$TenantId") + Alias = "IntegrationSM" + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOSharingPolicy 'ConfigureSharingPolicy' + { + Name = "Integration Sharing Policy" + Default = $False # Updated Property + Domains = @("Anonymous:CalendarSharingFreeBusyReviewer", "*:CalendarSharingFreeBusySimple") + Enabled = $True + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + EXOTransportRule 'ConfigureTransportRule' + { + Name = "Ethical Wall - Sales and Brokerage Departments" + Enabled = $True + Ensure = "Absent" + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + } + } + } + + $ConfigurationData = @{ + AllNodes = @( + @{ + NodeName = "Localhost" + PSDSCAllowPlaintextPassword = $true + } + ) + } + + # Compile and deploy configuration + try + { + Master -ConfigurationData $ConfigurationData -ApplicationId $ApplicationId -TenantId $TenantId -CertificateThumbprint $CertificateThumbprint + Start-DscConfiguration Master -Wait -Force -Verbose -ErrorAction Stop + } + catch + { + throw $_ + } From 763c02082cc8b701e1d7b11f3f78e108b906dc68 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Tue, 16 Jul 2024 09:00:41 -0400 Subject: [PATCH 088/123] Fixes --- .../EXODkimSigningConfig/1-Create.ps1 | 21 +++++++++++++------ .../EXODkimSigningConfig/2-Update.ps1 | 21 +++++++++++++------ .../EXODkimSigningConfig/3-Remove.ps1 | 21 +++++++++++++------ 3 files changed, 45 insertions(+), 18 deletions(-) diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXODkimSigningConfig/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXODkimSigningConfig/1-Create.ps1 index 5f427b2eaa..4dc6fae31f 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXODkimSigningConfig/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXODkimSigningConfig/1-Create.ps1 @@ -6,25 +6,34 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXODkimSigningConfig 'ConfigureDKIMSigning' { KeySize = 1024 - Identity = $Domain + Identity = $TenantId HeaderCanonicalization = "Relaxed" Enabled = $True BodyCanonicalization = "Relaxed" AdminDisplayName = "" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXODkimSigningConfig/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXODkimSigningConfig/2-Update.ps1 index 519d24fe0a..d7ef4fafe5 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXODkimSigningConfig/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXODkimSigningConfig/2-Update.ps1 @@ -6,25 +6,34 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXODkimSigningConfig 'ConfigureDKIMSigning' { KeySize = 1024 - Identity = $Domain + Identity = $TenantId HeaderCanonicalization = "Relaxed" Enabled = $False # Updated Property BodyCanonicalization = "Relaxed" AdminDisplayName = "" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXODkimSigningConfig/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXODkimSigningConfig/3-Remove.ps1 index c37c0a7f6f..fb2afa7d60 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXODkimSigningConfig/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXODkimSigningConfig/3-Remove.ps1 @@ -6,20 +6,29 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXODkimSigningConfig 'ConfigureDKIMSigning' { - Identity = $Domain + Identity = $TenantId Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } From 08ea6f24243938bd7588a6b4f08bd0dd5ed2e34e Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Tue, 16 Jul 2024 13:01:58 +0000 Subject: [PATCH 089/123] Updated Resources and Cmdlet documentation pages --- .../exchange/EXODkimSigningConfig.md | 63 +++++++++++++------ 1 file changed, 45 insertions(+), 18 deletions(-) diff --git a/docs/docs/resources/exchange/EXODkimSigningConfig.md b/docs/docs/resources/exchange/EXODkimSigningConfig.md index 6638eca381..72bcd092b0 100644 --- a/docs/docs/resources/exchange/EXODkimSigningConfig.md +++ b/docs/docs/resources/exchange/EXODkimSigningConfig.md @@ -50,25 +50,34 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXODkimSigningConfig 'ConfigureDKIMSigning' { KeySize = 1024 - Identity = $Domain + Identity = $TenantId HeaderCanonicalization = "Relaxed" Enabled = $True BodyCanonicalization = "Relaxed" AdminDisplayName = "" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -83,25 +92,34 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXODkimSigningConfig 'ConfigureDKIMSigning' { KeySize = 1024 - Identity = $Domain + Identity = $TenantId HeaderCanonicalization = "Relaxed" Enabled = $False # Updated Property BodyCanonicalization = "Relaxed" AdminDisplayName = "" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } @@ -116,20 +134,29 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXODkimSigningConfig 'ConfigureDKIMSigning' { - Identity = $Domain + Identity = $TenantId Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } } } From 221b008fcfb326de8b108502ebabc43dd0022a30 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Tue, 16 Jul 2024 13:04:10 +0000 Subject: [PATCH 090/123] Updated {Create} EXO Integration Tests --- .../Microsoft365DSC/M365DSCIntegration.EXO.Create.Tests.ps1 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Create.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Create.Tests.ps1 index 5549afde13..9b21948a96 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Create.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Create.Tests.ps1 @@ -223,13 +223,15 @@ EXODkimSigningConfig 'ConfigureDKIMSigning' { KeySize = 1024 - Identity = $Domain + Identity = $TenantId HeaderCanonicalization = "Relaxed" Enabled = $True BodyCanonicalization = "Relaxed" AdminDisplayName = "" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOEmailAddressPolicy 'ConfigureEmailAddressPolicy' { From 6c0e924f8a8e8e8417c2d1203ecdb6a1edb3b17c Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Tue, 16 Jul 2024 13:04:33 +0000 Subject: [PATCH 091/123] Updated {Update} EXO Integration Tests --- .../Microsoft365DSC/M365DSCIntegration.EXO.Update.Tests.ps1 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Update.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Update.Tests.ps1 index 77b81b37c4..5b3240b4cb 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Update.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Update.Tests.ps1 @@ -326,13 +326,15 @@ EXODkimSigningConfig 'ConfigureDKIMSigning' { KeySize = 1024 - Identity = $Domain + Identity = $TenantId HeaderCanonicalization = "Relaxed" Enabled = $False # Updated Property BodyCanonicalization = "Relaxed" AdminDisplayName = "" Ensure = "Present" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOEmailAddressPolicy 'ConfigureEmailAddressPolicy' { From 0e603d8fc4b3244734d0044d9ce78626e1c81ab5 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Tue, 16 Jul 2024 13:04:51 +0000 Subject: [PATCH 092/123] Updated {Update} EXO Integration Tests --- .../Microsoft365DSC/M365DSCIntegration.EXO.Remove.Tests.ps1 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Remove.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Remove.Tests.ps1 index f46628fe06..7c897b2a25 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Remove.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Remove.Tests.ps1 @@ -189,9 +189,11 @@ } EXODkimSigningConfig 'ConfigureDKIMSigning' { - Identity = $Domain + Identity = $TenantId Ensure = "Absent" - Credential = $Credscredential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint } EXOEmailAddressPolicy 'ConfigureEmailAddressPolicy' { From 57fc1adeba3b4479e23b97facea2d82f4712babc Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Tue, 16 Jul 2024 10:38:23 -0400 Subject: [PATCH 093/123] Fixes --- CHANGELOG.md | 6 ++++++ .../MSFT_EXOHostedContentFilterRule.psm1 | 19 ++++++++++++++----- ...SFT_EXOHostedOutboundSpamFilterPolicy.psm1 | 18 +++++++++--------- ...OHostedOutboundSpamFilterPolicy.schema.mof | 6 +++--- .../EXOQuarantinePolicy/1-Create.ps1 | 1 - .../EXOQuarantinePolicy/2-Update.ps1 | 2 -- .../EXOQuarantinePolicy/3-Remove.ps1 | 2 -- .../EXOSafeAttachmentPolicy/2-Update.ps1 | 1 - .../EXOSafeAttachmentPolicy/3-Remove.ps1 | 1 - .../EXOSafeAttachmentRule/2-Update.ps1 | 1 - .../Resources/EXOSharedMailbox/3-Remove.ps1 | 1 - .../Resources/EXOTransportRule/1-Create.ps1 | 1 - .../Resources/EXOTransportRule/2-Update.ps1 | 1 - 13 files changed, 32 insertions(+), 28 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f62077cf2..8ae87d55ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Change log for Microsoft365DSC +# UNRELEASED + +* EXOHostedOutboundSpamFilterPolicy + * Changed the RecipientLimitInternalPerHour, RecipientLimitPerDay, an + RecipientLimitExternalPerHour parameters to UInt32. + # 1.24.710.3 * MISC diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOHostedContentFilterRule/MSFT_EXOHostedContentFilterRule.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOHostedContentFilterRule/MSFT_EXOHostedContentFilterRule.psm1 index 6ea3b6dda9..f8f39c8e1a 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOHostedContentFilterRule/MSFT_EXOHostedContentFilterRule.psm1 +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOHostedContentFilterRule/MSFT_EXOHostedContentFilterRule.psm1 @@ -86,7 +86,7 @@ function Get-TargetResource $AccessTokens ) - Write-Verbose -Message "Getting configuration of HostedContentFilterRule for $Identity" + Write-Verbose -Message "Getting configuration of HostedContentFilterRule for [$Identity]" #Ensure the proper dependencies are installed in the current environment. Confirm-M365DSCDependencies @@ -122,10 +122,19 @@ function Get-TargetResource } catch { - $Message = 'Error calling {Get-HostedContentFilterRule}' - New-M365DSCLogEntry -Message $Message ` - -Exception $_ ` - -Source $MyInvocation.MyCommand.ModuleName + try + { + Write-Verbose -Message "Couldn't find rule by ID, trying by name." + $rules = Get-HostedContentFilterRule + $HostedContentFilterRule = $rules | Where-Object -FilterScript {$_.Name -eq $Identity -and $_.HostedContentFilterPolicy -eq $HostedContentFilterPolicy} + } + catch + { + $Message = 'Error calling {Get-HostedContentFilterRule}' + New-M365DSCLogEntry -Message $Message ` + -Exception $_ ` + -Source $MyInvocation.MyCommand.ModuleName + } } if (-not $HostedContentFilterRule) { diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOHostedOutboundSpamFilterPolicy/MSFT_EXOHostedOutboundSpamFilterPolicy.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOHostedOutboundSpamFilterPolicy/MSFT_EXOHostedOutboundSpamFilterPolicy.psm1 index 149c30cc33..a214bd520e 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOHostedOutboundSpamFilterPolicy/MSFT_EXOHostedOutboundSpamFilterPolicy.psm1 +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOHostedOutboundSpamFilterPolicy/MSFT_EXOHostedOutboundSpamFilterPolicy.psm1 @@ -29,15 +29,15 @@ function Get-TargetResource $NotifyOutboundSpam = $true, [Parameter()] - [System.String] + [System.UInt32] $RecipientLimitInternalPerHour, [Parameter()] - [System.String] + [System.UInt32] $RecipientLimitPerDay, [Parameter()] - [System.String] + [System.UInt32] $RecipientLimitExternalPerHour, [Parameter()] @@ -196,15 +196,15 @@ function Set-TargetResource $NotifyOutboundSpam = $true, [Parameter()] - [System.String] + [System.UInt32] $RecipientLimitInternalPerHour, [Parameter()] - [System.String] + [System.UInt32] $RecipientLimitPerDay, [Parameter()] - [System.String] + [System.UInt32] $RecipientLimitExternalPerHour, [Parameter()] @@ -337,15 +337,15 @@ function Test-TargetResource $NotifyOutboundSpam = $true, [Parameter()] - [System.String] + [System.UInt32] $RecipientLimitInternalPerHour, [Parameter()] - [System.String] + [System.UInt32] $RecipientLimitPerDay, [Parameter()] - [System.String] + [System.UInt32] $RecipientLimitExternalPerHour, [Parameter()] diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOHostedOutboundSpamFilterPolicy/MSFT_EXOHostedOutboundSpamFilterPolicy.schema.mof b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOHostedOutboundSpamFilterPolicy/MSFT_EXOHostedOutboundSpamFilterPolicy.schema.mof index 359b208c15..0911e34063 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOHostedOutboundSpamFilterPolicy/MSFT_EXOHostedOutboundSpamFilterPolicy.schema.mof +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOHostedOutboundSpamFilterPolicy/MSFT_EXOHostedOutboundSpamFilterPolicy.schema.mof @@ -7,9 +7,9 @@ class MSFT_EXOHostedOutboundSpamFilterPolicy : OMI_BaseResource [Write, Description("The BccSuspiciousOutboundMail parameter enables or disables adding recipients to the Bcc field of outgoing spam messages. Valid input for this parameter is $true or $false. The default value is $false. You specify the additional recipients using the BccSuspiciousOutboundAdditionalRecipients parameter.")] Boolean BccSuspiciousOutboundMail; [Write, Description("The NotifyOutboundSpam parameter enables or disables sending notification messages to administrators when an outgoing message is determined to be spam. Valid input for this parameter is $true or $false. The default value is $false. You specify the administrators to notify by using the NotifyOutboundSpamRecipients parameter.")] Boolean NotifyOutboundSpam; [Write, Description("The NotifyOutboundSpamRecipients parameter specifies the administrators to notify when an outgoing message is determined to be spam. Valid input for this parameter is an email address. Separate multiple email addresses with commas.")] String NotifyOutboundSpamRecipients[]; - [Write, Description("The RecipientLimitInternalPerHour parameter specifies the maximum number of internal recipients that a user can send to within an hour. A valid value is 0 to 10000. The default value is 0, which means the service defaults are used.")] String RecipientLimitInternalPerHour; - [Write, Description("The RecipientLimitPerDay parameter specifies the maximum number of recipients that a user can send to within a day. A valid value is 0 to 10000. The default value is 0, which means the service defaults are used.")] String RecipientLimitPerDay; - [Write, Description("The RecipientLimitExternalPerHour parameter specifies the maximum number of external recipients that a user can send to within an hour. A valid value is 0 to 10000. The default value is 0, which means the service defaults are used.")] String RecipientLimitExternalPerHour; + [Write, Description("The RecipientLimitInternalPerHour parameter specifies the maximum number of internal recipients that a user can send to within an hour. A valid value is 0 to 10000. The default value is 0, which means the service defaults are used.")] UInt32 RecipientLimitInternalPerHour; + [Write, Description("The RecipientLimitPerDay parameter specifies the maximum number of recipients that a user can send to within a day. A valid value is 0 to 10000. The default value is 0, which means the service defaults are used.")] UInt32 RecipientLimitPerDay; + [Write, Description("The RecipientLimitExternalPerHour parameter specifies the maximum number of external recipients that a user can send to within an hour. A valid value is 0 to 10000. The default value is 0, which means the service defaults are used.")] UInt32 RecipientLimitExternalPerHour; [Write, Description("The ActionWhenThresholdReached parameter specifies the action to take when any of the limits specified in the policy are reached. Valid values are: Alert, BlockUser, BlockUserForToday. BlockUserForToday is the default value.")] String ActionWhenThresholdReached; [Write, Description("The AutoForwardingMode specifies how the policy controls automatic email forwarding to outbound recipients. Valid values are: Automatic, On, Off.")] String AutoForwardingMode; [Write, Description("Specify if this policy should exist or not."), ValueMap{"Present","Absent"}, Values{"Present","Absent"}] String Ensure; diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOQuarantinePolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOQuarantinePolicy/1-Create.ps1 index 00e7ab9592..7789a50846 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOQuarantinePolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOQuarantinePolicy/1-Create.ps1 @@ -18,7 +18,6 @@ Configuration Example [System.String] $CertificateThumbprint ) - $OrganizationName = $Credscredential.UserName.Split('@')[1] Import-DscResource -ModuleName Microsoft365DSC node localhost diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOQuarantinePolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOQuarantinePolicy/2-Update.ps1 index 70daf13e41..f7af4ec63d 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOQuarantinePolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOQuarantinePolicy/2-Update.ps1 @@ -18,10 +18,8 @@ Configuration Example [System.String] $CertificateThumbprint ) - $OrganizationName = $Credscredential.UserName.Split('@')[1] Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOQuarantinePolicy 'ConfigureQuarantinePolicy' diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOQuarantinePolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOQuarantinePolicy/3-Remove.ps1 index 0777c270bd..618b4765b6 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOQuarantinePolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOQuarantinePolicy/3-Remove.ps1 @@ -18,10 +18,8 @@ Configuration Example [System.String] $CertificateThumbprint ) - $OrganizationName = $Credscredential.UserName.Split('@')[1] Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOQuarantinePolicy 'ConfigureQuarantinePolicy' diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentPolicy/2-Update.ps1 index dc8074f6f2..890d96c026 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentPolicy/2-Update.ps1 @@ -20,7 +20,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOSafeAttachmentPolicy 'ConfigureSafeAttachmentPolicy' diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentPolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentPolicy/3-Remove.ps1 index 9a7e82add6..4ba99a10e3 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentPolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentPolicy/3-Remove.ps1 @@ -20,7 +20,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOSafeAttachmentPolicy 'ConfigureSafeAttachmentPolicy' diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentRule/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentRule/2-Update.ps1 index 1996d383c2..a2042efcf4 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentRule/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOSafeAttachmentRule/2-Update.ps1 @@ -20,7 +20,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOSafeAttachmentRule 'ConfigureSafeAttachmentRule' diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOSharedMailbox/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOSharedMailbox/3-Remove.ps1 index 92be003632..ac6ca975fe 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOSharedMailbox/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOSharedMailbox/3-Remove.ps1 @@ -20,7 +20,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOSharedMailbox 'SharedMailbox' diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOTransportRule/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOTransportRule/1-Create.ps1 index ba0220662b..37775a8752 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOTransportRule/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOTransportRule/1-Create.ps1 @@ -20,7 +20,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOTransportRule 'ConfigureTransportRule' diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOTransportRule/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOTransportRule/2-Update.ps1 index 3481e3a882..6446633aa2 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOTransportRule/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOTransportRule/2-Update.ps1 @@ -20,7 +20,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOTransportRule 'ConfigureTransportRule' From 28bfa4852efa5fdb8a1db60befc8990ace63f898 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Tue, 16 Jul 2024 10:39:23 -0400 Subject: [PATCH 094/123] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ae87d55ee..ca89390a29 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ # UNRELEASED * EXOHostedOutboundSpamFilterPolicy - * Changed the RecipientLimitInternalPerHour, RecipientLimitPerDay, an + * Changed the RecipientLimitInternalPerHour, RecipientLimitPerDay, and RecipientLimitExternalPerHour parameters to UInt32. # 1.24.710.3 From 2d5df67711cd7e49c651d00bc4fa81d8be299d1a Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Tue, 16 Jul 2024 13:12:40 -0400 Subject: [PATCH 095/123] Updates --- .../EXOHostedOutboundSpamFilterPolicy/1-Create.ps1 | 6 +++--- .../EXOHostedOutboundSpamFilterPolicy/2-Update.ps1 | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterPolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterPolicy/1-Create.ps1 index 7b75d1c52f..8be7f94672 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterPolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterPolicy/1-Create.ps1 @@ -33,9 +33,9 @@ Configuration Example BccSuspiciousOutboundMail = $False NotifyOutboundSpam = $False NotifyOutboundSpamRecipients = @() - RecipientLimitExternalPerHour = 0 - RecipientLimitInternalPerHour = 0 - RecipientLimitPerDay = 0 + #RecipientLimitExternalPerHour = 0 + #RecipientLimitInternalPerHour = 0 + #RecipientLimitPerDay = 0 Ensure = "Present" ApplicationId = $ApplicationId TenantId = $TenantId diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterPolicy/2-Update.ps1 index 9c35f5fd28..c061821ca1 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterPolicy/2-Update.ps1 @@ -33,9 +33,9 @@ Configuration Example BccSuspiciousOutboundMail = $False NotifyOutboundSpam = $False NotifyOutboundSpamRecipients = @() - RecipientLimitExternalPerHour = 0 - RecipientLimitInternalPerHour = 1 # Updated Property - RecipientLimitPerDay = 0 + #RecipientLimitExternalPerHour = 0 + #RecipientLimitInternalPerHour = 1 # Updated Property + #RecipientLimitPerDay = 0 Ensure = "Present" ApplicationId = $ApplicationId TenantId = $TenantId From de37ac0ed1691f6bcd51e8aa081c437e3c499450 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Tue, 16 Jul 2024 13:28:59 -0400 Subject: [PATCH 096/123] Update Microsoft365DSC.Examples.Tests.ps1 --- Tests/QA/Microsoft365DSC.Examples.Tests.ps1 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Tests/QA/Microsoft365DSC.Examples.Tests.ps1 b/Tests/QA/Microsoft365DSC.Examples.Tests.ps1 index 41f93e594f..4b1344bdd0 100644 --- a/Tests/QA/Microsoft365DSC.Examples.Tests.ps1 +++ b/Tests/QA/Microsoft365DSC.Examples.Tests.ps1 @@ -153,6 +153,10 @@ Describe -Name 'Successfully compile examples' { #> $exampleParameters.Add($parameterName, ('1' -as $parameterType)) } + elseif ($parameterName -eq 'TenantId') + { + $exampleParameters.Add('TenantId', (New-Guid).ToString()) + } } } From 2d8ca476ac68585aa0bc65cb3acb187087a27ba4 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Tue, 16 Jul 2024 13:34:00 -0400 Subject: [PATCH 097/123] Fixes --- .../Examples/Resources/EXODistributionGroup/1-Create.ps1 | 1 - .../Examples/Resources/EXOEmailAddressPolicy/1-Create.ps1 | 1 - .../Resources/EXOHostedOutboundSpamFilterRule/3-Remove.ps1 | 1 - .../Examples/Resources/EXOMailContact/2-Update.ps1 | 1 - .../Examples/Resources/EXOMailContact/3-Remove.ps1 | 1 - .../Examples/Resources/EXOManagementRole/2-Update.ps1 | 1 - .../Examples/Resources/EXOManagementRoleAssignment/1-Create.ps1 | 1 - .../Examples/Resources/EXOManagementRoleAssignment/2-Update.ps1 | 1 - .../Examples/Resources/EXOManagementRoleAssignment/3-Remove.ps1 | 1 - 9 files changed, 9 deletions(-) diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXODistributionGroup/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXODistributionGroup/1-Create.ps1 index 95bead29ef..85487e8131 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXODistributionGroup/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXODistributionGroup/1-Create.ps1 @@ -20,7 +20,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXODistributionGroup 'DemoDG' diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOEmailAddressPolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOEmailAddressPolicy/1-Create.ps1 index 29fc3244ba..9f6aa65248 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOEmailAddressPolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOEmailAddressPolicy/1-Create.ps1 @@ -20,7 +20,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOEmailAddressPolicy 'ConfigureEmailAddressPolicy' diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterRule/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterRule/3-Remove.ps1 index dfe6738d4f..f41c0dad6c 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterRule/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOHostedOutboundSpamFilterRule/3-Remove.ps1 @@ -21,7 +21,6 @@ Configuration Example Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOHostedOutboundSpamFilterRule 'ConfigureHostedOutboundSpamFilterRule' diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMailContact/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMailContact/2-Update.ps1 index 0c9c5415df..e5d852bc38 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMailContact/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMailContact/2-Update.ps1 @@ -20,7 +20,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOMailContact 'TestMailContact' diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMailContact/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMailContact/3-Remove.ps1 index 3f68bfaaaa..8ec1c31117 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMailContact/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMailContact/3-Remove.ps1 @@ -20,7 +20,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOMailContact 'TestMailContact' diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRole/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRole/2-Update.ps1 index 8c8a0338cf..a5ba2b2cbb 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRole/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRole/2-Update.ps1 @@ -20,7 +20,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOManagementRole 'ConfigureManagementRole' diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleAssignment/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleAssignment/1-Create.ps1 index 4cb4a78f85..595be2b648 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleAssignment/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleAssignment/1-Create.ps1 @@ -20,7 +20,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOManagementRoleAssignment 'AssignManagementRole' diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleAssignment/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleAssignment/2-Update.ps1 index 7a007b8cb6..e5db422476 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleAssignment/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleAssignment/2-Update.ps1 @@ -20,7 +20,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOManagementRoleAssignment 'AssignManagementRole' diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleAssignment/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleAssignment/3-Remove.ps1 index e3b5886c96..ed39214a56 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleAssignment/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOManagementRoleAssignment/3-Remove.ps1 @@ -20,7 +20,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOManagementRoleAssignment 'AssignManagementRole' From 825a7187973033485289e2cf5b21e0e5f59b2808 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Tue, 16 Jul 2024 18:02:03 +0000 Subject: [PATCH 098/123] Updated Resources and Cmdlet documentation pages --- .../resources/exchange/EXODistributionGroup.md | 1 - .../exchange/EXOEmailAddressPolicy.md | 1 - .../EXOHostedOutboundSpamFilterPolicy.md | 18 +++++++++--------- .../EXOHostedOutboundSpamFilterRule.md | 1 - docs/docs/resources/exchange/EXOMailContact.md | 2 -- .../resources/exchange/EXOManagementRole.md | 1 - .../exchange/EXOManagementRoleAssignment.md | 3 --- .../resources/exchange/EXOQuarantinePolicy.md | 5 ----- .../exchange/EXOSafeAttachmentPolicy.md | 2 -- .../exchange/EXOSafeAttachmentRule.md | 1 - .../resources/exchange/EXOSharedMailbox.md | 1 - .../resources/exchange/EXOTransportRule.md | 2 -- 12 files changed, 9 insertions(+), 29 deletions(-) diff --git a/docs/docs/resources/exchange/EXODistributionGroup.md b/docs/docs/resources/exchange/EXODistributionGroup.md index a3142c7693..c1649e47f4 100644 --- a/docs/docs/resources/exchange/EXODistributionGroup.md +++ b/docs/docs/resources/exchange/EXODistributionGroup.md @@ -100,7 +100,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXODistributionGroup 'DemoDG' diff --git a/docs/docs/resources/exchange/EXOEmailAddressPolicy.md b/docs/docs/resources/exchange/EXOEmailAddressPolicy.md index b1bb91b7cf..013b05cf2b 100644 --- a/docs/docs/resources/exchange/EXOEmailAddressPolicy.md +++ b/docs/docs/resources/exchange/EXOEmailAddressPolicy.md @@ -62,7 +62,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOEmailAddressPolicy 'ConfigureEmailAddressPolicy' diff --git a/docs/docs/resources/exchange/EXOHostedOutboundSpamFilterPolicy.md b/docs/docs/resources/exchange/EXOHostedOutboundSpamFilterPolicy.md index 24df1817c5..bd16fe3c7b 100644 --- a/docs/docs/resources/exchange/EXOHostedOutboundSpamFilterPolicy.md +++ b/docs/docs/resources/exchange/EXOHostedOutboundSpamFilterPolicy.md @@ -10,9 +10,9 @@ | **BccSuspiciousOutboundMail** | Write | Boolean | The BccSuspiciousOutboundMail parameter enables or disables adding recipients to the Bcc field of outgoing spam messages. Valid input for this parameter is $true or $false. The default value is $false. You specify the additional recipients using the BccSuspiciousOutboundAdditionalRecipients parameter. | | | **NotifyOutboundSpam** | Write | Boolean | The NotifyOutboundSpam parameter enables or disables sending notification messages to administrators when an outgoing message is determined to be spam. Valid input for this parameter is $true or $false. The default value is $false. You specify the administrators to notify by using the NotifyOutboundSpamRecipients parameter. | | | **NotifyOutboundSpamRecipients** | Write | StringArray[] | The NotifyOutboundSpamRecipients parameter specifies the administrators to notify when an outgoing message is determined to be spam. Valid input for this parameter is an email address. Separate multiple email addresses with commas. | | -| **RecipientLimitInternalPerHour** | Write | String | The RecipientLimitInternalPerHour parameter specifies the maximum number of internal recipients that a user can send to within an hour. A valid value is 0 to 10000. The default value is 0, which means the service defaults are used. | | -| **RecipientLimitPerDay** | Write | String | The RecipientLimitPerDay parameter specifies the maximum number of recipients that a user can send to within a day. A valid value is 0 to 10000. The default value is 0, which means the service defaults are used. | | -| **RecipientLimitExternalPerHour** | Write | String | The RecipientLimitExternalPerHour parameter specifies the maximum number of external recipients that a user can send to within an hour. A valid value is 0 to 10000. The default value is 0, which means the service defaults are used. | | +| **RecipientLimitInternalPerHour** | Write | UInt32 | The RecipientLimitInternalPerHour parameter specifies the maximum number of internal recipients that a user can send to within an hour. A valid value is 0 to 10000. The default value is 0, which means the service defaults are used. | | +| **RecipientLimitPerDay** | Write | UInt32 | The RecipientLimitPerDay parameter specifies the maximum number of recipients that a user can send to within a day. A valid value is 0 to 10000. The default value is 0, which means the service defaults are used. | | +| **RecipientLimitExternalPerHour** | Write | UInt32 | The RecipientLimitExternalPerHour parameter specifies the maximum number of external recipients that a user can send to within an hour. A valid value is 0 to 10000. The default value is 0, which means the service defaults are used. | | | **ActionWhenThresholdReached** | Write | String | The ActionWhenThresholdReached parameter specifies the action to take when any of the limits specified in the policy are reached. Valid values are: Alert, BlockUser, BlockUserForToday. BlockUserForToday is the default value. | | | **AutoForwardingMode** | Write | String | The AutoForwardingMode specifies how the policy controls automatic email forwarding to outbound recipients. Valid values are: Automatic, On, Off. | | | **Ensure** | Write | String | Specify if this policy should exist or not. | `Present`, `Absent` | @@ -82,9 +82,9 @@ Configuration Example BccSuspiciousOutboundMail = $False NotifyOutboundSpam = $False NotifyOutboundSpamRecipients = @() - RecipientLimitExternalPerHour = 0 - RecipientLimitInternalPerHour = 0 - RecipientLimitPerDay = 0 + #RecipientLimitExternalPerHour = 0 + #RecipientLimitInternalPerHour = 0 + #RecipientLimitPerDay = 0 Ensure = "Present" ApplicationId = $ApplicationId TenantId = $TenantId @@ -130,9 +130,9 @@ Configuration Example BccSuspiciousOutboundMail = $False NotifyOutboundSpam = $False NotifyOutboundSpamRecipients = @() - RecipientLimitExternalPerHour = 0 - RecipientLimitInternalPerHour = 1 # Updated Property - RecipientLimitPerDay = 0 + #RecipientLimitExternalPerHour = 0 + #RecipientLimitInternalPerHour = 1 # Updated Property + #RecipientLimitPerDay = 0 Ensure = "Present" ApplicationId = $ApplicationId TenantId = $TenantId diff --git a/docs/docs/resources/exchange/EXOHostedOutboundSpamFilterRule.md b/docs/docs/resources/exchange/EXOHostedOutboundSpamFilterRule.md index d260d6da3a..4abd1066cc 100644 --- a/docs/docs/resources/exchange/EXOHostedOutboundSpamFilterRule.md +++ b/docs/docs/resources/exchange/EXOHostedOutboundSpamFilterRule.md @@ -156,7 +156,6 @@ Configuration Example Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOHostedOutboundSpamFilterRule 'ConfigureHostedOutboundSpamFilterRule' diff --git a/docs/docs/resources/exchange/EXOMailContact.md b/docs/docs/resources/exchange/EXOMailContact.md index d9da5a8747..16dded24e7 100644 --- a/docs/docs/resources/exchange/EXOMailContact.md +++ b/docs/docs/resources/exchange/EXOMailContact.md @@ -144,7 +144,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOMailContact 'TestMailContact' @@ -195,7 +194,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOMailContact 'TestMailContact' diff --git a/docs/docs/resources/exchange/EXOManagementRole.md b/docs/docs/resources/exchange/EXOManagementRole.md index 3dfd2ffcc4..b0688f5521 100644 --- a/docs/docs/resources/exchange/EXOManagementRole.md +++ b/docs/docs/resources/exchange/EXOManagementRole.md @@ -99,7 +99,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOManagementRole 'ConfigureManagementRole' diff --git a/docs/docs/resources/exchange/EXOManagementRoleAssignment.md b/docs/docs/resources/exchange/EXOManagementRoleAssignment.md index d45b5fcabb..0a44fcf9f1 100644 --- a/docs/docs/resources/exchange/EXOManagementRoleAssignment.md +++ b/docs/docs/resources/exchange/EXOManagementRoleAssignment.md @@ -69,7 +69,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOManagementRoleAssignment 'AssignManagementRole' @@ -109,7 +108,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOManagementRoleAssignment 'AssignManagementRole' @@ -149,7 +147,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOManagementRoleAssignment 'AssignManagementRole' diff --git a/docs/docs/resources/exchange/EXOQuarantinePolicy.md b/docs/docs/resources/exchange/EXOQuarantinePolicy.md index 063a768b03..0a52e3dee5 100644 --- a/docs/docs/resources/exchange/EXOQuarantinePolicy.md +++ b/docs/docs/resources/exchange/EXOQuarantinePolicy.md @@ -68,7 +68,6 @@ Configuration Example [System.String] $CertificateThumbprint ) - $OrganizationName = $Credscredential.UserName.Split('@')[1] Import-DscResource -ModuleName Microsoft365DSC node localhost @@ -108,10 +107,8 @@ Configuration Example [System.String] $CertificateThumbprint ) - $OrganizationName = $Credscredential.UserName.Split('@')[1] Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOQuarantinePolicy 'ConfigureQuarantinePolicy' @@ -149,10 +146,8 @@ Configuration Example [System.String] $CertificateThumbprint ) - $OrganizationName = $Credscredential.UserName.Split('@')[1] Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOQuarantinePolicy 'ConfigureQuarantinePolicy' diff --git a/docs/docs/resources/exchange/EXOSafeAttachmentPolicy.md b/docs/docs/resources/exchange/EXOSafeAttachmentPolicy.md index 066ce2f432..13ee9bbaa3 100644 --- a/docs/docs/resources/exchange/EXOSafeAttachmentPolicy.md +++ b/docs/docs/resources/exchange/EXOSafeAttachmentPolicy.md @@ -106,7 +106,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOSafeAttachmentPolicy 'ConfigureSafeAttachmentPolicy' @@ -147,7 +146,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOSafeAttachmentPolicy 'ConfigureSafeAttachmentPolicy' diff --git a/docs/docs/resources/exchange/EXOSafeAttachmentRule.md b/docs/docs/resources/exchange/EXOSafeAttachmentRule.md index a976bbd813..488adb3565 100644 --- a/docs/docs/resources/exchange/EXOSafeAttachmentRule.md +++ b/docs/docs/resources/exchange/EXOSafeAttachmentRule.md @@ -110,7 +110,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOSafeAttachmentRule 'ConfigureSafeAttachmentRule' diff --git a/docs/docs/resources/exchange/EXOSharedMailbox.md b/docs/docs/resources/exchange/EXOSharedMailbox.md index b8f9df783c..1511cac2e4 100644 --- a/docs/docs/resources/exchange/EXOSharedMailbox.md +++ b/docs/docs/resources/exchange/EXOSharedMailbox.md @@ -142,7 +142,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOSharedMailbox 'SharedMailbox' diff --git a/docs/docs/resources/exchange/EXOTransportRule.md b/docs/docs/resources/exchange/EXOTransportRule.md index 3866dd667b..16270f8937 100644 --- a/docs/docs/resources/exchange/EXOTransportRule.md +++ b/docs/docs/resources/exchange/EXOTransportRule.md @@ -225,7 +225,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOTransportRule 'ConfigureTransportRule' @@ -269,7 +268,6 @@ Configuration Example ) Import-DscResource -ModuleName Microsoft365DSC - $Domain = $Credscredential.Username.Split('@')[1] node localhost { EXOTransportRule 'ConfigureTransportRule' From 5dd7a312781c63209aa995827c0d87c6cea7a26c Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Tue, 16 Jul 2024 18:03:33 +0000 Subject: [PATCH 099/123] Updated {Create} EXO Integration Tests --- .../Microsoft365DSC/M365DSCIntegration.EXO.Create.Tests.ps1 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Create.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Create.Tests.ps1 index 9b21948a96..ed059503f4 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Create.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Create.Tests.ps1 @@ -326,9 +326,9 @@ BccSuspiciousOutboundMail = $False NotifyOutboundSpam = $False NotifyOutboundSpamRecipients = @() - RecipientLimitExternalPerHour = 0 - RecipientLimitInternalPerHour = 0 - RecipientLimitPerDay = 0 + #RecipientLimitExternalPerHour = 0 + #RecipientLimitInternalPerHour = 0 + #RecipientLimitPerDay = 0 Ensure = "Present" ApplicationId = $ApplicationId TenantId = $TenantId From 3d8642db17313a7cb579c0ce2bee4dfc05a865ee Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Tue, 16 Jul 2024 18:03:49 +0000 Subject: [PATCH 100/123] Updated Schema Definition --- Modules/Microsoft365DSC/SchemaDefinition.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Modules/Microsoft365DSC/SchemaDefinition.json b/Modules/Microsoft365DSC/SchemaDefinition.json index 546277a2e8..43582ff5b9 100644 --- a/Modules/Microsoft365DSC/SchemaDefinition.json +++ b/Modules/Microsoft365DSC/SchemaDefinition.json @@ -8623,17 +8623,17 @@ "Option": "Write" }, { - "CIMType": "String", + "CIMType": "UInt32", "Name": "RecipientLimitInternalPerHour", "Option": "Write" }, { - "CIMType": "String", + "CIMType": "UInt32", "Name": "RecipientLimitPerDay", "Option": "Write" }, { - "CIMType": "String", + "CIMType": "UInt32", "Name": "RecipientLimitExternalPerHour", "Option": "Write" }, From 01a0b67ad81f85a19b619e1eaf1d8770c713997e Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Tue, 16 Jul 2024 18:03:56 +0000 Subject: [PATCH 101/123] Updated {Update} EXO Integration Tests --- .../Microsoft365DSC/M365DSCIntegration.EXO.Update.Tests.ps1 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Update.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Update.Tests.ps1 index 5b3240b4cb..8b71b53fc9 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Update.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Update.Tests.ps1 @@ -465,9 +465,9 @@ BccSuspiciousOutboundMail = $False NotifyOutboundSpam = $False NotifyOutboundSpamRecipients = @() - RecipientLimitExternalPerHour = 0 - RecipientLimitInternalPerHour = 1 # Updated Property - RecipientLimitPerDay = 0 + #RecipientLimitExternalPerHour = 0 + #RecipientLimitInternalPerHour = 1 # Updated Property + #RecipientLimitPerDay = 0 Ensure = "Present" ApplicationId = $ApplicationId TenantId = $TenantId From 2231c83cdd74609a333840e65adb0ef545b78d15 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Tue, 16 Jul 2024 14:24:27 -0400 Subject: [PATCH 102/123] Fixing EXO tests --- .../Microsoft365DSC/Examples/Resources/EXOMailTips/1-Create.ps1 | 2 +- .../Microsoft365DSC/Examples/Resources/EXOMailTips/2-Update.ps1 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMailTips/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMailTips/1-Create.ps1 index 8495866148..9111f3ae5c 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMailTips/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMailTips/1-Create.ps1 @@ -27,7 +27,7 @@ Configuration Example IsSingleInstance = 'Yes' MailTipsAllTipsEnabled = $True MailTipsGroupMetricsEnabled = $True - MailTipsLargeAudienceThreshold = 100 + #MailTipsLargeAudienceThreshold = 100 MailTipsMailboxSourcedTipsEnabled = $True MailTipsExternalRecipientsTipsEnabled = $True Ensure = "Present" diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMailTips/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMailTips/2-Update.ps1 index 7236cea8c1..77b38d9db2 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOMailTips/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMailTips/2-Update.ps1 @@ -27,7 +27,7 @@ Configuration Example IsSingleInstance = 'Yes' MailTipsAllTipsEnabled = $True MailTipsGroupMetricsEnabled = $False # Updated Property - MailTipsLargeAudienceThreshold = 100 + #MailTipsLargeAudienceThreshold = 100 MailTipsMailboxSourcedTipsEnabled = $True MailTipsExternalRecipientsTipsEnabled = $True Ensure = "Present" From 469c6f2179c3c33f9c5039f1974d1c7d7bf7a9a4 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Tue, 16 Jul 2024 18:25:33 +0000 Subject: [PATCH 103/123] Updated Resources and Cmdlet documentation pages --- docs/docs/resources/exchange/EXOMailTips.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/docs/resources/exchange/EXOMailTips.md b/docs/docs/resources/exchange/EXOMailTips.md index c7980b4ba8..166ea4f104 100644 --- a/docs/docs/resources/exchange/EXOMailTips.md +++ b/docs/docs/resources/exchange/EXOMailTips.md @@ -70,7 +70,7 @@ Configuration Example IsSingleInstance = 'Yes' MailTipsAllTipsEnabled = $True MailTipsGroupMetricsEnabled = $True - MailTipsLargeAudienceThreshold = 100 + #MailTipsLargeAudienceThreshold = 100 MailTipsMailboxSourcedTipsEnabled = $True MailTipsExternalRecipientsTipsEnabled = $True Ensure = "Present" @@ -112,7 +112,7 @@ Configuration Example IsSingleInstance = 'Yes' MailTipsAllTipsEnabled = $True MailTipsGroupMetricsEnabled = $False # Updated Property - MailTipsLargeAudienceThreshold = 100 + #MailTipsLargeAudienceThreshold = 100 MailTipsMailboxSourcedTipsEnabled = $True MailTipsExternalRecipientsTipsEnabled = $True Ensure = "Present" From b42e94f1695edc76f9742929a9ac870d6326658e Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Tue, 16 Jul 2024 18:27:29 +0000 Subject: [PATCH 104/123] Updated {Create} EXO Integration Tests --- .../Microsoft365DSC/M365DSCIntegration.EXO.Create.Tests.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Create.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Create.Tests.ps1 index ed059503f4..4c95d77baf 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Create.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Create.Tests.ps1 @@ -411,7 +411,7 @@ IsSingleInstance = 'Yes' MailTipsAllTipsEnabled = $True MailTipsGroupMetricsEnabled = $True - MailTipsLargeAudienceThreshold = 100 + #MailTipsLargeAudienceThreshold = 100 MailTipsMailboxSourcedTipsEnabled = $True MailTipsExternalRecipientsTipsEnabled = $True Ensure = "Present" From fb86df4bf02faea088ce14cbabcf23477b0c84a7 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Tue, 16 Jul 2024 18:27:52 +0000 Subject: [PATCH 105/123] Updated {Update} EXO Integration Tests --- .../Microsoft365DSC/M365DSCIntegration.EXO.Update.Tests.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Update.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Update.Tests.ps1 index 8b71b53fc9..01140822ab 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Update.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.EXO.Update.Tests.ps1 @@ -641,7 +641,7 @@ IsSingleInstance = 'Yes' MailTipsAllTipsEnabled = $True MailTipsGroupMetricsEnabled = $False # Updated Property - MailTipsLargeAudienceThreshold = 100 + #MailTipsLargeAudienceThreshold = 100 MailTipsMailboxSourcedTipsEnabled = $True MailTipsExternalRecipientsTipsEnabled = $True Ensure = "Present" From e2b8edce96c81dd5ad5ed35c48dce20297addba3 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Tue, 16 Jul 2024 20:46:30 +0000 Subject: [PATCH 106/123] Updated Resources and Cmdlet documentation pages --- .../intune/IntuneDiskEncryptionWindows10.md | 221 ++++++++++++++++++ 1 file changed, 221 insertions(+) create mode 100644 docs/docs/resources/intune/IntuneDiskEncryptionWindows10.md diff --git a/docs/docs/resources/intune/IntuneDiskEncryptionWindows10.md b/docs/docs/resources/intune/IntuneDiskEncryptionWindows10.md new file mode 100644 index 0000000000..1cf2a01ab2 --- /dev/null +++ b/docs/docs/resources/intune/IntuneDiskEncryptionWindows10.md @@ -0,0 +1,221 @@ +# IntuneDiskEncryptionWindows10 + +## Parameters + +| Parameter | Attribute | DataType | Description | Allowed Values | +| --- | --- | --- | --- | --- | +| **Description** | Write | String | Policy description | | +| **DisplayName** | Key | String | Policy name | | +| **RoleScopeTagIds** | Write | StringArray[] | List of Scope Tags for this Entity instance. | | +| **Id** | Write | String | The unique identifier for an entity. Read-only. | | +| **RequireDeviceEncryption** | Write | String | Require Device Encryption (0: Disabled, 1: Enabled) | `0`, `1` | +| **EncryptionMethodWithXts_Name** | Write | String | Choose drive encryption method and cipher strength (Windows 10 [Version 1511] and later) (0: Disabled, 1: Enabled) | `0`, `1` | +| **EncryptionMethodWithXtsOsDropDown_Name** | Write | String | Select the encryption method for operating system drives: (3: AES-CBC 128-bit, 4: AES-CBC 256-bit, 6: XTS-AES 128-bit (default), 7: XTS-AES 256-bit) | `3`, `4`, `6`, `7` | +| **EncryptionMethodWithXtsFdvDropDown_Name** | Write | String | Select the encryption method for fixed data drives: (3: AES-CBC 128-bit, 4: AES-CBC 256-bit, 6: XTS-AES 128-bit (default), 7: XTS-AES 256-bit) | `3`, `4`, `6`, `7` | +| **EncryptionMethodWithXtsRdvDropDown_Name** | Write | String | Select the encryption method for removable data drives: (3: AES-CBC 128-bit (default), 4: AES-CBC 256-bit, 6: XTS-AES 128-bit, 7: XTS-AES 256-bit) | `3`, `4`, `6`, `7` | +| **IdentificationField_Name** | Write | String | Provide the unique identifiers for your organization (0: Disabled, 1: Enabled) | `0`, `1` | +| **IdentificationField** | Write | String | BitLocker identification field: (Device) | | +| **SecIdentificationField** | Write | String | Allowed BitLocker identification field: (Device) | | +| **AllowWarningForOtherDiskEncryption** | Write | String | Allow Warning For Other Disk Encryption (0: Disabled, 1: Enabled) | `0`, `1` | +| **AllowStandardUserEncryption** | Write | String | Allow Standard User Encryption (0: This is the default, when the policy is not set. If current logged on user is a standard user, 'RequireDeviceEncryption' policy will not try to enable encryption on any drive., 1: 'RequireDeviceEncryption' policy will try to enable encryption on all fixed drives even if a current logged in user is standard user.) | `0`, `1` | +| **ConfigureRecoveryPasswordRotation** | Write | String | Configure Recovery Password Rotation (0: Refresh off (default), 1: Refresh on for Azure AD-joined devices, 2: Refresh on for both Azure AD-joined and hybrid-joined devices) | `0`, `1`, `2` | +| **OSEncryptionType_Name** | Write | String | Enforce drive encryption type on operating system drives (0: Disabled, 1: Enabled) | `0`, `1` | +| **OSEncryptionTypeDropDown_Name** | Write | String | Select the encryption type: (Device) (0: Allow user to choose (default), 1: Full encryption, 2: Used Space Only encryption) | `0`, `1`, `2` | +| **ConfigureAdvancedStartup_Name** | Write | String | Require additional authentication at startup (0: Disabled, 1: Enabled) | `0`, `1` | +| **ConfigureTPMStartupKeyUsageDropDown_Name** | Write | String | Configure TPM startup key: (2: Allow startup key with TPM, 1: Require startup key with TPM, 0: Do not allow startup key with TPM) | `2`, `1`, `0` | +| **ConfigureTPMPINKeyUsageDropDown_Name** | Write | String | Configure TPM startup key and PIN: (2: Allow startup key and PIN with TPM, 1: Require startup key and PIN with TPM, 0: Do not allow startup key and PIN with TPM) | `2`, `1`, `0` | +| **ConfigureTPMUsageDropDown_Name** | Write | String | Configure TPM startup: (2: Allow TPM, 1: Require TPM, 0: Do not allow TPM) | `2`, `1`, `0` | +| **ConfigureNonTPMStartupKeyUsage_Name** | Write | String | Allow BitLocker without a compatible TPM (requires a password or a startup key on a USB flash drive) (0: False, 1: True) | `0`, `1` | +| **ConfigurePINUsageDropDown_Name** | Write | String | Configure TPM startup PIN: (2: Allow startup PIN with TPM, 1: Require startup PIN with TPM, 0: Do not allow startup PIN with TPM) | `2`, `1`, `0` | +| **MinimumPINLength_Name** | Write | String | Configure minimum PIN length for startup (0: Disabled, 1: Enabled) | `0`, `1` | +| **MinPINLength** | Write | SInt32 | Minimum characters: | | +| **EnhancedPIN_Name** | Write | String | Allow enhanced PINs for startup (0: Disabled, 1: Enabled) | `0`, `1` | +| **DisallowStandardUsersCanChangePIN_Name** | Write | String | Disallow standard users from changing the PIN or password (0: Disabled, 1: Enabled) | `0`, `1` | +| **EnablePreBootPinExceptionOnDECapableDevice_Name** | Write | String | Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN. (0: Disabled, 1: Enabled) | `0`, `1` | +| **EnablePrebootInputProtectorsOnSlates_Name** | Write | String | Enable use of BitLocker authentication requiring preboot keyboard input on slates (0: Disabled, 1: Enabled) | `0`, `1` | +| **OSRecoveryUsage_Name** | Write | String | Choose how BitLocker-protected operating system drives can be recovered (0: Disabled, 1: Enabled) | `0`, `1` | +| **OSRequireActiveDirectoryBackup_Name** | Write | String | Do not enable BitLocker until recovery information is stored to AD DS for operating system drives (0: False, 1: True) | `0`, `1` | +| **OSActiveDirectoryBackup_Name** | Write | String | Save BitLocker recovery information to AD DS for operating system drives (0: False, 1: True) | `0`, `1` | +| **OSRecoveryPasswordUsageDropDown_Name** | Write | String | Configure user storage of BitLocker recovery information: (2: Allow 48-digit recovery password, 1: Require 48-digit recovery password, 0: Do not allow 48-digit recovery password) | `2`, `1`, `0` | +| **OSHideRecoveryPage_Name** | Write | String | Omit recovery options from the BitLocker setup wizard (0: False, 1: True) | `0`, `1` | +| **OSAllowDRA_Name** | Write | String | Allow data recovery agent (0: False, 1: True) | `0`, `1` | +| **OSRecoveryKeyUsageDropDown_Name** | Write | String | Configure OS recovery key usage: (2: Allow 256-bit recovery key, 1: Require 256-bit recovery key, 0: Do not allow 256-bit recovery key) | `2`, `1`, `0` | +| **OSActiveDirectoryBackupDropDown_Name** | Write | String | Configure storage of BitLocker recovery information to AD DS: (1: Store recovery passwords and key packages, 2: Store recovery passwords only) | `1`, `2` | +| **PrebootRecoveryInfo_Name** | Write | String | Configure pre-boot recovery message and URL (0: Disabled, 1: Enabled) | `0`, `1` | +| **PrebootRecoveryInfoDropDown_Name** | Write | String | Select an option for the pre-boot recovery message: (0: , 1: Use default recovery message and URL, 2: Use custom recovery message, 3: Use custom recovery URL) | `0`, `1`, `2`, `3` | +| **RecoveryUrl_Input** | Write | String | Custom recovery URL option: | | +| **RecoveryMessage_Input** | Write | String | Custom recovery message option: | | +| **FDVEncryptionType_Name** | Write | String | Enforce drive encryption type on fixed data drives (0: Disabled, 1: Enabled) | `0`, `1` | +| **FDVEncryptionTypeDropDown_Name** | Write | String | Select the encryption type: (Device) (0: Allow user to choose (default), 1: Full encryption, 2: Used Space Only encryption) | `0`, `1`, `2` | +| **FDVRecoveryUsage_Name** | Write | String | Choose how BitLocker-protected fixed drives can be recovered (0: Disabled, 1: Enabled) | `0`, `1` | +| **FDVActiveDirectoryBackup_Name** | Write | String | Save BitLocker recovery information to AD DS for fixed data drives (0: False, 1: True) | `0`, `1` | +| **FDVHideRecoveryPage_Name** | Write | String | Omit recovery options from the BitLocker setup wizard (0: False, 1: True) | `0`, `1` | +| **FDVRecoveryPasswordUsageDropDown_Name** | Write | String | Configure user storage of BitLocker recovery information: (2: Allow 48-digit recovery password, 1: Require 48-digit recovery password, 0: Do not allow 48-digit recovery password) | `2`, `1`, `0` | +| **FDVRequireActiveDirectoryBackup_Name** | Write | String | Do not enable BitLocker until recovery information is stored to AD DS for fixed data drives (0: False, 1: True) | `0`, `1` | +| **FDVAllowDRA_Name** | Write | String | Allow data recovery agent (0: False, 1: True) | `0`, `1` | +| **FDVActiveDirectoryBackupDropDown_Name** | Write | String | Configure storage of BitLocker recovery information to AD DS: (1: Backup recovery passwords and key packages, 2: Backup recovery passwords only) | `1`, `2` | +| **FDVRecoveryKeyUsageDropDown_Name** | Write | String | Select the fixed drive recovery key usage: (2: Allow 256-bit recovery key, 1: Require 256-bit recovery key, 0: Do not allow 256-bit recovery key) | `2`, `1`, `0` | +| **FDVDenyWriteAccess_Name** | Write | String | Deny write access to fixed drives not protected by BitLocker (0: Disabled, 1: Enabled) | `0`, `1` | +| **RDVConfigureBDE** | Write | String | Control use of BitLocker on removable drives (0: Disabled, 1: Enabled) | `0`, `1` | +| **RDVAllowBDE_Name** | Write | String | Allow users to apply BitLocker protection on removable data drives (Device) (0: False, 1: True) | `0`, `1` | +| **RDVEncryptionType_Name** | Write | String | Enforce drive encryption type on removable data drives (0: Disabled, 1: Enabled) | `0`, `1` | +| **RDVEncryptionTypeDropDown_Name** | Write | String | Select the encryption type: (Device) (0: Allow user to choose (default), 1: Full encryption, 2: Used Space Only encryption) | `0`, `1`, `2` | +| **RDVDisableBDE_Name** | Write | String | Allow users to suspend and decrypt BitLocker protection on removable data drives (Device) (0: False, 1: True) | `0`, `1` | +| **RDVDenyWriteAccess_Name** | Write | String | Deny write access to removable drives not protected by BitLocker (0: Disabled, 1: Enabled) | `0`, `1` | +| **RDVCrossOrg** | Write | String | Do not allow write access to devices configured in another organization (0: False, 1: True) | `0`, `1` | +| **Assignments** | Write | MSFT_DeviceManagementConfigurationPolicyAssignments[] | Represents the assignment to the Intune policy. | | +| **Ensure** | Write | String | Present ensures the policy exists, absent ensures it is removed. | `Present`, `Absent` | +| **Credential** | Write | PSCredential | Credentials of the Admin | | +| **ApplicationId** | Write | String | Id of the Azure Active Directory application to authenticate with. | | +| **TenantId** | Write | String | Id of the Azure Active Directory tenant used for authentication. | | +| **ApplicationSecret** | Write | PSCredential | Secret of the Azure Active Directory tenant used for authentication. | | +| **CertificateThumbprint** | Write | String | Thumbprint of the Azure Active Directory application's authentication certificate to use for authentication. | | +| **ManagedIdentity** | Write | Boolean | Managed ID being used for authentication. | | +| **AccessTokens** | Write | StringArray[] | Access token used for authentication. | | + +### MSFT_DeviceManagementConfigurationPolicyAssignments + +#### Parameters + +| Parameter | Attribute | DataType | Description | Allowed Values | +| --- | --- | --- | --- | --- | +| **dataType** | Write | String | The type of the target assignment. | `#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. | | +| **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) | | + + +## Description + +Intune Disk Encryption for Windows10 + +## Permissions + +### Microsoft Graph + +To authenticate with the Microsoft Graph API, this resource required the following permissions: + +#### Delegated permissions + +- **Read** + + - DeviceManagementConfiguration.Read.All + +- **Update** + + - DeviceManagementConfiguration.ReadWrite.All + +#### Application permissions + +- **Read** + + - DeviceManagementConfiguration.Read.All + +- **Update** + + - DeviceManagementConfiguration.ReadWrite.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. + +```powershell +Configuration Example +{ + param( + [Parameter(Mandatory = $true)] + [PSCredential] + $Credscredential + ) + Import-DscResource -ModuleName Microsoft365DSC + + Node localhost + { + IntuneDiskEncryptionWindows10 'myDiskEncryption' + { + DisplayName = 'Disk Encryption' + Assignments = @( + MSFT_DeviceManagementConfigurationPolicyAssignments { + deviceAndAppManagementAssignmentFilterType = 'none' + dataType = '#microsoft.graph.allDevicesAssignmentTarget' + }) + Description = '' + IdentificationField_Name = '1' + IdentificationField = 'IdentificationField' + SecIdentificationField = 'SecIdentificationField' + Ensure = 'Present' + Credential = $Credscredential + } + } +} +``` + +### 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. + +```powershell +Configuration Example +{ + param( + [Parameter(Mandatory = $true)] + [PSCredential] + $Credscredential + ) + Import-DscResource -ModuleName Microsoft365DSC + + Node localhost + { + IntuneDiskEncryptionWindows10 'myDiskEncryption' + { + DisplayName = 'Disk Encryption' + Assignments = @( + MSFT_DeviceManagementConfigurationPolicyAssignments { + deviceAndAppManagementAssignmentFilterType = 'none' + dataType = '#microsoft.graph.allDevicesAssignmentTarget' + }) + Description = '' + IdentificationField_Name = '1' + IdentificationField = 'IdentificationField' + SecIdentificationField = 'UpdatedSecIdentificationField' # Updated property + Ensure = 'Present' + Credential = $Credscredential + } + } +} +``` + +### 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. + +```powershell +Configuration Example +{ + param( + [Parameter(Mandatory = $true)] + [PSCredential] + $Credscredential + ) + Import-DscResource -ModuleName Microsoft365DSC + + Node localhost + { + IntuneDiskEncryptionWindows10 'myDiskEncryption' + { + DisplayName = 'Disk Encryption' + Description = '' + Ensure = 'Absent' + Credential = $Credscredential + } + } +} +``` + From 82e73349757512842d94fe24efc8e74093a66e8b Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Tue, 16 Jul 2024 20:47:57 +0000 Subject: [PATCH 107/123] Updated Schema Definition --- Modules/Microsoft365DSC/SchemaDefinition.json | 345 ++++++++++++++++++ 1 file changed, 345 insertions(+) diff --git a/Modules/Microsoft365DSC/SchemaDefinition.json b/Modules/Microsoft365DSC/SchemaDefinition.json index 43582ff5b9..6625c55248 100644 --- a/Modules/Microsoft365DSC/SchemaDefinition.json +++ b/Modules/Microsoft365DSC/SchemaDefinition.json @@ -29799,6 +29799,351 @@ } ] }, + { + "ClassName": "MSFT_IntuneDiskEncryptionWindows10", + "Parameters": [ + { + "CIMType": "String", + "Name": "Description", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "DisplayName", + "Option": "Key" + }, + { + "CIMType": "String[]", + "Name": "RoleScopeTagIds", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "Id", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "RequireDeviceEncryption", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "EncryptionMethodWithXts_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "EncryptionMethodWithXtsOsDropDown_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "EncryptionMethodWithXtsFdvDropDown_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "EncryptionMethodWithXtsRdvDropDown_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "IdentificationField_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "IdentificationField", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "SecIdentificationField", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "AllowWarningForOtherDiskEncryption", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "AllowStandardUserEncryption", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "ConfigureRecoveryPasswordRotation", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "OSEncryptionType_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "OSEncryptionTypeDropDown_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "ConfigureAdvancedStartup_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "ConfigureTPMStartupKeyUsageDropDown_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "ConfigureTPMPINKeyUsageDropDown_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "ConfigureTPMUsageDropDown_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "ConfigureNonTPMStartupKeyUsage_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "ConfigurePINUsageDropDown_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "MinimumPINLength_Name", + "Option": "Write" + }, + { + "CIMType": "SInt32", + "Name": "MinPINLength", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "EnhancedPIN_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "DisallowStandardUsersCanChangePIN_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "EnablePreBootPinExceptionOnDECapableDevice_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "EnablePrebootInputProtectorsOnSlates_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "OSRecoveryUsage_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "OSRequireActiveDirectoryBackup_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "OSActiveDirectoryBackup_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "OSRecoveryPasswordUsageDropDown_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "OSHideRecoveryPage_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "OSAllowDRA_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "OSRecoveryKeyUsageDropDown_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "OSActiveDirectoryBackupDropDown_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "PrebootRecoveryInfo_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "PrebootRecoveryInfoDropDown_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "RecoveryUrl_Input", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "RecoveryMessage_Input", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "FDVEncryptionType_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "FDVEncryptionTypeDropDown_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "FDVRecoveryUsage_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "FDVActiveDirectoryBackup_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "FDVHideRecoveryPage_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "FDVRecoveryPasswordUsageDropDown_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "FDVRequireActiveDirectoryBackup_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "FDVAllowDRA_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "FDVActiveDirectoryBackupDropDown_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "FDVRecoveryKeyUsageDropDown_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "FDVDenyWriteAccess_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "RDVConfigureBDE", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "RDVAllowBDE_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "RDVEncryptionType_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "RDVEncryptionTypeDropDown_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "RDVDisableBDE_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "RDVDenyWriteAccess_Name", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "RDVCrossOrg", + "Option": "Write" + }, + { + "CIMType": "MSFT_DeviceManagementConfigurationPolicyAssignments[]", + "Name": "Assignments", + "Option": "Write" + }, + { + "CIMType": "string", + "Name": "Ensure", + "Option": "Write" + }, + { + "CIMType": "MSFT_Credential", + "Name": "Credential", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "ApplicationId", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "TenantId", + "Option": "Write" + }, + { + "CIMType": "MSFT_Credential", + "Name": "ApplicationSecret", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "CertificateThumbprint", + "Option": "Write" + }, + { + "CIMType": "Boolean", + "Name": "ManagedIdentity", + "Option": "Write" + }, + { + "CIMType": "String[]", + "Name": "AccessTokens", + "Option": "Write" + } + ] + }, { "ClassName": "MSFT_IntuneEndpointDetectionAndResponsePolicyWindows10", "Parameters": [ From 07c11a874a6a254ac0a57ed69c560e320dde4dcb Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Tue, 16 Jul 2024 20:48:40 +0000 Subject: [PATCH 108/123] Updated {Create} Intune Integration Tests --- .../M365DSCIntegration.INTUNE.Create.Tests.ps1 | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.INTUNE.Create.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.INTUNE.Create.Tests.ps1 index 4650b4880f..f412b4e951 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.INTUNE.Create.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.INTUNE.Create.Tests.ps1 @@ -2089,6 +2089,21 @@ SelectedRecoveryKeyTypes = @("personalRecoveryKey"); Credential = $Credscredential } + IntuneDiskEncryptionWindows10 'myDiskEncryption' + { + DisplayName = 'Disk Encryption' + Assignments = @( + MSFT_DeviceManagementConfigurationPolicyAssignments { + deviceAndAppManagementAssignmentFilterType = 'none' + dataType = '#microsoft.graph.allDevicesAssignmentTarget' + }) + Description = '' + IdentificationField_Name = '1' + IdentificationField = 'IdentificationField' + SecIdentificationField = 'SecIdentificationField' + Ensure = 'Present' + Credential = $Credscredential + } IntuneEndpointDetectionAndResponsePolicyWindows10 'myEDRPolicy' { DisplayName = 'Edr Policy' From d7b083757a57500f5f4793d958581a3893805e6e Mon Sep 17 00:00:00 2001 From: Ricardo Mestre Date: Wed, 17 Jul 2024 09:46:30 +0100 Subject: [PATCH 109/123] Fix export --- CHANGELOG.md | 9 ++++++--- ...ceConfigurationEmailProfilePolicyWindows10.psm1 | 14 +++++++------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a6bc0bff91..6bef69a38c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,16 +5,19 @@ * EXOHostedOutboundSpamFilterPolicy * Changed the RecipientLimitInternalPerHour, RecipientLimitPerDay, and RecipientLimitExternalPerHour parameters to UInt32. +* IntuneDeviceConfigurationEmailProfilePolicyWindows10 + * Fix export by fixing some typos and from where values are extracted + FIXES [#3960](https://github.com/microsoft/Microsoft365DSC/issues/3960) * IntuneDiskEncryptionWindows10 - * Initial Release + * Initial Release FIXES [#4050](https://github.com/microsoft/Microsoft365DSC/issues/4050) * M365DSCDRGUtil * Fixes an issue with nested and duplicate settings in the settings catalog * M365DSCResourceGenerator * Update Intune resource generation. * M365DSCReport - * Changes behaviour to not throw on empty configuration during report generation. - FIXES [#4559](https://github.com/microsoft/Microsoft365DSC/issues/4559) + * Changes behaviour to not throw on empty configuration during report generation. + FIXES [#4559](https://github.com/microsoft/Microsoft365DSC/issues/4559) FIXES [#4505](https://github.com/microsoft/Microsoft365DSC/issues/4505) * Fixes an issue where the comparison treats empty arrays as an empty string. FIXES [#4796](https://github.com/microsoft/Microsoft365DSC/issues/4796) diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDeviceConfigurationEmailProfilePolicyWindows10/MSFT_IntuneDeviceConfigurationEmailProfilePolicyWindows10.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDeviceConfigurationEmailProfilePolicyWindows10/MSFT_IntuneDeviceConfigurationEmailProfilePolicyWindows10.psm1 index 42e74512bb..f80396316e 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDeviceConfigurationEmailProfilePolicyWindows10/MSFT_IntuneDeviceConfigurationEmailProfilePolicyWindows10.psm1 +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneDeviceConfigurationEmailProfilePolicyWindows10/MSFT_IntuneDeviceConfigurationEmailProfilePolicyWindows10.psm1 @@ -187,21 +187,21 @@ function Get-TargetResource } $enumUserDomainNameSource = $null - if ($null -ne $getValue.UserDomainNameSource) + if ($null -ne $getValue.AdditionalProperties.userDomainNameSource) { - $enumUserDomainNameSource = $getValue.UserDomainNameSource.ToString() + $enumUserDomainNameSource = $getValue.AdditionalProperties.userDomainNameSource.ToString() } $enumUsernameAADSource = $null - if ($null -ne $getValue.UsernameAADSource) + if ($null -ne $getValue.AdditionalProperties.usernameAADSource) { - $enumUsernameAADSource = $getValue.UsernameAADSource.ToString() + $enumUsernameAADSource = $getValue.AdditionalProperties.usernameAADSource.ToString() } $enumUsernameSource = $null - if ($null -ne $getValue.UsernameSource) + if ($null -ne $getValue.AdditionalProperties.usernameSource) { - $enumUsernameSource = $getValue.UsernameSource.ToString() + $enumUsernameSource = $getValue.AdditionalProperties.usernameSource.ToString() } #endregion @@ -216,7 +216,7 @@ function Get-TargetResource SyncCalendar = $getValue.AdditionalProperties.syncCalendar SyncContacts = $getValue.AdditionalProperties.syncContacts SyncTasks = $getValue.AdditionalProperties.syncTasks - CustomDomainName = $getValue.CustomDomainName + CustomDomainName = $getValue.AdditionalProperties.customDomainName UserDomainNameSource = $enumUserDomainNameSource UsernameAADSource = $enumUsernameAADSource UsernameSource = $enumUsernameSource From 15e741f4c7428567ab2f89a9a57b6574008bb1e1 Mon Sep 17 00:00:00 2001 From: Ricardo Mestre Date: Wed, 17 Jul 2024 10:05:44 +0100 Subject: [PATCH 110/123] Fix Unit Tests --- ...ationEmailProfilePolicyWindows10.Tests.ps1 | 35 +++++++++---------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/Tests/Unit/Microsoft365DSC/Microsoft365DSC.IntuneDeviceConfigurationEmailProfilePolicyWindows10.Tests.ps1 b/Tests/Unit/Microsoft365DSC/Microsoft365DSC.IntuneDeviceConfigurationEmailProfilePolicyWindows10.Tests.ps1 index 2b699602e9..390bac5e29 100644 --- a/Tests/Unit/Microsoft365DSC/Microsoft365DSC.IntuneDeviceConfigurationEmailProfilePolicyWindows10.Tests.ps1 +++ b/Tests/Unit/Microsoft365DSC/Microsoft365DSC.IntuneDeviceConfigurationEmailProfilePolicyWindows10.Tests.ps1 @@ -127,15 +127,14 @@ Describe -Name $Global:DscHelper.DescribeHeader -Fixture { emailAddressSource = "userPrincipalName" durationOfEmailToSync = "userDefined" syncCalendar = $True + customDomainName = "FakeStringValue" + userDomainNameSource = "fullDomainName" + usernameAADSource = "userPrincipalName" + usernameSource = "userPrincipalName" } - CustomDomainName = "FakeStringValue" Description = "FakeStringValue" DisplayName = "FakeStringValue" Id = "FakeStringValue" - UserDomainNameSource = "fullDomainName" - UsernameAADSource = "userPrincipalName" - UsernameSource = "userPrincipalName" - } } } @@ -189,15 +188,14 @@ Describe -Name $Global:DscHelper.DescribeHeader -Fixture { emailAddressSource = "userPrincipalName" durationOfEmailToSync = "userDefined" syncCalendar = $True + customDomainName = "FakeStringValue" + userDomainNameSource = "fullDomainName" + usernameAADSource = "userPrincipalName" + usernameSource = "userPrincipalName" } - CustomDomainName = "FakeStringValue" Description = "FakeStringValue" DisplayName = "FakeStringValue" Id = "FakeStringValue" - UserDomainNameSource = "fullDomainName" - UsernameAADSource = "userPrincipalName" - UsernameSource = "userPrincipalName" - } } } @@ -240,14 +238,14 @@ Describe -Name $Global:DscHelper.DescribeHeader -Fixture { emailSyncSchedule = "userDefined" emailAddressSource = "userPrincipalName" durationOfEmailToSync = "userDefined" + customDomainName = "FakeStringValue" + userDomainNameSource = "fullDomainName" + usernameAADSource = "userPrincipalName" + usernameSource = "userPrincipalName" } - CustomDomainName = "FakeStringValue" Description = "FakeStringValue" DisplayName = "FakeStringValue" Id = "FakeStringValue" - UserDomainNameSource = "fullDomainName" - UsernameAADSource = "userPrincipalName" - UsernameSource = "userPrincipalName" } } } @@ -287,15 +285,14 @@ Describe -Name $Global:DscHelper.DescribeHeader -Fixture { emailAddressSource = "userPrincipalName" durationOfEmailToSync = "userDefined" syncCalendar = $True + customDomainName = "FakeStringValue" + userDomainNameSource = "fullDomainName" + usernameAADSource = "userPrincipalName" + usernameSource = "userPrincipalName" } - CustomDomainName = "FakeStringValue" Description = "FakeStringValue" DisplayName = "FakeStringValue" Id = "FakeStringValue" - UserDomainNameSource = "fullDomainName" - UsernameAADSource = "userPrincipalName" - UsernameSource = "userPrincipalName" - } } } From dd6c1ff61de7ffbba336ca6fdea7c6dbf724c2db Mon Sep 17 00:00:00 2001 From: ketumbra <80352736+ketumbra@users.noreply.github.com> Date: Wed, 17 Jul 2024 15:52:20 +0200 Subject: [PATCH 111/123] write failures to error output Change failures from verbose to error output --- .../MSFT_AADConditionalAccessPolicy.psm1 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_AADConditionalAccessPolicy/MSFT_AADConditionalAccessPolicy.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_AADConditionalAccessPolicy/MSFT_AADConditionalAccessPolicy.psm1 index d7d6ba740b..22b0269d5a 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_AADConditionalAccessPolicy/MSFT_AADConditionalAccessPolicy.psm1 +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_AADConditionalAccessPolicy/MSFT_AADConditionalAccessPolicy.psm1 @@ -1666,7 +1666,7 @@ function Set-TargetResource -TenantId $TenantId ` -Credential $Credential - Write-Verbose -Message "Set-Targetresource: Failed change policy $DisplayName" + Write-Error -Message "Set-Targetresource: Failed change policy $DisplayName" } } elseif ($Ensure -eq 'Present' -and $currentPolicy.Ensure -eq 'Absent') @@ -1689,7 +1689,7 @@ function Set-TargetResource -TenantId $TenantId ` -Credential $Credential - Write-Verbose -Message 'Set-Targetresource: Failed creating new policy' + Write-Error -Message 'Set-Targetresource: Failed creating new policy' } } else @@ -1699,7 +1699,7 @@ function Set-TargetResource -TenantId $TenantId ` -Credential $Credential - Write-Verbose -Message 'Set-Targetresource: Failed creating new policy. At least a user rule, application rule and grant or session control is required' + Write-Error -Message 'Set-Targetresource: Failed creating new policy. At least a user rule, application rule and grant or session control is required' } } elseif ($Ensure -eq 'Absent' -and $currentPolicy.Ensure -eq 'Present') @@ -1717,7 +1717,7 @@ function Set-TargetResource -TenantId $TenantId ` -Credential $Credential - Write-Verbose -Message "Set-Targetresource: Failed deleting policy $DisplayName" + Write-Error -Message "Set-Targetresource: Failed deleting policy $DisplayName" } } Write-Verbose -Message "Set-Targetresource: Finished processing Policy $Displayname" From 44fbbf7f5cc9bfd2a251e7daa66b2d1f9aa4869f Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Wed, 17 Jul 2024 14:11:28 +0000 Subject: [PATCH 112/123] Updated Resources and Cmdlet documentation pages --- ...orBusinessQualityUpdateProfileWindows10.md | 185 ++++++++++++++++++ 1 file changed, 185 insertions(+) create mode 100644 docs/docs/resources/intune/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10.md diff --git a/docs/docs/resources/intune/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10.md b/docs/docs/resources/intune/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10.md new file mode 100644 index 0000000000..4384cdfcec --- /dev/null +++ b/docs/docs/resources/intune/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10.md @@ -0,0 +1,185 @@ +# IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10 + +## Parameters + +| Parameter | Attribute | DataType | Description | Allowed Values | +| --- | --- | --- | --- | --- | +| **DisplayName** | Key | String | The display name for the profile. | | +| **Description** | Write | String | The description of the profile. | | +| **ExpeditedUpdateSettings** | Write | MSFT_MicrosoftGraphexpeditedWindowsQualityUpdateSettings | Expedited update settings. | | +| **RoleScopeTagIds** | Write | StringArray[] | List of Scope Tags for this Quality Update entity. | | +| **Id** | Write | String | The unique identifier for an entity. Read-only. | | +| **Assignments** | Write | MSFT_DeviceManagementConfigurationPolicyAssignments[] | Represents the assignment to the Intune policy. | | +| **Ensure** | Write | String | Present ensures the policy exists, absent ensures it is removed. | `Present`, `Absent` | +| **Credential** | Write | PSCredential | Credentials of the Admin | | +| **ApplicationId** | Write | String | Id of the Azure Active Directory application to authenticate with. | | +| **TenantId** | Write | String | Id of the Azure Active Directory tenant used for authentication. | | +| **ApplicationSecret** | Write | PSCredential | Secret of the Azure Active Directory tenant used for authentication. | | +| **CertificateThumbprint** | Write | String | Thumbprint of the Azure Active Directory application's authentication certificate to use for authentication. | | +| **ManagedIdentity** | Write | Boolean | Managed ID being used for authentication. | | +| **AccessTokens** | Write | StringArray[] | Access token used for authentication. | | + +### MSFT_DeviceManagementConfigurationPolicyAssignments + +#### Parameters + +| Parameter | Attribute | DataType | Description | Allowed Values | +| --- | --- | --- | --- | --- | +| **dataType** | Write | String | The type of the target assignment. | `#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. | | +| **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_MicrosoftGraphExpeditedWindowsQualityUpdateSettings + +#### Parameters + +| Parameter | Attribute | DataType | Description | Allowed Values | +| --- | --- | --- | --- | --- | +| **DaysUntilForcedReboot** | Write | UInt32 | The number of days after installation that forced reboot will happen. Must be in range from 0 to 2. | | +| **QualityUpdateRelease** | Write | String | The release date to identify a quality update. Format is yyyy-MM-ddT00:00:00Z. | | + + +## Description + +Intune Windows Update For Business Quality Update Profile for Windows10 + +## Permissions + +### Microsoft Graph + +To authenticate with the Microsoft Graph API, this resource required the following permissions: + +#### Delegated permissions + +- **Read** + + - DeviceManagementConfiguration.Read.All + +- **Update** + + - DeviceManagementConfiguration.ReadWrite.All + +#### Application permissions + +- **Read** + + - DeviceManagementConfiguration.Read.All + +- **Update** + + - DeviceManagementConfiguration.ReadWrite.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. + +```powershell +Configuration Example +{ + param( + [Parameter(Mandatory = $true)] + [PSCredential] + $Credscredential + ) + Import-DscResource -ModuleName Microsoft365DSC + + node localhost + { + IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10 'Example' + { + Assignments = @( + MSFT_DeviceManagementConfigurationPolicyAssignments{ + deviceAndAppManagementAssignmentFilterType = 'none' + groupDisplayName = 'Exclude' + dataType = '#microsoft.graph.exclusionGroupAssignmentTarget' + groupId = '258a1749-8408-4dd0-8028-fab6208a28d7' + } + ); + DisplayName = 'Windows Quality Update' + Description = '' + ExpeditedUpdateSettings = MSFT_MicrosoftGraphexpeditedWindowsQualityUpdateSettings{ + QualityUpdateRelease = '2024-06-11T00:00:00Z' + DaysUntilForcedReboot = 0 + } + RoleScopeTagIds = @("0") + Ensure = 'Present' + Credential = $Credscredential + } + } +} +``` + +### 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. + +```powershell +Configuration Example +{ + param( + [Parameter(Mandatory = $true)] + [PSCredential] + $Credscredential + ) + Import-DscResource -ModuleName Microsoft365DSC + + node localhost + { + IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10 'Example' + { + Assignments = @( + MSFT_DeviceManagementConfigurationPolicyAssignments{ + deviceAndAppManagementAssignmentFilterType = 'none' + groupDisplayName = 'Exclude' + dataType = '#microsoft.graph.exclusionGroupAssignmentTarget' + groupId = '258a1749-8408-4dd0-8028-fab6208a28d7' + } + ); + DisplayName = 'Windows Quality Update' + Description = '' + ExpeditedUpdateSettings = MSFT_MicrosoftGraphexpeditedWindowsQualityUpdateSettings{ + QualityUpdateRelease = '2024-06-11T00:00:00Z' + DaysUntilForcedReboot = 1 # Updated property + } + RoleScopeTagIds = @("0") + Ensure = 'Present' + Credential = $Credscredential + } + } +} +``` + +### 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. + +```powershell +Configuration Example +{ + param( + [Parameter(Mandatory = $true)] + [PSCredential] + $Credscredential + ) + Import-DscResource -ModuleName Microsoft365DSC + + node localhost + { + IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10 'Example' + { + DisplayName = 'Windows Quality Update' + Ensure = 'Absent' + Credential = $Credscredential + } + } +} +``` + From 227c67b4db704314ed7d9f1da6aee179b8f662be Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Wed, 17 Jul 2024 14:13:03 +0000 Subject: [PATCH 113/123] Updated Schema Definition --- Modules/Microsoft365DSC/SchemaDefinition.json | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) diff --git a/Modules/Microsoft365DSC/SchemaDefinition.json b/Modules/Microsoft365DSC/SchemaDefinition.json index 6625c55248..ee276441d1 100644 --- a/Modules/Microsoft365DSC/SchemaDefinition.json +++ b/Modules/Microsoft365DSC/SchemaDefinition.json @@ -32904,6 +32904,96 @@ } ] }, + { + "ClassName": "MSFT_MicrosoftGraphExpeditedWindowsQualityUpdateSettings", + "Parameters": [ + { + "CIMType": "UInt32", + "Name": "DaysUntilForcedReboot", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "QualityUpdateRelease", + "Option": "Write" + } + ] + }, + { + "ClassName": "MSFT_IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10", + "Parameters": [ + { + "CIMType": "String", + "Name": "DisplayName", + "Option": "Key" + }, + { + "CIMType": "String", + "Name": "Description", + "Option": "Write" + }, + { + "CIMType": "MSFT_MicrosoftGraphexpeditedWindowsQualityUpdateSettings", + "Name": "ExpeditedUpdateSettings", + "Option": "Write" + }, + { + "CIMType": "String[]", + "Name": "RoleScopeTagIds", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "Id", + "Option": "Write" + }, + { + "CIMType": "MSFT_DeviceManagementConfigurationPolicyAssignments[]", + "Name": "Assignments", + "Option": "Write" + }, + { + "CIMType": "string", + "Name": "Ensure", + "Option": "Write" + }, + { + "CIMType": "MSFT_Credential", + "Name": "Credential", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "ApplicationId", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "TenantId", + "Option": "Write" + }, + { + "CIMType": "MSFT_Credential", + "Name": "ApplicationSecret", + "Option": "Write" + }, + { + "CIMType": "String", + "Name": "CertificateThumbprint", + "Option": "Write" + }, + { + "CIMType": "Boolean", + "Name": "ManagedIdentity", + "Option": "Write" + }, + { + "CIMType": "String[]", + "Name": "AccessTokens", + "Option": "Write" + } + ] + }, { "ClassName": "MSFT_MicrosoftGraphWindowsUpdateInstallScheduleType", "Parameters": [ From 50aeed0cf0f36d096196482fe560d5c00f133381 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Wed, 17 Jul 2024 14:13:25 +0000 Subject: [PATCH 114/123] Updated {Create} Intune Integration Tests --- ...M365DSCIntegration.INTUNE.Create.Tests.ps1 | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.INTUNE.Create.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.INTUNE.Create.Tests.ps1 index f412b4e951..56ebc9d99e 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.INTUNE.Create.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.INTUNE.Create.Tests.ps1 @@ -2674,6 +2674,26 @@ Ensure = 'Present' Credential = $Credscredential } + IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10 'Example' + { + Assignments = @( + MSFT_DeviceManagementConfigurationPolicyAssignments{ + deviceAndAppManagementAssignmentFilterType = 'none' + groupDisplayName = 'Exclude' + dataType = '#microsoft.graph.exclusionGroupAssignmentTarget' + groupId = '258a1749-8408-4dd0-8028-fab6208a28d7' + } + ); + DisplayName = 'Windows Quality Update' + Description = '' + ExpeditedUpdateSettings = MSFT_MicrosoftGraphexpeditedWindowsQualityUpdateSettings{ + QualityUpdateRelease = '2024-06-11T00:00:00Z' + DaysUntilForcedReboot = 0 + } + RoleScopeTagIds = @("0") + Ensure = 'Present' + Credential = $Credscredential + } IntuneWindowsUpdateForBusinessRingUpdateProfileWindows10 'Example' { DisplayName = 'WUfB Ring' From 2b017e26b49b47bbf05b5969264568f52fecd3e2 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Wed, 17 Jul 2024 10:25:13 -0400 Subject: [PATCH 115/123] Improved performance of SPOSharingSettings --- CHANGELOG.md | 6 ++++-- .../MSFT_SPOSharingSettings/MSFT_SPOSharingSettings.psm1 | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb6f3159d0..70f2603a47 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,9 +5,11 @@ * EXOHostedOutboundSpamFilterPolicy * Changed the RecipientLimitInternalPerHour, RecipientLimitPerDay, and RecipientLimitExternalPerHour parameters to UInt32. +* SPOSharingSettings + * Improved performance by using -Filter on Get-PnPTenantSite calls. * M365DSCReport - * Changes behaviour to not throw on empty configuration during report generation. - FIXES [#4559](https://github.com/microsoft/Microsoft365DSC/issues/4559) + * Changes behaviour to not throw on empty configuration during report generation. + FIXES [#4559](https://github.com/microsoft/Microsoft365DSC/issues/4559) FIXES [#4505](https://github.com/microsoft/Microsoft365DSC/issues/4505) # 1.24.710.3 diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_SPOSharingSettings/MSFT_SPOSharingSettings.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_SPOSharingSettings/MSFT_SPOSharingSettings.psm1 index 5aaa8340ba..f412d6b79f 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_SPOSharingSettings/MSFT_SPOSharingSettings.psm1 +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_SPOSharingSettings/MSFT_SPOSharingSettings.psm1 @@ -173,7 +173,7 @@ function Get-TargetResource try { $SPOSharingSettings = Get-PnPTenant -ErrorAction Stop - $MySite = Get-PnPTenantSite | Where-Object { $_.Url -match '-my.sharepoint.' -and $_.Template -notmatch '^RedirectSite#' } + $MySite = Get-PnPTenantSite -Filter "Url -like '-my.sharepoint.' -and Template -notlike '^RedirectSite#'" if ($null -ne $MySite) { @@ -532,7 +532,7 @@ function Set-TargetResource Set-PnPTenant @CurrentParameters | Out-Null if ($SetMySharingCapability) { - $mysite = Get-PnPTenantSite | Where-Object { $_.Url -match '-my.sharepoint.com/' -and $_.Template -notmatch '^RedirectSite#' } + $mysite = Get-PnPTenantSite -Filter "Url -like '-my.sharepoint.' -and Template -notlike '^RedirectSite#'" Set-PnPTenantSite -Identity $mysite.Url -SharingCapability $MySiteSharingCapability } } From 1c9f4505e5b7aaa6551b918529efd11369a23ff8 Mon Sep 17 00:00:00 2001 From: ketumbra <80352736+ketumbra@users.noreply.github.com> Date: Wed, 17 Jul 2024 20:35:41 +0200 Subject: [PATCH 116/123] Update CHANGELOG.md add description of changes to error output --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a6bc0bff91..37d7252fa6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ # UNRELEASED +* MSFT_AADConditionalAccessPolicy + * Made failures write to the error output instead of just verbose * EXOHostedOutboundSpamFilterPolicy * Changed the RecipientLimitInternalPerHour, RecipientLimitPerDay, and RecipientLimitExternalPerHour parameters to UInt32. From e133e3c1057f6f45b387e861deb3d36902aaf163 Mon Sep 17 00:00:00 2001 From: ketumbra <80352736+ketumbra@users.noreply.github.com> Date: Wed, 17 Jul 2024 20:44:01 +0200 Subject: [PATCH 117/123] minor error msg tweak Made failures during chang*ing* a policy use consistent tense as for errors when deleting and creating a policy --- .../MSFT_AADConditionalAccessPolicy.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_AADConditionalAccessPolicy/MSFT_AADConditionalAccessPolicy.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_AADConditionalAccessPolicy/MSFT_AADConditionalAccessPolicy.psm1 index 22b0269d5a..c64c6aba13 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_AADConditionalAccessPolicy/MSFT_AADConditionalAccessPolicy.psm1 +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_AADConditionalAccessPolicy/MSFT_AADConditionalAccessPolicy.psm1 @@ -1666,7 +1666,7 @@ function Set-TargetResource -TenantId $TenantId ` -Credential $Credential - Write-Error -Message "Set-Targetresource: Failed change policy $DisplayName" + Write-Error -Message "Set-Targetresource: Failed changing policy $DisplayName" } } elseif ($Ensure -eq 'Present' -and $currentPolicy.Ensure -eq 'Absent') From 3af7773a201887d78abc01a61a07cb479197a0d2 Mon Sep 17 00:00:00 2001 From: Ricardo Mestre Date: Wed, 17 Jul 2024 20:51:57 +0100 Subject: [PATCH 118/123] Change to SPN auth in Intune tests --- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 19 +++++++++++++----- .../2-Update.ps1 | 19 +++++++++++++----- .../3-Remove.ps1 | 19 +++++++++++++----- .../IntuneAppConfigurationPolicy/1-Create.ps1 | 18 +++++++++++++---- .../IntuneAppConfigurationPolicy/2-Update.ps1 | 18 +++++++++++++---- .../IntuneAppConfigurationPolicy/3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 19 +++++++++++++----- .../2-Update.ps1 | 19 +++++++++++++----- .../3-Remove.ps1 | 19 +++++++++++++----- .../IntuneAppProtectionPolicyiOS/1-Create.ps1 | 18 +++++++++++++---- .../IntuneAppProtectionPolicyiOS/2-Update.ps1 | 18 +++++++++++++---- .../IntuneAppProtectionPolicyiOS/3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../IntuneDeviceCategory/1-Create.ps1 | 18 +++++++++++++---- .../IntuneDeviceCategory/2-Update.ps1 | 18 +++++++++++++---- .../IntuneDeviceCategory/3-Remove.ps1 | 18 +++++++++++++---- .../IntuneDeviceCleanupRule/2-Update.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 19 +++++++++++++----- .../2-Update.ps1 | 19 +++++++++++++----- .../3-Remove.ps1 | 19 +++++++++++++----- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 19 +++++++++++++----- .../2-Update.ps1 | 19 +++++++++++++----- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 19 +++++++++++++----- .../2-Update.ps1 | 19 +++++++++++++----- .../3-Remove.ps1 | 19 +++++++++++++----- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 19 +++++++++++++----- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../IntuneDeviceRemediation/1-Create.ps1 | 19 +++++++++++++----- .../IntuneDeviceRemediation/2-Update.ps1 | 19 +++++++++++++----- .../IntuneDeviceRemediation/3-Remove.ps1 | 18 +++++++++++++---- .../IntuneDiskEncryptionMacOS/1-Create.ps1 | 18 +++++++++++++---- .../IntuneDiskEncryptionMacOS/2-Update.ps1 | 18 +++++++++++++---- .../IntuneDiskEncryptionMacOS/3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../Resources/IntunePolicySets/1-Create.ps1 | 20 +++++++++++++------ .../Resources/IntunePolicySets/2-Update.ps1 | 20 +++++++++++++------ .../Resources/IntunePolicySets/3-Remove.ps1 | 20 +++++++++++++------ .../IntuneRoleAssignment/1-Create.ps1 | 18 +++++++++++++---- .../IntuneRoleAssignment/2-Update.ps1 | 18 +++++++++++++---- .../IntuneRoleAssignment/3-Remove.ps1 | 18 +++++++++++++---- .../IntuneRoleDefinition/1-Create.ps1 | 18 +++++++++++++---- .../IntuneRoleDefinition/2-Update.ps1 | 18 +++++++++++++---- .../IntuneRoleDefinition/3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- .../1-Create.ps1 | 18 +++++++++++++---- .../2-Update.ps1 | 18 +++++++++++++---- .../3-Remove.ps1 | 18 +++++++++++++---- 233 files changed, 3262 insertions(+), 955 deletions(-) diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneASRRulesPolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneASRRulesPolicyWindows10/1-Create.ps1 index 5016ae60aa..77df24981a 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneASRRulesPolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneASRRulesPolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -39,7 +47,9 @@ Configuration Example UntrustedExecutableType = 'block' UntrustedUSBProcessType = 'block' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneASRRulesPolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneASRRulesPolicyWindows10/2-Update.ps1 index 67a96b5a2d..b2672e9a60 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneASRRulesPolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneASRRulesPolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -39,7 +47,9 @@ Configuration Example UntrustedExecutableType = 'block' UntrustedUSBProcessType = 'block' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneASRRulesPolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneASRRulesPolicyWindows10/3-Remove.ps1 index 79762a0115..7129877c13 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneASRRulesPolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneASRRulesPolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = 'test' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionLocalAdministratorPasswordSolutionPolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionLocalAdministratorPasswordSolutionPolicy/1-Create.ps1 index f31995576a..0e1d844cfc 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionLocalAdministratorPasswordSolutionPolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionLocalAdministratorPasswordSolutionPolicy/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,7 +27,6 @@ Configuration Example DisplayName = "Account Protection LAPS Policy"; Description = "My revised description"; Ensure = "Present"; - Credential = $Credscredential Assignments = @( MSFT_IntuneAccountProtectionLocalAdministratorPasswordSolutionPolicyAssignments{ deviceAndAppManagementAssignmentFilterType = 'none' @@ -30,6 +37,9 @@ Configuration Example PasswordAgeDays_AAD = 10; AdministratorAccountName = "Administrator"; PasswordAgeDays = 20; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionLocalAdministratorPasswordSolutionPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionLocalAdministratorPasswordSolutionPolicy/2-Update.ps1 index 15e2b607fa..08d2c88584 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionLocalAdministratorPasswordSolutionPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionLocalAdministratorPasswordSolutionPolicy/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,7 +27,6 @@ Configuration Example DisplayName = "Account Protection LAPS Policy"; Description = "My revised description"; Ensure = "Present"; - Credential = $Credscredential Assignments = @( MSFT_IntuneAccountProtectionLocalAdministratorPasswordSolutionPolicyAssignments{ deviceAndAppManagementAssignmentFilterType = 'none' @@ -30,6 +37,9 @@ Configuration Example PasswordAgeDays_AAD = 15; # Updated Property AdministratorAccountName = "Administrator"; PasswordAgeDays = 20; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionLocalAdministratorPasswordSolutionPolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionLocalAdministratorPasswordSolutionPolicy/3-Remove.ps1 index b9641cf809..b8b92fc2b5 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionLocalAdministratorPasswordSolutionPolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionLocalAdministratorPasswordSolutionPolicy/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,7 +27,9 @@ Configuration Example DisplayName = "Account Protection LAPS Policy"; Description = "My revised description"; Ensure = "Absent"; - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionLocalUserGroupMembershipPolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionLocalUserGroupMembershipPolicy/1-Create.ps1 index d605f3441a..03ace9c122 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionLocalUserGroupMembershipPolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionLocalUserGroupMembershipPolicy/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,7 +27,6 @@ Configuration Example DisplayName = "Account Protection LUGM Policy"; Description = "My revised description"; Ensure = "Present"; - Credential = $Credscredential Assignments = @( MSFT_IntuneAccountProtectionLocalUserGroupMembershipPolicyAssignments{ deviceAndAppManagementAssignmentFilterType = 'none' @@ -34,6 +41,9 @@ Configuration Example UserSelectionType = 'users' } ); + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionLocalUserGroupMembershipPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionLocalUserGroupMembershipPolicy/2-Update.ps1 index e906680eeb..38f5885a24 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionLocalUserGroupMembershipPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionLocalUserGroupMembershipPolicy/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,7 +27,6 @@ Configuration Example DisplayName = "Account Protection LUGM Policy"; Description = "My revised description"; Ensure = "Present"; - Credential = $Credscredential Assignments = @(); # Updated Property LocalUserGroupCollection = @( MSFT_IntuneAccountProtectionLocalUserGroupCollection{ @@ -29,6 +36,9 @@ Configuration Example UserSelectionType = 'users' } ); + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionLocalUserGroupMembershipPolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionLocalUserGroupMembershipPolicy/3-Remove.ps1 index 6e029e0525..10792722c4 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionLocalUserGroupMembershipPolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionLocalUserGroupMembershipPolicy/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,7 +27,9 @@ Configuration Example DisplayName = "Account Protection LUGM Policy"; Description = "My revised description"; Ensure = "Absent"; - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionPolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionPolicy/1-Create.ps1 index cb6919ab1d..b7dba4f998 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionPolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionPolicy/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +30,9 @@ Configuration Example PinMinimumLength = 5 PinSpecialCharactersUsage = 'required' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionPolicy/2-Update.ps1 index f87d9a4e39..0a0d2c13a6 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionPolicy/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +30,9 @@ Configuration Example PinMinimumLength = 10 # Updated Property PinSpecialCharactersUsage = 'required' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionPolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionPolicy/3-Remove.ps1 index 0a1cbf862a..8bf79c59a7 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionPolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAccountProtectionPolicy/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = 'test' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAntivirusPolicyWindows10SettingCatalog/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAntivirusPolicyWindows10SettingCatalog/1-Create.ps1 index cd613829c1..a4daa9a4d3 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAntivirusPolicyWindows10SettingCatalog/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAntivirusPolicyWindows10SettingCatalog/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -28,7 +36,9 @@ Configuration Example excludedprocesses = @('processes.exe', 'process2.exe') templateId = '45fea5e9-280d-4da1-9792-fb5736da0ca9_1' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAntivirusPolicyWindows10SettingCatalog/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAntivirusPolicyWindows10SettingCatalog/2-Update.ps1 index b5ed0d3091..c8517066ac 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAntivirusPolicyWindows10SettingCatalog/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAntivirusPolicyWindows10SettingCatalog/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -28,7 +36,9 @@ Configuration Example excludedprocesses = @('processes.exe', 'process3.exe') # Updated Property templateId = '45fea5e9-280d-4da1-9792-fb5736da0ca9_1' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAntivirusPolicyWindows10SettingCatalog/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAntivirusPolicyWindows10SettingCatalog/3-Remove.ps1 index 7a5f368d52..d6834c0760 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAntivirusPolicyWindows10SettingCatalog/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAntivirusPolicyWindows10SettingCatalog/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = 'av exclusions' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAppConfigurationDevicePolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAppConfigurationDevicePolicy/1-Create.ps1 index 242be648ef..dd2a4f4c38 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAppConfigurationDevicePolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAppConfigurationDevicePolicy/1-Create.ps1 @@ -5,9 +5,17 @@ This example creates a new App Configuration Device Policy. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -15,7 +23,6 @@ Configuration Example { IntuneAppConfigurationDevicePolicy "IntuneAppConfigurationDevicePolicy-Example" { - Credential = $Credscredential; Assignments = @(); Description = ""; DisplayName = "Example"; @@ -28,7 +35,9 @@ Configuration Example ProfileApplicability = "default" RoleScopeTagIds = @("0"); TargetedMobileApps = @(""); - TenantId = $OrganizationName; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAppConfigurationDevicePolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAppConfigurationDevicePolicy/2-Update.ps1 index cbd15f84df..5eafde868b 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAppConfigurationDevicePolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAppConfigurationDevicePolicy/2-Update.ps1 @@ -5,9 +5,17 @@ This example updates an App Configuration Device Policy. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -15,7 +23,6 @@ Configuration Example { IntuneAppConfigurationDevicePolicy "IntuneAppConfigurationDevicePolicy-Example" { - Credential = $Credscredential; Assignments = @(); Description = ""; DisplayName = "Example"; @@ -33,7 +40,9 @@ Configuration Example ProfileApplicability = "default" RoleScopeTagIds = @("0"); TargetedMobileApps = @(""); - TenantId = $OrganizationName; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAppConfigurationDevicePolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAppConfigurationDevicePolicy/3-Remove.ps1 index 5708b7ccaa..4823b2fba9 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAppConfigurationDevicePolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAppConfigurationDevicePolicy/3-Remove.ps1 @@ -5,9 +5,17 @@ This example deletes a new App Configuration Device Policy. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -15,12 +23,13 @@ Configuration Example { IntuneAppConfigurationDevicePolicy "IntuneAppConfigurationDevicePolicy-Example" { - Credential = $Credscredential; Description = ""; DisplayName = "Example"; Ensure = "Present"; Id = "0000000-0000-0000-0000-000000000000"; - TenantId = $OrganizationName; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAppConfigurationPolicy/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAppConfigurationPolicy/1-Create.ps1 index 7c8fee9252..ecf567a613 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAppConfigurationPolicy/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAppConfigurationPolicy/1-Create.ps1 @@ -5,9 +5,17 @@ This example creates a new App Configuration Policy. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +25,6 @@ Configuration Example { DisplayName = 'ContosoNew' Description = 'New Contoso Policy' - Credential = $Credscredential; CustomSettings = @( MSFT_IntuneAppConfigurationPolicyCustomSetting { name = 'com.microsoft.intune.mam.managedbrowser.BlockListURLs' @@ -32,6 +39,9 @@ Configuration Example value = 'TestValue' }); Ensure = 'Present' + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAppConfigurationPolicy/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAppConfigurationPolicy/2-Update.ps1 index 507f2bf9e6..29e2368f3f 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAppConfigurationPolicy/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAppConfigurationPolicy/2-Update.ps1 @@ -5,9 +5,17 @@ This example creates a new App Configuration Policy. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +25,6 @@ Configuration Example { DisplayName = 'ContosoNew' Description = 'New Contoso Policy' - Credential = $Credscredential; CustomSettings = @( MSFT_IntuneAppConfigurationPolicyCustomSetting { name = 'com.microsoft.intune.mam.managedbrowser.BlockListURLs' @@ -32,6 +39,9 @@ Configuration Example value = 'TestValue2' }); Ensure = 'Present' + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAppConfigurationPolicy/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAppConfigurationPolicy/3-Remove.ps1 index 8aa3e4a095..8edabb57e8 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAppConfigurationPolicy/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAppConfigurationPolicy/3-Remove.ps1 @@ -5,9 +5,17 @@ This example creates a new App Configuration Policy. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,8 +25,10 @@ Configuration Example { DisplayName = 'ContosoNew' Description = 'New Contoso Policy' - Credential = $Credscredential; Ensure = 'Absent' + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAppProtectionPolicyAndroid/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAppProtectionPolicyAndroid/1-Create.ps1 index 4f7c3a599e..e0d31586a6 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAppProtectionPolicyAndroid/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAppProtectionPolicyAndroid/1-Create.ps1 @@ -7,9 +7,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -38,8 +46,9 @@ Configuration Example SaveAsBlocked = $True SimplePinBlocked = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } - diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAppProtectionPolicyAndroid/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAppProtectionPolicyAndroid/2-Update.ps1 index 5dc2dc577e..0049ed0dc4 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAppProtectionPolicyAndroid/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAppProtectionPolicyAndroid/2-Update.ps1 @@ -7,9 +7,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -38,8 +46,9 @@ Configuration Example SaveAsBlocked = $True SimplePinBlocked = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } - diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAppProtectionPolicyAndroid/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAppProtectionPolicyAndroid/3-Remove.ps1 index 3fe178f97e..da421d7845 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAppProtectionPolicyAndroid/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAppProtectionPolicyAndroid/3-Remove.ps1 @@ -7,9 +7,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,8 +27,9 @@ Configuration Example { DisplayName = 'My DSC Android App Protection Policy' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } - diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAppProtectionPolicyiOS/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAppProtectionPolicyiOS/1-Create.ps1 index 15053df200..ca06406fa0 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAppProtectionPolicyiOS/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAppProtectionPolicyiOS/1-Create.ps1 @@ -5,9 +5,17 @@ This example creates a new App ProtectionPolicy for iOS. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -40,7 +48,9 @@ Configuration Example SaveAsBlocked = $True SimplePinBlocked = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAppProtectionPolicyiOS/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAppProtectionPolicyiOS/2-Update.ps1 index 0ef59acb4d..7d75207738 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAppProtectionPolicyiOS/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAppProtectionPolicyiOS/2-Update.ps1 @@ -5,9 +5,17 @@ This example creates a new App ProtectionPolicy for iOS. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -40,7 +48,9 @@ Configuration Example SaveAsBlocked = $True SimplePinBlocked = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAppProtectionPolicyiOS/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAppProtectionPolicyiOS/3-Remove.ps1 index 10acdf5fcc..c824f0d587 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAppProtectionPolicyiOS/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAppProtectionPolicyiOS/3-Remove.ps1 @@ -5,9 +5,17 @@ This example creates a new App ProtectionPolicy for iOS. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +25,9 @@ Configuration Example { DisplayName = 'My DSC iOS App Protection Policy' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneApplicationControlPolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneApplicationControlPolicyWindows10/1-Create.ps1 index 4a504be881..dd2cd24682 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneApplicationControlPolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneApplicationControlPolicyWindows10/1-Create.ps1 @@ -7,9 +7,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -23,7 +31,9 @@ Configuration Example SmartScreenBlockOverrideForFiles = $True SmartScreenEnableInShell = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneApplicationControlPolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneApplicationControlPolicyWindows10/2-Update.ps1 index ad867e1f8e..cf7bc67969 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneApplicationControlPolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneApplicationControlPolicyWindows10/2-Update.ps1 @@ -7,9 +7,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -23,7 +31,9 @@ Configuration Example SmartScreenBlockOverrideForFiles = $False # Updated Property SmartScreenEnableInShell = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneApplicationControlPolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneApplicationControlPolicyWindows10/3-Remove.ps1 index 5626780281..9d1f24d995 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneApplicationControlPolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneApplicationControlPolicyWindows10/3-Remove.ps1 @@ -7,9 +7,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +28,9 @@ Configuration Example DisplayName = 'Windows 10 Desktops' Description = 'All windows 10 Desktops' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAttackSurfaceReductionRulesPolicyWindows10ConfigManager/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAttackSurfaceReductionRulesPolicyWindows10ConfigManager/1-Create.ps1 index a64d1cfb86..7f7d173c2f 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAttackSurfaceReductionRulesPolicyWindows10ConfigManager/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAttackSurfaceReductionRulesPolicyWindows10ConfigManager/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +28,9 @@ Configuration Example blockadobereaderfromcreatingchildprocesses = "block"; Description = 'My revised description' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAttackSurfaceReductionRulesPolicyWindows10ConfigManager/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAttackSurfaceReductionRulesPolicyWindows10ConfigManager/2-Update.ps1 index f11d5e17b6..2a5f84b0d1 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAttackSurfaceReductionRulesPolicyWindows10ConfigManager/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAttackSurfaceReductionRulesPolicyWindows10ConfigManager/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +28,9 @@ Configuration Example blockadobereaderfromcreatingchildprocesses = "audit"; # Updated Property Description = 'My revised description' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneAttackSurfaceReductionRulesPolicyWindows10ConfigManager/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneAttackSurfaceReductionRulesPolicyWindows10ConfigManager/3-Remove.ps1 index bbe506c085..52a1e66949 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneAttackSurfaceReductionRulesPolicyWindows10ConfigManager/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneAttackSurfaceReductionRulesPolicyWindows10ConfigManager/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = 'asr ConfigMgr' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceAndAppManagementAssignmentFilter/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceAndAppManagementAssignmentFilter/1-Create.ps1 index f516d49d5a..0b9cb7c788 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceAndAppManagementAssignmentFilter/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceAndAppManagementAssignmentFilter/1-Create.ps1 @@ -5,9 +5,17 @@ This example creates a new Device and App Management Assignment Filter. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $intuneAdmin + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +28,9 @@ Configuration Example Platform = 'windows10AndLater' Rule = "(device.manufacturer -ne `"Microsoft Corporation`")" Ensure = 'Present' - Credential = $intuneAdmin + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceAndAppManagementAssignmentFilter/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceAndAppManagementAssignmentFilter/2-Update.ps1 index 7be28ee342..3fad2059c4 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceAndAppManagementAssignmentFilter/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceAndAppManagementAssignmentFilter/2-Update.ps1 @@ -5,9 +5,17 @@ This example creates a new Device and App Management Assignment Filter. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $intuneAdmin + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +28,9 @@ Configuration Example Platform = 'windows10AndLater' Rule = "(device.manufacturer -ne `"Apple`")" # Updated Property Ensure = 'Present' - Credential = $intuneAdmin + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceAndAppManagementAssignmentFilter/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceAndAppManagementAssignmentFilter/3-Remove.ps1 index 5612fd7a89..55cc25c980 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceAndAppManagementAssignmentFilter/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceAndAppManagementAssignmentFilter/3-Remove.ps1 @@ -5,9 +5,17 @@ This example creates a new Device and App Management Assignment Filter. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $intuneAdmin + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +25,9 @@ Configuration Example { DisplayName = 'Test Device Filter' Ensure = 'Absent' - Credential = $intuneAdmin + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCategory/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCategory/1-Create.ps1 index 2391ba3dbb..844247dc1c 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCategory/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCategory/1-Create.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Category. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example DisplayName = 'Contoso' Description = 'Contoso Category' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCategory/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCategory/2-Update.ps1 index aa53f77ea0..82837af478 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCategory/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCategory/2-Update.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Category. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example DisplayName = 'Contoso' Description = 'Contoso Category - Updated' # Updated Property Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCategory/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCategory/3-Remove.ps1 index 3e865eee3d..05ff70c359 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCategory/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCategory/3-Remove.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Category. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +25,9 @@ Configuration Example { DisplayName = 'Contoso' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCleanupRule/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCleanupRule/2-Update.ps1 index 7c6d1efcab..ab047ef706 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCleanupRule/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCleanupRule/2-Update.ps1 @@ -5,9 +5,17 @@ This example sets the device cleanup rule. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,7 +27,9 @@ Configuration Example IsSingleInstance = 'Yes' DeviceInactivityBeforeRetirementInDays = 25 # Updated Property Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroid/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroid/1-Create.ps1 index edcbd51b34..b80c15280e 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroid/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroid/1-Create.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Compliance Policy for Android devices Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -37,7 +45,9 @@ Configuration Example SecurityRequireVerifyApps = $False StorageRequireEncryption = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroid/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroid/2-Update.ps1 index f4d3747b63..d847a28b59 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroid/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroid/2-Update.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Compliance Policy for Android devices Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -37,7 +45,9 @@ Configuration Example SecurityRequireVerifyApps = $False StorageRequireEncryption = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroid/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroid/3-Remove.ps1 index 61b4cc1c6c..472667c057 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroid/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroid/3-Remove.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Compliance Policy for Android devices Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +25,9 @@ Configuration Example { DisplayName = 'Test Policy' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroidDeviceOwner/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroidDeviceOwner/1-Create.ps1 index 11979ab4cc..d6e684b87a 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroidDeviceOwner/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroidDeviceOwner/1-Create.ps1 @@ -6,9 +6,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -34,7 +42,9 @@ Configuration Example PasswordPreviousPasswordCountToBlock = 13 StorageRequireEncryption = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroidDeviceOwner/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroidDeviceOwner/2-Update.ps1 index 2f64930499..e68a0d474b 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroidDeviceOwner/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroidDeviceOwner/2-Update.ps1 @@ -6,9 +6,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -34,7 +42,9 @@ Configuration Example PasswordPreviousPasswordCountToBlock = 13 StorageRequireEncryption = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroidDeviceOwner/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroidDeviceOwner/3-Remove.ps1 index 2f64930499..e68a0d474b 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroidDeviceOwner/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroidDeviceOwner/3-Remove.ps1 @@ -6,9 +6,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -34,7 +42,9 @@ Configuration Example PasswordPreviousPasswordCountToBlock = 13 StorageRequireEncryption = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroidWorkProfile/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroidWorkProfile/1-Create.ps1 index 721bf09c18..1dfba52a5f 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroidWorkProfile/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroidWorkProfile/1-Create.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Compliance Policy for iOs devices Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -35,7 +43,9 @@ Configuration Example SecurityRequireVerifyApps = $False StorageRequireEncryption = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroidWorkProfile/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroidWorkProfile/2-Update.ps1 index 8983fda0ae..4f79454cc1 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroidWorkProfile/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroidWorkProfile/2-Update.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Compliance Policy for iOs devices Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -35,7 +43,9 @@ Configuration Example SecurityRequireVerifyApps = $False StorageRequireEncryption = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroidWorkProfile/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroidWorkProfile/3-Remove.ps1 index 45ef8ccd64..2084845d6a 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroidWorkProfile/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyAndroidWorkProfile/3-Remove.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Compliance Policy for iOs devices Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +25,9 @@ Configuration Example { DisplayName = 'Test Policy' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyMacOS/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyMacOS/1-Create.ps1 index cc9361ae1e..98e6353fef 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyMacOS/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyMacOS/1-Create.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Comliance Policy for MacOS. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -35,7 +43,9 @@ Configuration Example FirewallBlockAllIncoming = $False FirewallEnableStealthMode = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyMacOS/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyMacOS/2-Update.ps1 index 7786b78f0d..e5cea3ce3a 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyMacOS/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyMacOS/2-Update.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Comliance Policy for MacOS. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -35,7 +43,9 @@ Configuration Example FirewallBlockAllIncoming = $False FirewallEnableStealthMode = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyMacOS/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyMacOS/3-Remove.ps1 index bbe0504255..a1562eaa09 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyMacOS/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyMacOS/3-Remove.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Comliance Policy for MacOS. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +25,9 @@ Configuration Example { DisplayName = 'MacOS DSC Policy' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyWindows10/1-Create.ps1 index 501eaa58a8..344e052090 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyWindows10/1-Create.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Comliance Policy for Windows. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -50,7 +58,9 @@ Configuration Example deviceCompliancePolicyScript = $null ValidOperatingSystemBuildRanges = @() Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyWindows10/2-Update.ps1 index abce742bfa..30d096f81b 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyWindows10/2-Update.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Comliance Policy for Windows. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -50,7 +58,9 @@ Configuration Example deviceCompliancePolicyScript = $null ValidOperatingSystemBuildRanges = @() Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyWindows10/3-Remove.ps1 index c6c84570a1..990b8591a9 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyWindows10/3-Remove.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Comliance Policy for Windows. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +25,9 @@ Configuration Example { DisplayName = 'Windows 10 DSC Policy' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyiOs/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyiOs/1-Create.ps1 index 85f3c3138a..2133fc7a5b 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyiOs/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyiOs/1-Create.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Compliance Policy for iOs devices Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -32,8 +40,9 @@ Configuration Example DeviceThreatProtectionRequiredSecurityLevel = 'medium' ManagedEmailProfileRequired = $True Ensure = 'Present' - Credential = $Credscredential - + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyiOs/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyiOs/2-Update.ps1 index 8333ab35fd..94d276f04a 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyiOs/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyiOs/2-Update.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Compliance Policy for iOs devices Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -32,8 +40,9 @@ Configuration Example DeviceThreatProtectionRequiredSecurityLevel = 'medium' ManagedEmailProfileRequired = $True Ensure = 'Present' - Credential = $Credscredential - + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyiOs/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyiOs/3-Remove.ps1 index f7be9cf102..8081fbd87c 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyiOs/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceCompliancePolicyiOs/3-Remove.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Compliance Policy for iOs devices Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,8 +25,9 @@ Configuration Example { DisplayName = 'Test iOS Device Compliance Policy' Ensure = 'Absent' - Credential = $Credscredential - + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationAdministrativeTemplatePolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationAdministrativeTemplatePolicyWindows10/1-Create.ps1 index 787552def1..ebfd8924b7 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationAdministrativeTemplatePolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationAdministrativeTemplatePolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,7 +24,6 @@ Configuration Example { IntuneDeviceConfigurationAdministrativeTemplatePolicyWindows10 'Example' { - Credential = $Credscredential Assignments = @( MSFT_DeviceManagementConfigurationPolicyAssignments { @@ -138,6 +145,9 @@ Configuration Example DisplayName = 'admin template' Ensure = 'Present' PolicyConfigurationIngestionType = 'unknown' + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationAdministrativeTemplatePolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationAdministrativeTemplatePolicyWindows10/2-Update.ps1 index cc9e0d0351..95516649f5 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationAdministrativeTemplatePolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationAdministrativeTemplatePolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,7 +24,6 @@ Configuration Example { IntuneDeviceConfigurationAdministrativeTemplatePolicyWindows10 'Example' { - Credential = $Credscredential Assignments = @( MSFT_DeviceManagementConfigurationPolicyAssignments { @@ -138,6 +145,9 @@ Configuration Example DisplayName = 'admin template' Ensure = 'Present' PolicyConfigurationIngestionType = 'builtIn' # Updated Property + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationAdministrativeTemplatePolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationAdministrativeTemplatePolicyWindows10/3-Remove.ps1 index 1ff95ebdc0..7122d08033 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationAdministrativeTemplatePolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationAdministrativeTemplatePolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,9 +24,11 @@ Configuration Example { IntuneDeviceConfigurationAdministrativeTemplatePolicyWindows10 'Example' { - Credential = $Credscredential DisplayName = 'admin template' Ensure = 'Absent' + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationCustomPolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationCustomPolicyWindows10/1-Create.ps1 index 2d6f33b948..d8f011747e 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationCustomPolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationCustomPolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +30,6 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "custom"; Ensure = "Present"; OmaSettings = @( @@ -46,6 +53,9 @@ Configuration Example } ); SupportsScopeTags = $True; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationCustomPolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationCustomPolicyWindows10/2-Update.ps1 index 17cdb1f91a..945f22f9be 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationCustomPolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationCustomPolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +30,6 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "custom"; Ensure = "Present"; OmaSettings = @( @@ -46,6 +53,9 @@ Configuration Example } ); SupportsScopeTags = $True; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationCustomPolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationCustomPolicyWindows10/3-Remove.ps1 index 5107baec1a..f0a20c0853 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationCustomPolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationCustomPolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,9 +24,11 @@ Configuration Example { IntuneDeviceConfigurationCustomPolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "custom"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDefenderForEndpointOnboardingPolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDefenderForEndpointOnboardingPolicyWindows10/1-Create.ps1 index 100f2e2314..a924a24b2d 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDefenderForEndpointOnboardingPolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDefenderForEndpointOnboardingPolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -26,10 +34,12 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "MDE onboarding Legacy"; EnableExpeditedTelemetryReporting = $True; Ensure = "Present"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDefenderForEndpointOnboardingPolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDefenderForEndpointOnboardingPolicyWindows10/2-Update.ps1 index 22fbce100e..2d3996726b 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDefenderForEndpointOnboardingPolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDefenderForEndpointOnboardingPolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -25,10 +33,12 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "MDE onboarding Legacy"; EnableExpeditedTelemetryReporting = $True; Ensure = "Present"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDefenderForEndpointOnboardingPolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDefenderForEndpointOnboardingPolicyWindows10/3-Remove.ps1 index 056a65caad..5276884dc6 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDefenderForEndpointOnboardingPolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDefenderForEndpointOnboardingPolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,9 +24,11 @@ Configuration Example { IntuneDeviceConfigurationDefenderForEndpointOnboardingPolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "MDE onboarding Legacy"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10/1-Create.ps1 index ac9c07730a..fd1fc21f94 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -31,7 +39,6 @@ Configuration Example CacheServerBackgroundDownloadFallbackToHttpDelayInSeconds = 3; CacheServerForegroundDownloadFallbackToHttpDelayInSeconds = 3; CacheServerHostNames = @("domain.com"); - Credential = $Credscredential; DeliveryOptimizationMode = "httpWithPeeringPrivateGroup"; DisplayName = "delivery optimisation"; Ensure = "Present"; @@ -53,6 +60,9 @@ Configuration Example RestrictPeerSelectionBy = "subnetMask"; SupportsScopeTags = $True; VpnPeerCaching = "enabled"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10/2-Update.ps1 index c8c69c7148..3d9c8a6d9c 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -31,7 +39,6 @@ Configuration Example CacheServerBackgroundDownloadFallbackToHttpDelayInSeconds = 5; # Updated Property CacheServerForegroundDownloadFallbackToHttpDelayInSeconds = 3; CacheServerHostNames = @("domain.com"); - Credential = $Credscredential; DeliveryOptimizationMode = "httpWithPeeringPrivateGroup"; DisplayName = "delivery optimisation"; Ensure = "Present"; @@ -53,6 +60,9 @@ Configuration Example RestrictPeerSelectionBy = "subnetMask"; SupportsScopeTags = $True; VpnPeerCaching = "enabled"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10/3-Remove.ps1 index d277c6761d..7ba96d2ccc 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,9 +24,11 @@ Configuration Example { IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "delivery optimisation"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDomainJoinPolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDomainJoinPolicyWindows10/1-Create.ps1 index 4b49df8514..30695840ec 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDomainJoinPolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDomainJoinPolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -25,11 +33,13 @@ Configuration Example ); ComputerNameStaticPrefix = "WK-"; ComputerNameSuffixRandomCharCount = 12; - Credential = $Credscredential; DisplayName = "Domain Join"; Ensure = "Present"; OrganizationalUnit = "OU=workstation,CN=domain,CN=com"; SupportsScopeTags = $True; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDomainJoinPolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDomainJoinPolicyWindows10/2-Update.ps1 index 26a5dea8fd..13cee6a023 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDomainJoinPolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDomainJoinPolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -25,11 +33,13 @@ Configuration Example ); ComputerNameStaticPrefix = "WK-"; ComputerNameSuffixRandomCharCount = 12; - Credential = $Credscredential; DisplayName = "Domain Join"; Ensure = "Present"; OrganizationalUnit = "OU=workstation,CN=domain,CN=com"; SupportsScopeTags = $False; # Updated Property + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDomainJoinPolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDomainJoinPolicyWindows10/3-Remove.ps1 index 822310ada5..4a731c678d 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDomainJoinPolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationDomainJoinPolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,9 +24,11 @@ Configuration Example { IntuneDeviceConfigurationDomainJoinPolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "Domain Join"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationEmailProfilePolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationEmailProfilePolicyWindows10/1-Create.ps1 index efa6cec816..573b0e5874 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationEmailProfilePolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationEmailProfilePolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -23,7 +31,6 @@ Configuration Example dataType = '#microsoft.graph.allLicensedUsersAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "email"; DurationOfEmailToSync = "unlimited"; EmailAddressSource = "primarySmtpAddress"; @@ -34,6 +41,9 @@ Configuration Example SyncCalendar = $True; SyncContacts = $True; SyncTasks = $True; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationEmailProfilePolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationEmailProfilePolicyWindows10/2-Update.ps1 index 950e073302..61fcb29fe0 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationEmailProfilePolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationEmailProfilePolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -23,7 +31,6 @@ Configuration Example dataType = '#microsoft.graph.allLicensedUsersAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "email"; DurationOfEmailToSync = "unlimited"; EmailAddressSource = "primarySmtpAddress"; @@ -34,6 +41,9 @@ Configuration Example SyncCalendar = $True; SyncContacts = $True; SyncTasks = $True; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationEmailProfilePolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationEmailProfilePolicyWindows10/3-Remove.ps1 index 139573027a..a870b91ad3 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationEmailProfilePolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationEmailProfilePolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,9 +24,11 @@ Configuration Example { IntuneDeviceConfigurationEmailProfilePolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "email"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationEndpointProtectionPolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationEndpointProtectionPolicyWindows10/1-Create.ps1 index 54d23472ea..917e26ab44 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationEndpointProtectionPolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationEndpointProtectionPolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -79,7 +87,6 @@ Configuration Example StartupAuthenticationTpmKeyUsage = 'allowed' StartupAuthenticationBlockWithoutTpmChip = $False }; - Credential = $Credscredential; DefenderAdditionalGuardedFolders = @(); DefenderAdobeReaderLaunchChildProcess = "notConfigured"; DefenderAdvancedRansomewareProtectionType = "notConfigured"; @@ -241,6 +248,9 @@ Configuration Example XboxServicesLiveAuthManagerServiceStartupMode = "manual"; XboxServicesLiveGameSaveServiceStartupMode = "manual"; XboxServicesLiveNetworkingServiceStartupMode = "manual"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationEndpointProtectionPolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationEndpointProtectionPolicyWindows10/2-Update.ps1 index c1974f6b26..27f4d9db02 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationEndpointProtectionPolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationEndpointProtectionPolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -79,7 +87,6 @@ Configuration Example StartupAuthenticationTpmKeyUsage = 'allowed' StartupAuthenticationBlockWithoutTpmChip = $False }; - Credential = $Credscredential; DefenderAdditionalGuardedFolders = @(); DefenderAdobeReaderLaunchChildProcess = "notConfigured"; DefenderAdvancedRansomewareProtectionType = "notConfigured"; @@ -241,6 +248,9 @@ Configuration Example XboxServicesLiveAuthManagerServiceStartupMode = "manual"; XboxServicesLiveGameSaveServiceStartupMode = "manual"; XboxServicesLiveNetworkingServiceStartupMode = "manual"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationEndpointProtectionPolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationEndpointProtectionPolicyWindows10/3-Remove.ps1 index 2bd05a7edd..7910d8c682 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationEndpointProtectionPolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationEndpointProtectionPolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,8 +25,10 @@ Configuration Example IntuneDeviceConfigurationEndpointProtectionPolicyWindows10 'Example' { DisplayName = "endpoint protection legacy - dsc v2.0"; - Credential = $Credscredential; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationFirmwareInterfacePolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationFirmwareInterfacePolicyWindows10/1-Create.ps1 index 3752103cac..d771035f63 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationFirmwareInterfacePolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationFirmwareInterfacePolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -27,7 +35,6 @@ Configuration Example BootFromExternalMedia = "notConfigured"; Cameras = "enabled"; ChangeUefiSettingsPermission = "notConfiguredOnly"; - Credential = $Credscredential; DisplayName = "firmware"; Ensure = "Present"; FrontCamera = "enabled"; @@ -47,6 +54,9 @@ Configuration Example WiFi = "notConfigured"; WindowsPlatformBinaryTable = "enabled"; WirelessWideAreaNetwork = "notConfigured"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationFirmwareInterfacePolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationFirmwareInterfacePolicyWindows10/2-Update.ps1 index 8cd74170a9..d74cbce780 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationFirmwareInterfacePolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationFirmwareInterfacePolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -27,7 +35,6 @@ Configuration Example BootFromExternalMedia = "notConfigured"; Cameras = "enabled"; # Updated Property ChangeUefiSettingsPermission = "notConfiguredOnly"; - Credential = $Credscredential; DisplayName = "firmware"; Ensure = "Present"; FrontCamera = "enabled"; @@ -47,6 +54,9 @@ Configuration Example WiFi = "notConfigured"; WindowsPlatformBinaryTable = "enabled"; WirelessWideAreaNetwork = "notConfigured"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationFirmwareInterfacePolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationFirmwareInterfacePolicyWindows10/3-Remove.ps1 index add44ac809..2393e41d5a 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationFirmwareInterfacePolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationFirmwareInterfacePolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,9 +24,11 @@ Configuration Example { IntuneDeviceConfigurationFirmwareInterfacePolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "firmware"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationHealthMonitoringConfigurationPolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationHealthMonitoringConfigurationPolicyWindows10/1-Create.ps1 index 4c03d36315..8b7685ebab 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationHealthMonitoringConfigurationPolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationHealthMonitoringConfigurationPolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -24,10 +32,12 @@ Configuration Example } ); ConfigDeviceHealthMonitoringScope = @("bootPerformance","windowsUpdates"); - Credential = $Credscredential; DisplayName = "Health Monitoring Configuration"; Ensure = "Present"; SupportsScopeTags = $True; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationHealthMonitoringConfigurationPolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationHealthMonitoringConfigurationPolicyWindows10/2-Update.ps1 index bb30703c2c..56db5bb57e 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationHealthMonitoringConfigurationPolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationHealthMonitoringConfigurationPolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -24,10 +32,12 @@ Configuration Example } ); ConfigDeviceHealthMonitoringScope = @("bootPerformance","windowsUpdates"); - Credential = $Credscredential; DisplayName = "Health Monitoring Configuration"; Ensure = "Present"; SupportsScopeTags = $False; # Updated Property + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationHealthMonitoringConfigurationPolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationHealthMonitoringConfigurationPolicyWindows10/3-Remove.ps1 index 16c309c95b..acf7c8df82 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationHealthMonitoringConfigurationPolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationHealthMonitoringConfigurationPolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,9 +24,11 @@ Configuration Example { IntuneDeviceConfigurationHealthMonitoringConfigurationPolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "Health Monitoring Configuration"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationIdentityProtectionPolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationIdentityProtectionPolicyWindows10/1-Create.ps1 index c46b71ab56..53710e648b 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationIdentityProtectionPolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationIdentityProtectionPolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +30,6 @@ Configuration Example dataType = '#microsoft.graph.allLicensedUsersAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "identity protection"; EnhancedAntiSpoofingForFacialFeaturesEnabled = $True; Ensure = "Present"; @@ -40,6 +47,9 @@ Configuration Example UseCertificatesForOnPremisesAuthEnabled = $True; UseSecurityKeyForSignin = $True; WindowsHelloForBusinessBlocked = $False; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationIdentityProtectionPolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationIdentityProtectionPolicyWindows10/2-Update.ps1 index 63fc645723..ce8fe9037f 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationIdentityProtectionPolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationIdentityProtectionPolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +30,6 @@ Configuration Example dataType = '#microsoft.graph.allLicensedUsersAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "identity protection"; EnhancedAntiSpoofingForFacialFeaturesEnabled = $True; Ensure = "Present"; @@ -40,6 +47,9 @@ Configuration Example UseCertificatesForOnPremisesAuthEnabled = $True; UseSecurityKeyForSignin = $True; WindowsHelloForBusinessBlocked = $False; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationIdentityProtectionPolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationIdentityProtectionPolicyWindows10/3-Remove.ps1 index a888e787f9..426d4cc30c 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationIdentityProtectionPolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationIdentityProtectionPolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,9 +24,11 @@ Configuration Example { IntuneDeviceConfigurationIdentityProtectionPolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "identity protection"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationImportedPfxCertificatePolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationImportedPfxCertificatePolicyWindows10/1-Create.ps1 index 29b160b437..72500c3878 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationImportedPfxCertificatePolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationImportedPfxCertificatePolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -24,7 +32,6 @@ Configuration Example ); CertificateValidityPeriodScale = "years"; CertificateValidityPeriodValue = 1; - Credential = $Credscredential; DisplayName = "PKCS Imported"; Ensure = "Present"; IntendedPurpose = "unassigned"; @@ -32,6 +39,9 @@ Configuration Example RenewalThresholdPercentage = 50; SubjectAlternativeNameType = "emailAddress"; SubjectNameFormat = "commonName"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationImportedPfxCertificatePolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationImportedPfxCertificatePolicyWindows10/2-Update.ps1 index 6c1ec6759e..012f09759f 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationImportedPfxCertificatePolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationImportedPfxCertificatePolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -24,7 +32,6 @@ Configuration Example ); CertificateValidityPeriodScale = "years"; CertificateValidityPeriodValue = 1; - Credential = $Credscredential; DisplayName = "PKCS Imported"; Ensure = "Present"; IntendedPurpose = "unassigned"; @@ -32,6 +39,9 @@ Configuration Example RenewalThresholdPercentage = 60; # Updated Property SubjectAlternativeNameType = "emailAddress"; SubjectNameFormat = "commonName"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationImportedPfxCertificatePolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationImportedPfxCertificatePolicyWindows10/3-Remove.ps1 index 77bb7e16ae..2a932fccdc 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationImportedPfxCertificatePolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationImportedPfxCertificatePolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,9 +24,11 @@ Configuration Example { IntuneDeviceConfigurationImportedPfxCertificatePolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "PKCS Imported"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationKioskPolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationKioskPolicyWindows10/1-Create.ps1 index 0de1951bf4..bbe1a6a835 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationKioskPolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationKioskPolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +30,6 @@ Configuration Example dataType = '#microsoft.graph.allLicensedUsersAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "kiosk"; EdgeKioskEnablePublicBrowsing = $False; Ensure = "Present"; @@ -62,6 +69,9 @@ Configuration Example Recurrence = 'daily' DayofWeek = 'sunday' }; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationKioskPolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationKioskPolicyWindows10/2-Update.ps1 index 6806ed767b..941e54fdf1 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationKioskPolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationKioskPolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +30,6 @@ Configuration Example dataType = '#microsoft.graph.allLicensedUsersAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "kiosk"; EdgeKioskEnablePublicBrowsing = $False; # Updated Property Ensure = "Present"; @@ -62,6 +69,9 @@ Configuration Example Recurrence = 'daily' DayofWeek = 'sunday' }; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationKioskPolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationKioskPolicyWindows10/3-Remove.ps1 index 80a6d10ec1..7302ec0274 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationKioskPolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationKioskPolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,9 +24,11 @@ Configuration Example { IntuneDeviceConfigurationKioskPolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "kiosk"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationNetworkBoundaryPolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationNetworkBoundaryPolicyWindows10/1-Create.ps1 index 50f6bc80dc..f788c8187f 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationNetworkBoundaryPolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationNetworkBoundaryPolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +30,6 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "network boundary"; Ensure = "Present"; SupportsScopeTags = $True; @@ -41,6 +48,9 @@ Configuration Example ) NeutralDomainResources = @() }; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationNetworkBoundaryPolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationNetworkBoundaryPolicyWindows10/2-Update.ps1 index caa6db6a07..11c361adeb 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationNetworkBoundaryPolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationNetworkBoundaryPolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +30,6 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "network boundary"; Ensure = "Present"; SupportsScopeTags = $False; # Updated Property @@ -41,6 +48,9 @@ Configuration Example ) NeutralDomainResources = @() }; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationNetworkBoundaryPolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationNetworkBoundaryPolicyWindows10/3-Remove.ps1 index 4629ee0d8e..b0d796b637 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationNetworkBoundaryPolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationNetworkBoundaryPolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,9 +24,11 @@ Configuration Example { IntuneDeviceConfigurationNetworkBoundaryPolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "network boundary"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPkcsCertificatePolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPkcsCertificatePolicyWindows10/1-Create.ps1 index 122e22534c..7c84bdae93 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPkcsCertificatePolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPkcsCertificatePolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -28,7 +36,6 @@ Configuration Example CertificateValidityPeriodValue = 1; CertificationAuthority = "CA=Name"; CertificationAuthorityName = "Test"; - Credential = $Credscredential; CustomSubjectAlternativeNames = @( MSFT_MicrosoftGraphcustomSubjectAlternativeName{ SanType = 'domainNameService' @@ -42,6 +49,9 @@ Configuration Example SubjectAlternativeNameType = "none"; SubjectNameFormat = "custom"; SubjectNameFormatString = "CN={{UserName}},E={{EmailAddress}}"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPkcsCertificatePolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPkcsCertificatePolicyWindows10/2-Update.ps1 index 408d3012ff..7a2e8c07d0 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPkcsCertificatePolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPkcsCertificatePolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -28,7 +36,6 @@ Configuration Example CertificateValidityPeriodValue = 1; CertificationAuthority = "CA=Name"; CertificationAuthorityName = "Test"; - Credential = $Credscredential; CustomSubjectAlternativeNames = @( MSFT_MicrosoftGraphcustomSubjectAlternativeName{ SanType = 'domainNameService' @@ -42,6 +49,9 @@ Configuration Example SubjectAlternativeNameType = "none"; SubjectNameFormat = "custom"; SubjectNameFormatString = "CN={{UserName}},E={{EmailAddress}}"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPkcsCertificatePolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPkcsCertificatePolicyWindows10/3-Remove.ps1 index 2c442218c4..08e2fb36e8 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPkcsCertificatePolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPkcsCertificatePolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,9 +24,11 @@ Configuration Example { IntuneDeviceConfigurationPkcsCertificatePolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "PKCS"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPlatformScriptMacOS/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPlatformScriptMacOS/1-Create.ps1 index 76b273ad8c..164362b435 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPlatformScriptMacOS/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPlatformScriptMacOS/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +30,6 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "custom"; Ensure = "Present"; BlockExecutionNotifications = $False; @@ -34,7 +41,9 @@ Configuration Example RoleScopeTagIds = @("0"); RunAsAccount = "user"; ScriptContent = "Base64 encoded script content"; - TenantId = $OrganizationName; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPlatformScriptMacOS/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPlatformScriptMacOS/2-Update.ps1 index f3708d3311..b1b9e2c421 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPlatformScriptMacOS/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPlatformScriptMacOS/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +30,6 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "custom"; Ensure = "Present"; BlockExecutionNotifications = $False; @@ -34,7 +41,9 @@ Configuration Example RoleScopeTagIds = @("0"); RunAsAccount = "user"; ScriptContent = "Base64 encoded script content"; - TenantId = $OrganizationName; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPlatformScriptMacOS/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPlatformScriptMacOS/3-Remove.ps1 index 4b210f57a4..5ca16398b7 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPlatformScriptMacOS/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPlatformScriptMacOS/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,10 +24,12 @@ Configuration Example { IntuneDeviceConfigurationPlatformScriptMacOS 'Example' { - Credential = $Credscredential; DisplayName = "custom"; Ensure = "Absent"; Id = "00000000-0000-0000-0000-000000000000"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPlatformScriptWindows/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPlatformScriptWindows/1-Create.ps1 index b5775736dd..3aefc20441 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPlatformScriptWindows/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPlatformScriptWindows/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +30,6 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "custom"; Ensure = "Present"; EnforceSignatureCheck = $False; @@ -31,7 +38,9 @@ Configuration Example RunAs32Bit = $True; RunAsAccount = "system"; ScriptContent = "Base64 encoded script content"; - TenantId = $OrganizationName; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPlatformScriptWindows/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPlatformScriptWindows/2-Update.ps1 index 6498d54c6e..df23106133 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPlatformScriptWindows/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPlatformScriptWindows/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +30,6 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "custom"; Ensure = "Present"; EnforceSignatureCheck = $False; @@ -31,7 +38,9 @@ Configuration Example RunAs32Bit = $False; # Updated property RunAsAccount = "system"; ScriptContent = "Base64 encoded script content"; - TenantId = $OrganizationName; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPlatformScriptWindows/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPlatformScriptWindows/3-Remove.ps1 index d3933101bc..aa9af00cfc 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPlatformScriptWindows/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPlatformScriptWindows/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,11 +24,12 @@ Configuration Example { IntuneDeviceConfigurationPlatformScriptWindows 'Example' { - Credential = $Credscredential; DisplayName = "custom"; Ensure = "Absent"; Id = "00000000-0000-0000-0000-000000000000"; - TenantId = $OrganizationName; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidDeviceAdministrator/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidDeviceAdministrator/1-Create.ps1 index 046eae0b0f..6941737462 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidDeviceAdministrator/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidDeviceAdministrator/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -72,7 +80,9 @@ Configuration Example WebBrowserCookieSettings = 'allowAlways' WiFiBlocked = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidDeviceAdministrator/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidDeviceAdministrator/2-Update.ps1 index 6ada58e52e..601c917715 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidDeviceAdministrator/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidDeviceAdministrator/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -72,7 +80,9 @@ Configuration Example WebBrowserCookieSettings = 'allowAlways' WiFiBlocked = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidDeviceAdministrator/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidDeviceAdministrator/3-Remove.ps1 index 441167a739..3f0ec44dd3 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidDeviceAdministrator/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidDeviceAdministrator/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = 'Android device admin' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidDeviceOwner/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidDeviceOwner/1-Create.ps1 index b75191c8fb..49dcc36d58 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidDeviceOwner/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidDeviceOwner/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -58,7 +66,9 @@ Configuration Example WorkProfilePasswordRequiredType = 'deviceDefault' WorkProfilePasswordRequireUnlock = 'deviceDefault' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidDeviceOwner/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidDeviceOwner/2-Update.ps1 index 854e05e7d9..d02e2f0311 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidDeviceOwner/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidDeviceOwner/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -58,7 +66,9 @@ Configuration Example WorkProfilePasswordRequiredType = 'deviceDefault' WorkProfilePasswordRequireUnlock = 'deviceDefault' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidDeviceOwner/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidDeviceOwner/3-Remove.ps1 index 3c1e951844..8caded1819 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidDeviceOwner/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidDeviceOwner/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = 'general confi - AndroidDeviceOwner' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidOpenSourceProject/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidOpenSourceProject/1-Create.ps1 index e18d649060..3ce8a77ee0 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidOpenSourceProject/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidOpenSourceProject/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -29,7 +37,9 @@ Configuration Example ScreenCaptureBlocked = $True StorageBlockExternalMedia = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidOpenSourceProject/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidOpenSourceProject/2-Update.ps1 index 184ed1705e..f7494f93b0 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidOpenSourceProject/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidOpenSourceProject/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -29,7 +37,9 @@ Configuration Example ScreenCaptureBlocked = $True StorageBlockExternalMedia = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidOpenSourceProject/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidOpenSourceProject/3-Remove.ps1 index 5c16fc6b49..69be23ea8a 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidOpenSourceProject/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidOpenSourceProject/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = 'aosp' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidWorkProfile/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidWorkProfile/1-Create.ps1 index 561b2a1196..5d837fe217 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidWorkProfile/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidWorkProfile/1-Create.ps1 @@ -5,9 +5,17 @@ This example creates a new General Device Configuration Policy for Android WorkP Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -37,7 +45,9 @@ Configuration Example WorkProfilePasswordRequiredType = 'deviceDefault' WorkProfileRequirePassword = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidWorkProfile/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidWorkProfile/2-Update.ps1 index cf2bbd792e..c9b6d85215 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidWorkProfile/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidWorkProfile/2-Update.ps1 @@ -5,9 +5,17 @@ This example creates a new General Device Configuration Policy for Android WorkP Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -37,7 +45,9 @@ Configuration Example WorkProfilePasswordRequiredType = 'deviceDefault' WorkProfileRequirePassword = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidWorkProfile/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidWorkProfile/3-Remove.ps1 index b019a1a657..91a5b0ed71 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidWorkProfile/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyAndroidWorkProfile/3-Remove.ps1 @@ -5,9 +5,17 @@ This example creates a new General Device Configuration Policy for Android WorkP Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +25,9 @@ Configuration Example { DisplayName = 'Android Work Profile - Device Restrictions - Standard' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyMacOS/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyMacOS/1-Create.ps1 index b6234b3b22..eb2695e635 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyMacOS/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyMacOS/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -109,7 +117,9 @@ Configuration Example UpdateDelayPolicy = @('delayOSUpdateVisibility', 'delayAppUpdateVisibility', 'delayMajorOsUpdateVisibility') WallpaperModificationBlocked = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyMacOS/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyMacOS/2-Update.ps1 index d52aa87392..60fab32746 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyMacOS/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyMacOS/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -109,7 +117,9 @@ Configuration Example UpdateDelayPolicy = @('delayOSUpdateVisibility', 'delayAppUpdateVisibility', 'delayMajorOsUpdateVisibility') WallpaperModificationBlocked = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyMacOS/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyMacOS/3-Remove.ps1 index b2e3b21362..46daa4d5b2 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyMacOS/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyMacOS/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = 'MacOS device restriction' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyWindows10/1-Create.ps1 index 940cc63a3f..c8e9be6cc7 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -47,7 +55,6 @@ Configuration Example ConnectedDevicesServiceBlocked = $False; CopyPasteBlocked = $False; CortanaBlocked = $False; - Credential = $Credscredential; CryptographyAllowFipsAlgorithmPolicy = $False; DefenderBlockEndUserAccess = $False; DefenderBlockOnAccessProtection = $False; @@ -267,6 +274,9 @@ Configuration Example WirelessDisplayBlockProjectionToThisDevice = $False; WirelessDisplayBlockUserInputFromReceiver = $False; WirelessDisplayRequirePinForPairing = $False; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyWindows10/2-Update.ps1 index e9f0b4b8b2..e31803d2db 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -47,7 +55,6 @@ Configuration Example ConnectedDevicesServiceBlocked = $False; CopyPasteBlocked = $False; CortanaBlocked = $False; - Credential = $Credscredential; CryptographyAllowFipsAlgorithmPolicy = $False; DefenderBlockEndUserAccess = $False; DefenderBlockOnAccessProtection = $False; @@ -267,6 +274,9 @@ Configuration Example WirelessDisplayBlockProjectionToThisDevice = $False; WirelessDisplayBlockUserInputFromReceiver = $False; WirelessDisplayRequirePinForPairing = $False; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyWindows10/3-Remove.ps1 index 1d793d1f51..2e4255c5c6 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,9 +24,11 @@ Configuration Example { IntuneDeviceConfigurationPolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "device config"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyiOS/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyiOS/1-Create.ps1 index 0ae05c68c6..6a418b2d10 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyiOS/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyiOS/1-Create.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Configuration Policy for iOS. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -124,7 +132,9 @@ Configuration Example VoiceDialingBlocked = $False WallpaperBlockModification = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyiOS/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyiOS/2-Update.ps1 index 4b06a5591f..e381f1a619 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyiOS/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyiOS/2-Update.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Configuration Policy for iOS. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -124,7 +132,9 @@ Configuration Example VoiceDialingBlocked = $False WallpaperBlockModification = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyiOS/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyiOS/3-Remove.ps1 index 99663148fb..a2870509c6 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyiOS/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationPolicyiOS/3-Remove.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Configuration Policy for iOS. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +25,9 @@ Configuration Example { DisplayName = 'iOS DSC Policy' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSCEPCertificatePolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSCEPCertificatePolicyWindows10/1-Create.ps1 index ea3febcd48..5cfb8a300d 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSCEPCertificatePolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSCEPCertificatePolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -25,7 +33,6 @@ Configuration Example CertificateStore = "user"; CertificateValidityPeriodScale = "years"; CertificateValidityPeriodValue = 5; - Credential = $Credscredential; CustomSubjectAlternativeNames = @( MSFT_MicrosoftGraphcustomSubjectAlternativeName{ SanType = 'domainNameService' @@ -50,6 +57,9 @@ Configuration Example SubjectNameFormat = "custom"; SubjectNameFormatString = "CN={{UserName}},E={{EmailAddress}}"; RootCertificateId = "169bf4fc-5914-40f4-ad33-48c225396183"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSCEPCertificatePolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSCEPCertificatePolicyWindows10/2-Update.ps1 index 93e40032e6..6118051422 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSCEPCertificatePolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSCEPCertificatePolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -25,7 +33,6 @@ Configuration Example CertificateStore = "user"; CertificateValidityPeriodScale = "years"; CertificateValidityPeriodValue = 5; - Credential = $Credscredential; CustomSubjectAlternativeNames = @( MSFT_MicrosoftGraphcustomSubjectAlternativeName{ SanType = 'domainNameService' @@ -50,6 +57,9 @@ Configuration Example SubjectNameFormat = "custom"; SubjectNameFormatString = "CN={{UserName}},E={{EmailAddress}}"; RootCertificateId = "169bf4fc-5914-40f4-ad33-48c225396183"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSCEPCertificatePolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSCEPCertificatePolicyWindows10/3-Remove.ps1 index 721d61cff3..2f11dacb38 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSCEPCertificatePolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSCEPCertificatePolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,9 +24,11 @@ Configuration Example { IntuneDeviceConfigurationScepCertificatePolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "SCEP"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSecureAssessmentPolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSecureAssessmentPolicyWindows10/1-Create.ps1 index 8f0c070dfb..4f1a94ea55 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSecureAssessmentPolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSecureAssessmentPolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -28,11 +36,13 @@ Configuration Example ); ConfigurationAccount = "user@domain.com"; ConfigurationAccountType = "azureADAccount"; - Credential = $Credscredential; DisplayName = "Secure Assessment"; Ensure = "Present"; LaunchUri = "https://assessment.domain.com"; LocalGuestAccountName = ""; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSecureAssessmentPolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSecureAssessmentPolicyWindows10/2-Update.ps1 index 59132497d7..7b380c8847 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSecureAssessmentPolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSecureAssessmentPolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -28,11 +36,13 @@ Configuration Example ); ConfigurationAccount = "user@domain.com"; ConfigurationAccountType = "azureADAccount"; - Credential = $Credscredential; DisplayName = "Secure Assessment"; Ensure = "Present"; LaunchUri = "https://assessment.domain.com"; LocalGuestAccountName = ""; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSecureAssessmentPolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSecureAssessmentPolicyWindows10/3-Remove.ps1 index 3c86881b4c..5d7b079159 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSecureAssessmentPolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSecureAssessmentPolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,9 +24,11 @@ Configuration Example { IntuneDeviceConfigurationSecureAssessmentPolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "Secure Assessment"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSharedMultiDevicePolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSharedMultiDevicePolicyWindows10/1-Create.ps1 index 61caf9f43e..dad601fefb 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSharedMultiDevicePolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSharedMultiDevicePolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -29,7 +37,6 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisableAccountManager = $False; DisableEduPolicies = $False; DisablePowerPolicies = $False; @@ -45,6 +52,9 @@ Configuration Example SetEduPolicies = "enabled"; SetPowerPolicies = "enabled"; SignInOnResume = "enabled"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSharedMultiDevicePolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSharedMultiDevicePolicyWindows10/2-Update.ps1 index c92efad921..0a67b952e5 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSharedMultiDevicePolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSharedMultiDevicePolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -29,7 +37,6 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisableAccountManager = $False; DisableEduPolicies = $False; DisablePowerPolicies = $False; @@ -45,6 +52,9 @@ Configuration Example SetEduPolicies = "enabled"; SetPowerPolicies = "enabled"; SignInOnResume = "enabled"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSharedMultiDevicePolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSharedMultiDevicePolicyWindows10/3-Remove.ps1 index bf6778fad4..7c37541796 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSharedMultiDevicePolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationSharedMultiDevicePolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,9 +24,11 @@ Configuration Example { IntuneDeviceConfigurationSharedMultiDevicePolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "Shared Multi device"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationTrustedCertificatePolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationTrustedCertificatePolicyWindows10/1-Create.ps1 index f074cf9c75..5ad9d1de72 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationTrustedCertificatePolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationTrustedCertificatePolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -23,11 +31,13 @@ Configuration Example } ); CertFileName = "RootCA.cer"; - Credential = $Credscredential; DestinationStore = "computerCertStoreRoot"; DisplayName = "Trusted Cert"; Ensure = "Present"; TrustedRootCertificate = "MIIEEjCCAvqgAwIBAgIPAMEAizw8iBHRPvZj7N9AMA0GCSqGSIb3DQEBBAUAMHAxKzApBgNVBAsTIkNvcHlyaWdodCAoYykgMTk5NyBNaWNyb3NvZnQgQ29ycC4xHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFJvb3QgQXV0aG9yaXR5MB4XDTk3MDExMDA3MDAwMFoXDTIwMTIzMTA3MDAwMFowcDErMCkGA1UECxMiQ29weXJpZ2h0IChjKSAxOTk3IE1pY3Jvc29mdCBDb3JwLjEeMBwGA1UECxMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEwHwYDVQQDExhNaWNyb3NvZnQgUm9vdCBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpAr3BcOY78k4bKJ+XeF4w6qKpjSVf+P6VTKO3/p2iID58UaKboo9gMmvRQmR57qx2yVTa8uuchhyPn4Rms8VremIj1h083g8BkuiWxL8tZpqaaCaZ0Dosvwy1WCbBRucKPjiWLKkoOajsSYNC44QPu5psVWGsgnyhYC13TOmZtGQ7mlAcMQgkFJ+p55ErGOY9mGMUYFgFZZ8dN1KH96fvlALGG9O/VUWziYC/OuxUlE6u/ad6bXROrxjMlgkoIQBXkGBpN7tLEgc8Vv9b+6RmCgim0oFWV++2O14WgXcE2va+roCV/rDNf9anGnJcPMq88AijIjCzBoXJsyB3E4XfAgMBAAGjgagwgaUwgaIGA1UdAQSBmjCBl4AQW9Bw72lyniNRfhSyTY7/y6FyMHAxKzApBgNVBAsTIkNvcHlyaWdodCAoYykgMTk5NyBNaWNyb3NvZnQgQ29ycC4xHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFJvb3QgQXV0aG9yaXR5gg8AwQCLPDyIEdE+9mPs30AwDQYJKoZIhvcNAQEEBQADggEBAJXoC8CN85cYNe24ASTYdxHzXGAyn54Lyz4FkYiPyTrmIfLwV5MstaBHyGLv/NfMOztaqTZUaf4kbT/JzKreBXzdMY09nxBwarv+Ek8YacD80EPjEVogT+pie6+qGcgrNyUtvmWhEoolD2Oj91Qc+SHJ1hXzUqxuQzIH/YIX+OVnbA1R9r3xUse958Qw/CAxCYgdlSkaTdUdAqXxgOADtFv0sd3IV+5lScdSVLa0AygS/5DW8AiPfriXxas3LOR65Kh343agANBqP8HSNorgQRKoNWobats14dQcBOSoRQTIWjM4bk0cDWK3CqKM09VUP0bNHFWmcNsSOoeTdZ+n0qA="; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationTrustedCertificatePolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationTrustedCertificatePolicyWindows10/2-Update.ps1 index 9572a0909d..e35ae2acd5 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationTrustedCertificatePolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationTrustedCertificatePolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -23,11 +31,13 @@ Configuration Example } ); CertFileName = "RootNew.cer"; # Updated Property - Credential = $Credscredential; DestinationStore = "computerCertStoreRoot"; DisplayName = "Trusted Cert"; Ensure = "Present"; TrustedRootCertificate = "MIIEEjCCAvqgAwIBAgIPAMEAizw8iBHRPvZj7N9AMA0GCSqGSIb3DQEBBAUAMHAxKzApBgNVBAsTIkNvcHlyaWdodCAoYykgMTk5NyBNaWNyb3NvZnQgQ29ycC4xHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFJvb3QgQXV0aG9yaXR5MB4XDTk3MDExMDA3MDAwMFoXDTIwMTIzMTA3MDAwMFowcDErMCkGA1UECxMiQ29weXJpZ2h0IChjKSAxOTk3IE1pY3Jvc29mdCBDb3JwLjEeMBwGA1UECxMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEwHwYDVQQDExhNaWNyb3NvZnQgUm9vdCBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpAr3BcOY78k4bKJ+XeF4w6qKpjSVf+P6VTKO3/p2iID58UaKboo9gMmvRQmR57qx2yVTa8uuchhyPn4Rms8VremIj1h083g8BkuiWxL8tZpqaaCaZ0Dosvwy1WCbBRucKPjiWLKkoOajsSYNC44QPu5psVWGsgnyhYC13TOmZtGQ7mlAcMQgkFJ+p55ErGOY9mGMUYFgFZZ8dN1KH96fvlALGG9O/VUWziYC/OuxUlE6u/ad6bXROrxjMlgkoIQBXkGBpN7tLEgc8Vv9b+6RmCgim0oFWV++2O14WgXcE2va+roCV/rDNf9anGnJcPMq88AijIjCzBoXJsyB3E4XfAgMBAAGjgagwgaUwgaIGA1UdAQSBmjCBl4AQW9Bw72lyniNRfhSyTY7/y6FyMHAxKzApBgNVBAsTIkNvcHlyaWdodCAoYykgMTk5NyBNaWNyb3NvZnQgQ29ycC4xHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFJvb3QgQXV0aG9yaXR5gg8AwQCLPDyIEdE+9mPs30AwDQYJKoZIhvcNAQEEBQADggEBAJXoC8CN85cYNe24ASTYdxHzXGAyn54Lyz4FkYiPyTrmIfLwV5MstaBHyGLv/NfMOztaqTZUaf4kbT/JzKreBXzdMY09nxBwarv+Ek8YacD80EPjEVogT+pie6+qGcgrNyUtvmWhEoolD2Oj91Qc+SHJ1hXzUqxuQzIH/YIX+OVnbA1R9r3xUse958Qw/CAxCYgdlSkaTdUdAqXxgOADtFv0sd3IV+5lScdSVLa0AygS/5DW8AiPfriXxas3LOR65Kh343agANBqP8HSNorgQRKoNWobats14dQcBOSoRQTIWjM4bk0cDWK3CqKM09VUP0bNHFWmcNsSOoeTdZ+n0qA="; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationTrustedCertificatePolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationTrustedCertificatePolicyWindows10/3-Remove.ps1 index f1c6596534..0ac59c1a99 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationTrustedCertificatePolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationTrustedCertificatePolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,9 +24,11 @@ Configuration Example { IntuneDeviceConfigurationTrustedCertificatePolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "Trusted Cert"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationVpnPolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationVpnPolicyWindows10/1-Create.ps1 index 1fa1b7d51c..f8f277b958 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationVpnPolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationVpnPolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -25,7 +33,6 @@ Configuration Example AuthenticationMethod = "usernameAndPassword"; ConnectionName = "Cisco VPN"; ConnectionType = "ciscoAnyConnect"; - Credential = $Credscredential; CustomXml = ""; DisplayName = "VPN"; DnsRules = @( @@ -73,6 +80,9 @@ Configuration Example } ); TrustedNetworkDomains = @(); + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationVpnPolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationVpnPolicyWindows10/2-Update.ps1 index 69242ff63c..f6eeed0a1a 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationVpnPolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationVpnPolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -25,7 +33,6 @@ Configuration Example AuthenticationMethod = "usernameAndPassword"; ConnectionName = "Cisco VPN"; ConnectionType = "ciscoAnyConnect"; - Credential = $Credscredential; CustomXml = ""; DisplayName = "VPN"; DnsRules = @( @@ -73,6 +80,9 @@ Configuration Example } ); TrustedNetworkDomains = @(); + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationVpnPolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationVpnPolicyWindows10/3-Remove.ps1 index 1274c03e79..7e6bb0ea45 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationVpnPolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationVpnPolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,9 +24,11 @@ Configuration Example { IntuneDeviceConfigurationVpnPolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "VPN"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationWindowsTeamPolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationWindowsTeamPolicyWindows10/1-Create.ps1 index e525045cf5..daa9eae1b6 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationWindowsTeamPolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationWindowsTeamPolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -24,7 +32,6 @@ Configuration Example ); AzureOperationalInsightsBlockTelemetry = $True; ConnectAppBlockAutoLaunch = $True; - Credential = $Credscredential; DisplayName = "Device restrictions (Windows 10 Team)"; Ensure = "Present"; MaintenanceWindowBlocked = $False; @@ -39,6 +46,9 @@ Configuration Example SupportsScopeTags = $True; WelcomeScreenBlockAutomaticWakeUp = $True; WelcomeScreenMeetingInformation = "showOrganizerAndTimeOnly"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationWindowsTeamPolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationWindowsTeamPolicyWindows10/2-Update.ps1 index f2c95f9c48..d362300d56 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationWindowsTeamPolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationWindowsTeamPolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -24,7 +32,6 @@ Configuration Example ); AzureOperationalInsightsBlockTelemetry = $False; # Updated Property ConnectAppBlockAutoLaunch = $True; - Credential = $Credscredential; DisplayName = "Device restrictions (Windows 10 Team)"; Ensure = "Present"; MaintenanceWindowBlocked = $False; @@ -39,6 +46,9 @@ Configuration Example SupportsScopeTags = $True; WelcomeScreenBlockAutomaticWakeUp = $True; WelcomeScreenMeetingInformation = "showOrganizerAndTimeOnly"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationWindowsTeamPolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationWindowsTeamPolicyWindows10/3-Remove.ps1 index 99c307e64d..e9a18c6b39 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationWindowsTeamPolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationWindowsTeamPolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,9 +24,11 @@ Configuration Example { IntuneDeviceConfigurationWindowsTeamPolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "Device restrictions (Windows 10 Team)"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationWiredNetworkPolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationWiredNetworkPolicyWindows10/1-Create.ps1 index fbbcf032f7..817e0b5627 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationWiredNetworkPolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationWiredNetworkPolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -29,7 +37,6 @@ Configuration Example AuthenticationRetryDelayPeriodInSeconds = 5 AuthenticationType = 'machine' CacheCredentials = $True - Credential = $Credscredential DisplayName = 'Wired Network' EapolStartPeriodInSeconds = 5 EapType = 'teap' @@ -41,6 +48,9 @@ Configuration Example TrustedServerCertificateNames = @('srv.domain.com') RootCertificatesForServerValidationIds = @('a485d322-13cd-43ef-beda-733f656f48ea', '169bf4fc-5914-40f4-ad33-48c225396183') SecondaryIdentityCertificateForClientAuthenticationId = '0b9aef2f-1671-4260-8eb9-3ab3138e176a' + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationWiredNetworkPolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationWiredNetworkPolicyWindows10/2-Update.ps1 index c7aa68885a..c134ecbe5e 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationWiredNetworkPolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationWiredNetworkPolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -29,7 +37,6 @@ Configuration Example AuthenticationRetryDelayPeriodInSeconds = 5 AuthenticationType = 'machine' CacheCredentials = $True - Credential = $Credscredential DisplayName = 'Wired Network' EapolStartPeriodInSeconds = 5 EapType = 'teap' @@ -41,6 +48,9 @@ Configuration Example TrustedServerCertificateNames = @('srv.domain.com') RootCertificatesForServerValidationIds = @('a485d322-13cd-43ef-beda-733f656f48ea', '169bf4fc-5914-40f4-ad33-48c225396183') SecondaryIdentityCertificateForClientAuthenticationId = '0b9aef2f-1671-4260-8eb9-3ab3138e176a' + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationWiredNetworkPolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationWiredNetworkPolicyWindows10/3-Remove.ps1 index bbf5bf4d73..8e1c70d1ec 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationWiredNetworkPolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceConfigurationWiredNetworkPolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,9 +24,11 @@ Configuration Example { IntuneDeviceConfigurationWiredNetworkPolicyWindows10 'Example' { - Credential = $Credscredential DisplayName = 'Wired Network' Ensure = 'Present' + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentLimitRestriction/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentLimitRestriction/1-Create.ps1 index 2c995f15f6..ec54b07d17 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentLimitRestriction/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentLimitRestriction/1-Create.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Enrollment Limit Restriction. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,7 +27,9 @@ Configuration Example Description = 'My Restriction' Limit = 12 Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentLimitRestriction/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentLimitRestriction/2-Update.ps1 index a36fb9f5bc..5454d76046 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentLimitRestriction/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentLimitRestriction/2-Update.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Enrollment Limit Restriction. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,7 +27,9 @@ Configuration Example Description = 'My Restriction' Limit = 11 # Updated Property Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentLimitRestriction/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentLimitRestriction/3-Remove.ps1 index fb00aa8e9b..2ecec7b4b7 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentLimitRestriction/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentLimitRestriction/3-Remove.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Enrollment Limit Restriction. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +25,9 @@ Configuration Example { DisplayName = 'My DSC Limit' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentPlatformRestriction/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentPlatformRestriction/1-Create.ps1 index 59d2180462..0552b4e3d4 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentPlatformRestriction/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentPlatformRestriction/1-Create.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Enrollment Platform Restriction. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -28,7 +36,6 @@ Configuration Example deviceAndAppManagementAssignmentFilterType = 'none' dataType = '#microsoft.graph.allDevicesAssignmentTarget' }); - Credential = $Credscredential Description = "This is the default Device Type Restriction applied with the lowest priority to all users regardless of group membership."; DeviceEnrollmentConfigurationType = "platformRestrictions"; DisplayName = "All users and all devices"; @@ -58,6 +65,9 @@ Configuration Example platformBlocked = $False personalDeviceEnrollmentBlocked = $False }; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentPlatformRestriction/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentPlatformRestriction/2-Update.ps1 index 24eecb9143..321192cbc1 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentPlatformRestriction/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentPlatformRestriction/2-Update.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Enrollment Platform Restriction. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -28,7 +36,6 @@ Configuration Example deviceAndAppManagementAssignmentFilterType = 'none' dataType = '#microsoft.graph.allDevicesAssignmentTarget' }); - Credential = $Credscredential Description = "This is the default Device Type Restriction applied with the lowest priority to all users regardless of group membership."; DeviceEnrollmentConfigurationType = "platformRestrictions"; DisplayName = "All users and all devices"; @@ -58,6 +65,9 @@ Configuration Example platformBlocked = $False personalDeviceEnrollmentBlocked = $False }; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentPlatformRestriction/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentPlatformRestriction/3-Remove.ps1 index 5727bbb579..73d3ce57ad 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentPlatformRestriction/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentPlatformRestriction/3-Remove.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Enrollment Platform Restriction. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -15,7 +23,6 @@ Configuration Example { IntuneDeviceEnrollmentPlatformRestriction 'DeviceEnrollmentPlatformRestriction' { - Credential = $Credscredential DisplayName = "Removed Policy"; Ensure = "Absent"; Assignments = @(); @@ -27,7 +34,9 @@ Configuration Example PersonalDeviceEnrollmentBlocked = $False }; Priority = 1; - TenantId = $OrganizationName; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentStatusPageWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentStatusPageWindows10/1-Create.ps1 index 23ecb3cb28..b4d60261d2 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentStatusPageWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentStatusPageWindows10/1-Create.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Enrollment Status Page. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -37,7 +45,9 @@ Configuration Example SelectedMobileAppIds = @(); ShowInstallationProgress = $True; TrackInstallProgressForAutopilotOnly = $True; - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentStatusPageWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentStatusPageWindows10/2-Update.ps1 index 524d3a5343..55c2412c4d 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentStatusPageWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentStatusPageWindows10/2-Update.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Enrollment Status Page. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -37,7 +45,9 @@ Configuration Example SelectedMobileAppIds = @(); ShowInstallationProgress = $True; TrackInstallProgressForAutopilotOnly = $True; - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentStatusPageWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentStatusPageWindows10/3-Remove.ps1 index b9a40e93bd..e79cc8a38d 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentStatusPageWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceEnrollmentStatusPageWindows10/3-Remove.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Enrollment Status Page. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +25,9 @@ Configuration Example { DisplayName = "All users and all devices"; Ensure = "Absent"; - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceManagementComplianceSettings/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceManagementComplianceSettings/2-Update.ps1 index 8466ff6b8a..802402dbff 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceManagementComplianceSettings/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceManagementComplianceSettings/2-Update.ps1 @@ -5,9 +5,17 @@ This example updates the Device Management Compliance Settings Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -15,10 +23,12 @@ Configuration Example { IntuneDeviceManagementComplianceSettings 'DeviceManagementComplianceSettings' { - Credential = $Credscredential DeviceComplianceCheckinThresholdDays = 22; IsSingleInstance = "Yes"; SecureByDefault = $True; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceRemediation/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceRemediation/1-Create.ps1 index 0910babcef..bedb3af636 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceRemediation/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceRemediation/1-Create.ps1 @@ -5,9 +5,17 @@ This example creates a new Device Remediation. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -32,7 +40,6 @@ Configuration Example } } ); - Credential = $Credscredential Description = 'Description' DetectionScriptContent = "Base64 encoded script content"; DeviceHealthScriptType = "deviceHealthScript"; @@ -45,7 +52,9 @@ Configuration Example RoleScopeTagIds = @("0"); RunAs32Bit = $True; RunAsAccount = "system"; - TenantId = $OrganizationName; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceRemediation/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceRemediation/2-Update.ps1 index 116faa673a..a8477140d6 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceRemediation/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceRemediation/2-Update.ps1 @@ -5,9 +5,17 @@ This example updates a new Device Remediation. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -32,7 +40,6 @@ Configuration Example } } ); - Credential = $Credscredential Description = 'Description' DetectionScriptContent = "Base64 encoded script content 2"; # Updated property DeviceHealthScriptType = "deviceHealthScript"; @@ -45,7 +52,9 @@ Configuration Example RoleScopeTagIds = @("0"); RunAs32Bit = $True; RunAsAccount = "system"; - TenantId = $OrganizationName; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceRemediation/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceRemediation/3-Remove.ps1 index 85b0b6a6a0..f67cc58688 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceRemediation/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDeviceRemediation/3-Remove.ps1 @@ -5,9 +5,17 @@ This example removes a Device Remediation. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example Id = '00000000-0000-0000-0000-000000000000' DisplayName = 'Device remediation' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionMacOS/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionMacOS/1-Create.ps1 index a8ca59f806..6cd082f0f5 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionMacOS/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionMacOS/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -27,7 +35,9 @@ Configuration Example PersonalRecoveryKeyRotationInMonths = 2; RoleScopeTagIds = @("0"); SelectedRecoveryKeyTypes = @("personalRecoveryKey"); - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionMacOS/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionMacOS/2-Update.ps1 index c68a663795..a703124b75 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionMacOS/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionMacOS/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -27,7 +35,9 @@ Configuration Example PersonalRecoveryKeyRotationInMonths = 3; # Updated property RoleScopeTagIds = @("0"); SelectedRecoveryKeyTypes = @("personalRecoveryKey"); - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionMacOS/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionMacOS/3-Remove.ps1 index b7196a085f..ccb9cabb51 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionMacOS/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionMacOS/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = 'test' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionWindows10/1-Create.ps1 index 6b4fec3bcb..9427be30cb 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -27,7 +35,9 @@ Configuration Example IdentificationField = 'IdentificationField' SecIdentificationField = 'SecIdentificationField' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionWindows10/2-Update.ps1 index c67330aaef..cc3181e17d 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -27,7 +35,9 @@ Configuration Example IdentificationField = 'IdentificationField' SecIdentificationField = 'UpdatedSecIdentificationField' # Updated property Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionWindows10/3-Remove.ps1 index 6941fe6603..4163a8ebd0 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneDiskEncryptionWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,7 +27,9 @@ Configuration Example DisplayName = 'Disk Encryption' Description = '' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneEndpointDetectionAndResponsePolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneEndpointDetectionAndResponsePolicyWindows10/1-Create.ps1 index b26ac43199..2cf142bdf2 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneEndpointDetectionAndResponsePolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneEndpointDetectionAndResponsePolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +28,9 @@ Configuration Example Assignments = @() Description = 'My revised description' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneEndpointDetectionAndResponsePolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneEndpointDetectionAndResponsePolicyWindows10/2-Update.ps1 index 2a8a3a5984..21679df4b0 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneEndpointDetectionAndResponsePolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneEndpointDetectionAndResponsePolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -20,7 +28,9 @@ Configuration Example Assignments = @() Description = 'My updated description' # Updated Property Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneEndpointDetectionAndResponsePolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneEndpointDetectionAndResponsePolicyWindows10/3-Remove.ps1 index 2d2315e244..f7bbf42292 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneEndpointDetectionAndResponsePolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneEndpointDetectionAndResponsePolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = 'Edr Policy' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneExploitProtectionPolicyWindows10SettingCatalog/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneExploitProtectionPolicyWindows10SettingCatalog/1-Create.ps1 index 8ffa5395d4..b4ef01fd90 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneExploitProtectionPolicyWindows10SettingCatalog/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneExploitProtectionPolicyWindows10SettingCatalog/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -171,7 +179,9 @@ Configuration Example " Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneExploitProtectionPolicyWindows10SettingCatalog/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneExploitProtectionPolicyWindows10SettingCatalog/2-Update.ps1 index c9752c06b4..830e57af8c 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneExploitProtectionPolicyWindows10SettingCatalog/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneExploitProtectionPolicyWindows10SettingCatalog/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -171,7 +179,9 @@ Configuration Example " # Updated Property Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneExploitProtectionPolicyWindows10SettingCatalog/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneExploitProtectionPolicyWindows10SettingCatalog/3-Remove.ps1 index c9a0cb3563..e7182e5756 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneExploitProtectionPolicyWindows10SettingCatalog/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneExploitProtectionPolicyWindows10SettingCatalog/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = 'exploit Protection policy with assignments' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntunePolicySets/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntunePolicySets/1-Create.ps1 index 2877b370fd..aeffcea6c0 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntunePolicySets/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntunePolicySets/1-Create.ps1 @@ -6,16 +6,23 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName 'Microsoft365DSC' Node localhost { IntunePolicySets "Example" { - Credential = $Credscredential; Assignments = @( MSFT_DeviceManagementConfigurationPolicyAssignments{ deviceAndAppManagementAssignmentFilterType = 'none' @@ -42,8 +49,9 @@ Configuration Example } ); RoleScopeTags = @("0","1"); + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } - } - } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntunePolicySets/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntunePolicySets/2-Update.ps1 index e7c62ea87b..6301827b35 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntunePolicySets/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntunePolicySets/2-Update.ps1 @@ -6,16 +6,23 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName 'Microsoft365DSC' Node localhost { IntunePolicySets "Example" { - Credential = $Credscredential; Assignments = @( MSFT_DeviceManagementConfigurationPolicyAssignments{ deviceAndAppManagementAssignmentFilterType = 'none' @@ -42,8 +49,9 @@ Configuration Example } ); RoleScopeTags = @("0","1","2"); # Updated Property + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } - } - } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntunePolicySets/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntunePolicySets/3-Remove.ps1 index 9203613c8b..a1d152f253 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntunePolicySets/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntunePolicySets/3-Remove.ps1 @@ -6,20 +6,28 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName 'Microsoft365DSC' Node localhost { IntunePolicySets "Example" { - Credential = $Credscredential; DisplayName = "Example"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } - } - } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneRoleAssignment/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneRoleAssignment/1-Create.ps1 index 90aa706053..cd8b5aa222 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneRoleAssignment/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneRoleAssignment/1-Create.ps1 @@ -5,9 +5,17 @@ This example creates a new Intune Role Assigment. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -25,7 +33,9 @@ Configuration Example RoleDefinition = '2d00d0fd-45e9-4166-904f-b76ac5eed2c7' RoleDefinitionDisplayName = 'This is my role' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneRoleAssignment/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneRoleAssignment/2-Update.ps1 index b0868deef1..85d8bef025 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneRoleAssignment/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneRoleAssignment/2-Update.ps1 @@ -5,9 +5,17 @@ This example creates a new Intune Role Assigment. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -25,7 +33,9 @@ Configuration Example RoleDefinition = '2d00d0fd-45e9-4166-904f-b76ac5eed2c7' RoleDefinitionDisplayName = 'This is my role' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneRoleAssignment/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneRoleAssignment/3-Remove.ps1 index b59e29c20b..435a84c5ea 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneRoleAssignment/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneRoleAssignment/3-Remove.ps1 @@ -5,9 +5,17 @@ This example creates a new Intune Role Assigment. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +25,9 @@ Configuration Example { DisplayName = 'test2' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneRoleDefinition/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneRoleDefinition/1-Create.ps1 index 3085cacc62..428331bd93 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneRoleDefinition/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneRoleDefinition/1-Create.ps1 @@ -5,9 +5,17 @@ This example creates a new Intune Role Definition. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +30,9 @@ Configuration Example notallowedResourceActions = @() roleScopeTagIds = @('0', '1') Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneRoleDefinition/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneRoleDefinition/2-Update.ps1 index c36d49b3c2..0a906add91 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneRoleDefinition/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneRoleDefinition/2-Update.ps1 @@ -5,9 +5,17 @@ This example creates a new Intune Role Definition. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +30,9 @@ Configuration Example notallowedResourceActions = @() roleScopeTagIds = @('0', '1') Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneRoleDefinition/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneRoleDefinition/3-Remove.ps1 index aab7c83949..148d22b8b0 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneRoleDefinition/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneRoleDefinition/3-Remove.ps1 @@ -5,9 +5,17 @@ This example creates a new Intune Role Definition. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +25,9 @@ Configuration Example { DisplayName = 'This is my role' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneSettingCatalogASRRulesPolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneSettingCatalogASRRulesPolicyWindows10/1-Create.ps1 index 6661304509..f091d871b0 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneSettingCatalogASRRulesPolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneSettingCatalogASRRulesPolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -27,7 +35,9 @@ Configuration Example blockexecutablefilesrunningunlesstheymeetprevalenceagetrustedlistcriterion = 'audit' Description = 'Post' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneSettingCatalogASRRulesPolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneSettingCatalogASRRulesPolicyWindows10/2-Update.ps1 index e01b744a61..cfe81b8646 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneSettingCatalogASRRulesPolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneSettingCatalogASRRulesPolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -27,7 +35,9 @@ Configuration Example blockexecutablefilesrunningunlesstheymeetprevalenceagetrustedlistcriterion = 'audit' Description = 'Post' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneSettingCatalogASRRulesPolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneSettingCatalogASRRulesPolicyWindows10/3-Remove.ps1 index 94991c08ba..f81cd81644 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneSettingCatalogASRRulesPolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneSettingCatalogASRRulesPolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = 'asr 2' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneSettingCatalogCustomPolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneSettingCatalogCustomPolicyWindows10/1-Create.ps1 index bca184106a..e95b1549ea 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneSettingCatalogCustomPolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneSettingCatalogCustomPolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,7 +24,6 @@ Configuration Example { IntuneSettingCatalogCustomPolicyWindows10 'Example' { - Credential = $Credscredential Assignments = @( MSFT_DeviceManagementConfigurationPolicyAssignments{ deviceAndAppManagementAssignmentFilterType = 'none' @@ -85,6 +92,9 @@ Configuration Example } ); Technologies = "mdm"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneSettingCatalogCustomPolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneSettingCatalogCustomPolicyWindows10/2-Update.ps1 index 09e976a362..7f967169e6 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneSettingCatalogCustomPolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneSettingCatalogCustomPolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,7 +24,6 @@ Configuration Example { IntuneSettingCatalogCustomPolicyWindows10 'Example' { - Credential = $Credscredential Assignments = @( MSFT_DeviceManagementConfigurationPolicyAssignments{ deviceAndAppManagementAssignmentFilterType = 'none' @@ -85,6 +92,9 @@ Configuration Example } ); Technologies = "mdm"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneSettingCatalogCustomPolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneSettingCatalogCustomPolicyWindows10/3-Remove.ps1 index c4289f4356..15c37f198a 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneSettingCatalogCustomPolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneSettingCatalogCustomPolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,9 +24,11 @@ Configuration Example { IntuneSettingCatalogCustomPolicyWindows10 'Example' { - Credential = $Credscredential Ensure = "Absent"; Name = "Setting Catalog Raw - DSC"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWiFiConfigurationPolicyAndroidDeviceAdministrator/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWiFiConfigurationPolicyAndroidDeviceAdministrator/1-Create.ps1 index 0877dfa3f7..68379a26ff 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWiFiConfigurationPolicyAndroidDeviceAdministrator/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWiFiConfigurationPolicyAndroidDeviceAdministrator/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -29,7 +37,9 @@ Configuration Example Ssid = 'sf' WiFiSecurityType = 'wpaEnterprise' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWiFiConfigurationPolicyAndroidDeviceAdministrator/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWiFiConfigurationPolicyAndroidDeviceAdministrator/2-Update.ps1 index 60d20b13ba..61488fc4be 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWiFiConfigurationPolicyAndroidDeviceAdministrator/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWiFiConfigurationPolicyAndroidDeviceAdministrator/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -29,7 +37,9 @@ Configuration Example Ssid = 'sf' WiFiSecurityType = 'wpaEnterprise' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWiFiConfigurationPolicyAndroidDeviceAdministrator/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWiFiConfigurationPolicyAndroidDeviceAdministrator/3-Remove.ps1 index c1d2c7bf8b..f72c764053 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWiFiConfigurationPolicyAndroidDeviceAdministrator/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWiFiConfigurationPolicyAndroidDeviceAdministrator/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = 'Wifi Configuration Androind Device' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidEnterpriseDeviceOwner/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidEnterpriseDeviceOwner/1-Create.ps1 index 7d4f7c06dc..42088afb09 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidEnterpriseDeviceOwner/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidEnterpriseDeviceOwner/1-Create.ps1 @@ -7,9 +7,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -32,7 +40,9 @@ Configuration Example ProxySettings = 'none' Ssid = 'MySSID - 3' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidEnterpriseDeviceOwner/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidEnterpriseDeviceOwner/2-Update.ps1 index 1c73cfae8b..19b90870a1 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidEnterpriseDeviceOwner/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidEnterpriseDeviceOwner/2-Update.ps1 @@ -7,9 +7,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -32,7 +40,9 @@ Configuration Example ProxySettings = 'none' Ssid = 'MySSID - 3' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidEnterpriseDeviceOwner/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidEnterpriseDeviceOwner/3-Remove.ps1 index b398d434af..02cc87ad1f 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidEnterpriseDeviceOwner/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidEnterpriseDeviceOwner/3-Remove.ps1 @@ -7,9 +7,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,7 +27,9 @@ Configuration Example { DisplayName = 'Wifi - androidForWork' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidEnterpriseWorkProfile/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidEnterpriseWorkProfile/1-Create.ps1 index b5277ccc35..872caf044e 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidEnterpriseWorkProfile/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidEnterpriseWorkProfile/1-Create.ps1 @@ -7,9 +7,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -31,7 +39,9 @@ Configuration Example Ssid = 'MySSID' WiFiSecurityType = 'open' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidEnterpriseWorkProfile/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidEnterpriseWorkProfile/2-Update.ps1 index d4a11464b2..7b84ecfa53 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidEnterpriseWorkProfile/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidEnterpriseWorkProfile/2-Update.ps1 @@ -7,9 +7,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -31,7 +39,9 @@ Configuration Example Ssid = 'MySSID' WiFiSecurityType = 'open' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidEnterpriseWorkProfile/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidEnterpriseWorkProfile/3-Remove.ps1 index a4fae55f0f..6eb8559ae8 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidEnterpriseWorkProfile/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidEnterpriseWorkProfile/3-Remove.ps1 @@ -7,9 +7,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,7 +27,9 @@ Configuration Example { DisplayName = 'wifi - android BYOD' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidForWork/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidForWork/1-Create.ps1 index 6dc5eb92cf..51c5968963 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidForWork/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidForWork/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -33,7 +41,9 @@ Configuration Example Ssid = 'WiFi' WiFiSecurityType = 'wpa2Enterprise' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidForWork/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidForWork/2-Update.ps1 index cf010c716e..21fee623dc 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidForWork/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidForWork/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -33,7 +41,9 @@ Configuration Example Ssid = 'WiFi' WiFiSecurityType = 'wpa2Enterprise' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidForWork/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidForWork/3-Remove.ps1 index 72e2d84c20..e4b71c7ebd 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidForWork/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidForWork/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = 'AndroindForWork' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidOpenSourceProject/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidOpenSourceProject/1-Create.ps1 index 603d28a065..7bf3b64df6 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidOpenSourceProject/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidOpenSourceProject/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -30,7 +38,9 @@ Configuration Example Ssid = 'aaaaa' WiFiSecurityType = 'wpaPersonal' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidOpenSourceProject/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidOpenSourceProject/2-Update.ps1 index 9422aa2b40..52354137fb 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidOpenSourceProject/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidOpenSourceProject/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -30,7 +38,9 @@ Configuration Example Ssid = 'aaaaa' WiFiSecurityType = 'wpaPersonal' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidOpenSourceProject/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidOpenSourceProject/3-Remove.ps1 index 2ed5a3d069..363fd2438a 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidOpenSourceProject/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyAndroidOpenSourceProject/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = 'wifi aosp' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyIOS/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyIOS/1-Create.ps1 index 6fec3854e9..98b8242414 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyIOS/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyIOS/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -32,7 +40,9 @@ Configuration Example Ssid = 'aaaaa' WiFiSecurityType = 'wpaPersonal' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyIOS/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyIOS/2-Update.ps1 index ab3b58d347..94ac38ac7b 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyIOS/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyIOS/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -32,7 +40,9 @@ Configuration Example Ssid = 'aaaaa' WiFiSecurityType = 'wpaPersonal' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyIOS/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyIOS/3-Remove.ps1 index e6056c55c1..2c328e3243 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyIOS/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyIOS/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = 'ios wifi' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyMacOS/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyMacOS/1-Create.ps1 index 037bf0fae7..9e8cfdc1b6 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyMacOS/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyMacOS/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -31,7 +39,9 @@ Configuration Example Ssid = 'aaaaaaaaaaaaa' WiFiSecurityType = 'wpaPersonal' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyMacOS/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyMacOS/2-Update.ps1 index 05a5c2e3cf..bb15e2e707 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyMacOS/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyMacOS/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -31,7 +39,9 @@ Configuration Example Ssid = 'aaaaaaaaaaaaa' WiFiSecurityType = 'wpaPersonal' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyMacOS/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyMacOS/3-Remove.ps1 index 4034a8c8cb..4693093d04 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyMacOS/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyMacOS/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = 'macos wifi' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyWindows10/1-Create.ps1 index 4d23fef70a..9247c56522 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -34,7 +42,9 @@ Configuration Example Ssid = 'ssid' WifiSecurityType = 'wpa2Personal' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyWindows10/2-Update.ps1 index 5c6fca22a6..778e72fa36 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -34,7 +42,9 @@ Configuration Example Ssid = 'ssid' WifiSecurityType = 'wpa2Personal' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyWindows10/3-Remove.ps1 index e5b8d15dce..1eba552a56 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWifiConfigurationPolicyWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = 'win10 wifi - revised' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsAutopilotDeploymentProfileAzureADHybridJoined/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsAutopilotDeploymentProfileAzureADHybridJoined/1-Create.ps1 index 27d64d06bc..b9fa5ee53d 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsAutopilotDeploymentProfileAzureADHybridJoined/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsAutopilotDeploymentProfileAzureADHybridJoined/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +25,6 @@ Configuration Example IntuneWindowsAutopilotDeploymentProfileAzureADHybridJoined 'Example' { Assignments = @(); - Credential = $Credscredential; Description = ""; DeviceNameTemplate = ""; DeviceType = "windowsPc"; @@ -35,6 +42,9 @@ Configuration Example SkipKeyboardSelectionPage = $False UserType = 'standard' }; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsAutopilotDeploymentProfileAzureADHybridJoined/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsAutopilotDeploymentProfileAzureADHybridJoined/2-Update.ps1 index 4671894531..199162b0e1 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsAutopilotDeploymentProfileAzureADHybridJoined/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsAutopilotDeploymentProfileAzureADHybridJoined/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -17,7 +25,6 @@ Configuration Example IntuneWindowsAutopilotDeploymentProfileAzureADHybridJoined 'Example' { Assignments = @(); - Credential = $Credscredential; Description = ""; DeviceNameTemplate = ""; DeviceType = "windowsPc"; @@ -35,6 +42,9 @@ Configuration Example SkipKeyboardSelectionPage = $False UserType = 'standard' }; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsAutopilotDeploymentProfileAzureADHybridJoined/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsAutopilotDeploymentProfileAzureADHybridJoined/3-Remove.ps1 index 46253c4281..5d6f8aaa5e 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsAutopilotDeploymentProfileAzureADHybridJoined/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsAutopilotDeploymentProfileAzureADHybridJoined/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,9 +24,11 @@ Configuration Example { IntuneWindowsAutopilotDeploymentProfileAzureADHybridJoined 'Example' { - Credential = $Credscredential; DisplayName = "hybrid"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsAutopilotDeploymentProfileAzureADJoined/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsAutopilotDeploymentProfileAzureADJoined/1-Create.ps1 index a3c50bf3d7..e0377a5d49 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsAutopilotDeploymentProfileAzureADJoined/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsAutopilotDeploymentProfileAzureADJoined/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +30,6 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; Description = ""; DeviceNameTemplate = "test"; DeviceType = "windowsPc"; @@ -39,6 +46,9 @@ Configuration Example SkipKeyboardSelectionPage = $True UserType = 'administrator' }; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsAutopilotDeploymentProfileAzureADJoined/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsAutopilotDeploymentProfileAzureADJoined/2-Update.ps1 index a57c990e65..6d662750cf 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsAutopilotDeploymentProfileAzureADJoined/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsAutopilotDeploymentProfileAzureADJoined/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -22,7 +30,6 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; Description = ""; DeviceNameTemplate = "test"; DeviceType = "windowsPc"; @@ -39,6 +46,9 @@ Configuration Example SkipKeyboardSelectionPage = $True UserType = 'administrator' }; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsAutopilotDeploymentProfileAzureADJoined/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsAutopilotDeploymentProfileAzureADJoined/3-Remove.ps1 index 436ac5c650..e3315f9451 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsAutopilotDeploymentProfileAzureADJoined/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsAutopilotDeploymentProfileAzureADJoined/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -16,9 +24,11 @@ Configuration Example { IntuneWindowsAutopilotDeploymentProfileAzureADJoined 'Example' { - Credential = $Credscredential; DisplayName = "AAD"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsInformationProtectionPolicyWindows10MdmEnrolled/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsInformationProtectionPolicyWindows10MdmEnrolled/1-Create.ps1 index dd3eb15de7..a68c6c2010 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsInformationProtectionPolicyWindows10MdmEnrolled/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsInformationProtectionPolicyWindows10MdmEnrolled/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -50,7 +58,9 @@ Configuration Example ProtectionUnderLockConfigRequired = $False RevokeOnUnenrollDisabled = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsInformationProtectionPolicyWindows10MdmEnrolled/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsInformationProtectionPolicyWindows10MdmEnrolled/2-Update.ps1 index 4c921dd3d9..8a4f78f2d4 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsInformationProtectionPolicyWindows10MdmEnrolled/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsInformationProtectionPolicyWindows10MdmEnrolled/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -50,7 +58,9 @@ Configuration Example ProtectionUnderLockConfigRequired = $False RevokeOnUnenrollDisabled = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsInformationProtectionPolicyWindows10MdmEnrolled/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsInformationProtectionPolicyWindows10MdmEnrolled/3-Remove.ps1 index 3739185cd6..ef4632a3ab 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsInformationProtectionPolicyWindows10MdmEnrolled/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsInformationProtectionPolicyWindows10MdmEnrolled/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = 'WIP' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessDriverUpdateProfileWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessDriverUpdateProfileWindows10/1-Create.ps1 index bb31ab852c..54cafb9028 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessDriverUpdateProfileWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessDriverUpdateProfileWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -21,7 +29,9 @@ Configuration Example Description = 'test 2' approvalType = 'manual' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessDriverUpdateProfileWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessDriverUpdateProfileWindows10/2-Update.ps1 index efe6c0eaa5..db00ad80f8 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessDriverUpdateProfileWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessDriverUpdateProfileWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -21,7 +29,9 @@ Configuration Example Description = 'test 3' # Updated property approvalType = 'manual' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessDriverUpdateProfileWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessDriverUpdateProfileWindows10/3-Remove.ps1 index 25a5c12adb..712321c6cf 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessDriverUpdateProfileWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessDriverUpdateProfileWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -19,7 +27,9 @@ Configuration Example DisplayName = 'Driver Update Example' Description = 'test 2' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessFeatureUpdateProfileWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessFeatureUpdateProfileWindows10/1-Create.ps1 index bda5ac792b..fe1472dc9f 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessFeatureUpdateProfileWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessFeatureUpdateProfileWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -24,7 +32,9 @@ Configuration Example OfferStartDateTimeInUTC = '2023-02-03T16:00:00.0000000+00:00' } Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessFeatureUpdateProfileWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessFeatureUpdateProfileWindows10/2-Update.ps1 index 80dd2d592d..639acc47c0 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessFeatureUpdateProfileWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessFeatureUpdateProfileWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -24,7 +32,9 @@ Configuration Example OfferStartDateTimeInUTC = '2023-02-05T16:00:00.0000000+00:00' # Updated Property } Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessFeatureUpdateProfileWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessFeatureUpdateProfileWindows10/3-Remove.ps1 index 3eeeb73752..4ac9c39918 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessFeatureUpdateProfileWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessFeatureUpdateProfileWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = 'WUfB Feature -dsc' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/1-Create.ps1 index 98a73d832a..f152fb7232 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -32,7 +40,9 @@ Configuration Example } RoleScopeTagIds = @("0") Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/2-Update.ps1 index 918b91d56c..77b1e4f8ff 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -32,7 +40,9 @@ Configuration Example } RoleScopeTagIds = @("0") Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/3-Remove.ps1 index 53b880993a..ac14be6e03 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = 'Windows Quality Update' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessRingUpdateProfileWindows10/1-Create.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessRingUpdateProfileWindows10/1-Create.ps1 index e93eba2279..abce1a1cc3 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessRingUpdateProfileWindows10/1-Create.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessRingUpdateProfileWindows10/1-Create.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -56,7 +64,9 @@ Configuration Example UserPauseAccess = 'enabled' UserWindowsUpdateScanAccess = 'enabled' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessRingUpdateProfileWindows10/2-Update.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessRingUpdateProfileWindows10/2-Update.ps1 index 3cb0ebeb9d..95c1903a05 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessRingUpdateProfileWindows10/2-Update.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessRingUpdateProfileWindows10/2-Update.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -56,7 +64,9 @@ Configuration Example UserPauseAccess = 'enabled' UserWindowsUpdateScanAccess = 'enabled' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessRingUpdateProfileWindows10/3-Remove.ps1 b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessRingUpdateProfileWindows10/3-Remove.ps1 index 4ebc935536..a4e5286984 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessRingUpdateProfileWindows10/3-Remove.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/IntuneWindowsUpdateForBusinessRingUpdateProfileWindows10/3-Remove.ps1 @@ -6,9 +6,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -18,7 +26,9 @@ Configuration Example { DisplayName = 'WUfB Ring' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } From ca0f0860f5266a5fb178f57e92d03b01746ba939 Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Wed, 17 Jul 2024 20:20:55 +0000 Subject: [PATCH 119/123] Updated Resources and Cmdlet documentation pages --- .../intune/IntuneASRRulesPolicyWindows10.md | 54 +++++++++++++---- ...ocalAdministratorPasswordSolutionPolicy.md | 54 +++++++++++++---- ...rotectionLocalUserGroupMembershipPolicy.md | 54 +++++++++++++---- .../intune/IntuneAccountProtectionPolicy.md | 54 +++++++++++++---- ...eAntivirusPolicyWindows10SettingCatalog.md | 54 +++++++++++++---- .../IntuneAppConfigurationDevicePolicy.md | 57 +++++++++++++----- .../intune/IntuneAppConfigurationPolicy.md | 54 +++++++++++++---- .../IntuneAppProtectionPolicyAndroid.md | 57 +++++++++++++----- .../intune/IntuneAppProtectionPolicyiOS.md | 54 +++++++++++++---- ...IntuneApplicationControlPolicyWindows10.md | 54 +++++++++++++---- ...uctionRulesPolicyWindows10ConfigManager.md | 54 +++++++++++++---- ...eDeviceAndAppManagementAssignmentFilter.md | 54 +++++++++++++---- .../resources/intune/IntuneDeviceCategory.md | 54 +++++++++++++---- .../intune/IntuneDeviceCleanupRule.md | 18 ++++-- .../IntuneDeviceCompliancePolicyAndroid.md | 54 +++++++++++++---- ...eviceCompliancePolicyAndroidDeviceOwner.md | 54 +++++++++++++---- ...eviceCompliancePolicyAndroidWorkProfile.md | 54 +++++++++++++---- .../IntuneDeviceCompliancePolicyMacOS.md | 54 +++++++++++++---- .../IntuneDeviceCompliancePolicyWindows10.md | 54 +++++++++++++---- .../intune/IntuneDeviceCompliancePolicyiOs.md | 57 +++++++++++++----- ...onAdministrativeTemplatePolicyWindows10.md | 54 +++++++++++++---- ...eviceConfigurationCustomPolicyWindows10.md | 54 +++++++++++++---- ...derForEndpointOnboardingPolicyWindows10.md | 54 +++++++++++++---- ...tionDeliveryOptimizationPolicyWindows10.md | 54 +++++++++++++---- ...eConfigurationDomainJoinPolicyWindows10.md | 54 +++++++++++++---- ...onfigurationEmailProfilePolicyWindows10.md | 54 +++++++++++++---- ...rationEndpointProtectionPolicyWindows10.md | 54 +++++++++++++---- ...urationFirmwareInterfacePolicyWindows10.md | 54 +++++++++++++---- ...hMonitoringConfigurationPolicyWindows10.md | 54 +++++++++++++---- ...rationIdentityProtectionPolicyWindows10.md | 54 +++++++++++++---- ...onImportedPfxCertificatePolicyWindows10.md | 54 +++++++++++++---- ...DeviceConfigurationKioskPolicyWindows10.md | 54 +++++++++++++---- ...igurationNetworkBoundaryPolicyWindows10.md | 54 +++++++++++++---- ...igurationPkcsCertificatePolicyWindows10.md | 54 +++++++++++++---- ...eDeviceConfigurationPlatformScriptMacOS.md | 56 ++++++++++++----- ...eviceConfigurationPlatformScriptWindows.md | 57 +++++++++++++----- ...urationPolicyAndroidDeviceAdministrator.md | 54 +++++++++++++---- ...ceConfigurationPolicyAndroidDeviceOwner.md | 54 +++++++++++++---- ...igurationPolicyAndroidOpenSourceProject.md | 54 +++++++++++++---- ...ceConfigurationPolicyAndroidWorkProfile.md | 54 +++++++++++++---- .../IntuneDeviceConfigurationPolicyMacOS.md | 54 +++++++++++++---- ...ntuneDeviceConfigurationPolicyWindows10.md | 54 +++++++++++++---- .../IntuneDeviceConfigurationPolicyiOS.md | 54 +++++++++++++---- ...igurationScepCertificatePolicyWindows10.md | 54 +++++++++++++---- ...gurationSecureAssessmentPolicyWindows10.md | 54 +++++++++++++---- ...urationSharedMultiDevicePolicyWindows10.md | 54 +++++++++++++---- ...rationTrustedCertificatePolicyWindows10.md | 54 +++++++++++++---- ...neDeviceConfigurationVpnPolicyWindows10.md | 54 +++++++++++++---- ...ConfigurationWindowsTeamPolicyWindows10.md | 54 +++++++++++++---- ...onfigurationWiredNetworkPolicyWindows10.md | 54 +++++++++++++---- .../IntuneDeviceEnrollmentLimitRestriction.md | 54 +++++++++++++---- ...tuneDeviceEnrollmentPlatformRestriction.md | 55 +++++++++++++---- ...tuneDeviceEnrollmentStatusPageWindows10.md | 54 +++++++++++++---- ...ntuneDeviceManagementComplianceSettings.md | 18 ++++-- .../intune/IntuneDeviceRemediation.md | 56 ++++++++++++----- .../intune/IntuneDiskEncryptionMacOS.md | 54 +++++++++++++---- .../intune/IntuneDiskEncryptionWindows10.md | 54 +++++++++++++---- ...ointDetectionAndResponsePolicyWindows10.md | 54 +++++++++++++---- ...ProtectionPolicyWindows10SettingCatalog.md | 54 +++++++++++++---- .../docs/resources/intune/IntunePolicySets.md | 60 +++++++++++++------ .../resources/intune/IntuneRoleAssignment.md | 54 +++++++++++++---- .../resources/intune/IntuneRoleDefinition.md | 54 +++++++++++++---- ...neSettingCatalogASRRulesPolicyWindows10.md | 54 +++++++++++++---- ...tuneSettingCatalogCustomPolicyWindows10.md | 54 +++++++++++++---- ...urationPolicyAndroidDeviceAdministrator.md | 54 +++++++++++++---- ...ationPolicyAndroidEnterpriseDeviceOwner.md | 54 +++++++++++++---- ...ationPolicyAndroidEnterpriseWorkProfile.md | 54 +++++++++++++---- ...neWifiConfigurationPolicyAndroidForWork.md | 54 +++++++++++++---- ...igurationPolicyAndroidOpenSourceProject.md | 54 +++++++++++++---- .../IntuneWifiConfigurationPolicyIOS.md | 54 +++++++++++++---- .../IntuneWifiConfigurationPolicyMacOS.md | 54 +++++++++++++---- .../IntuneWifiConfigurationPolicyWindows10.md | 54 +++++++++++++---- ...lotDeploymentProfileAzureADHybridJoined.md | 54 +++++++++++++---- ...AutopilotDeploymentProfileAzureADJoined.md | 54 +++++++++++++---- ...ionProtectionPolicyWindows10MdmEnrolled.md | 54 +++++++++++++---- ...ForBusinessDriverUpdateProfileWindows10.md | 54 +++++++++++++---- ...orBusinessFeatureUpdateProfileWindows10.md | 54 +++++++++++++---- ...orBusinessQualityUpdateProfileWindows10.md | 54 +++++++++++++---- ...teForBusinessRingUpdateProfileWindows10.md | 54 +++++++++++++---- 79 files changed, 3262 insertions(+), 955 deletions(-) diff --git a/docs/docs/resources/intune/IntuneASRRulesPolicyWindows10.md b/docs/docs/resources/intune/IntuneASRRulesPolicyWindows10.md index a43861f37e..0134626168 100644 --- a/docs/docs/resources/intune/IntuneASRRulesPolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneASRRulesPolicyWindows10.md @@ -93,9 +93,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -126,7 +134,9 @@ Configuration Example UntrustedExecutableType = 'block' UntrustedUSBProcessType = 'block' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -141,9 +151,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -174,7 +192,9 @@ Configuration Example UntrustedExecutableType = 'block' UntrustedUSBProcessType = 'block' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -189,9 +209,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -201,7 +229,9 @@ Configuration Example { DisplayName = 'test' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneAccountProtectionLocalAdministratorPasswordSolutionPolicy.md b/docs/docs/resources/intune/IntuneAccountProtectionLocalAdministratorPasswordSolutionPolicy.md index f83473b8d7..e19cc33b08 100644 --- a/docs/docs/resources/intune/IntuneAccountProtectionLocalAdministratorPasswordSolutionPolicy.md +++ b/docs/docs/resources/intune/IntuneAccountProtectionLocalAdministratorPasswordSolutionPolicy.md @@ -84,9 +84,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -97,7 +105,6 @@ Configuration Example DisplayName = "Account Protection LAPS Policy"; Description = "My revised description"; Ensure = "Present"; - Credential = $Credscredential Assignments = @( MSFT_IntuneAccountProtectionLocalAdministratorPasswordSolutionPolicyAssignments{ deviceAndAppManagementAssignmentFilterType = 'none' @@ -108,6 +115,9 @@ Configuration Example PasswordAgeDays_AAD = 10; AdministratorAccountName = "Administrator"; PasswordAgeDays = 20; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -122,9 +132,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -135,7 +153,6 @@ Configuration Example DisplayName = "Account Protection LAPS Policy"; Description = "My revised description"; Ensure = "Present"; - Credential = $Credscredential Assignments = @( MSFT_IntuneAccountProtectionLocalAdministratorPasswordSolutionPolicyAssignments{ deviceAndAppManagementAssignmentFilterType = 'none' @@ -146,6 +163,9 @@ Configuration Example PasswordAgeDays_AAD = 15; # Updated Property AdministratorAccountName = "Administrator"; PasswordAgeDays = 20; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -160,9 +180,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -173,7 +201,9 @@ Configuration Example DisplayName = "Account Protection LAPS Policy"; Description = "My revised description"; Ensure = "Absent"; - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneAccountProtectionLocalUserGroupMembershipPolicy.md b/docs/docs/resources/intune/IntuneAccountProtectionLocalUserGroupMembershipPolicy.md index d48318c77a..25709f754b 100644 --- a/docs/docs/resources/intune/IntuneAccountProtectionLocalUserGroupMembershipPolicy.md +++ b/docs/docs/resources/intune/IntuneAccountProtectionLocalUserGroupMembershipPolicy.md @@ -85,9 +85,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -98,7 +106,6 @@ Configuration Example DisplayName = "Account Protection LUGM Policy"; Description = "My revised description"; Ensure = "Present"; - Credential = $Credscredential Assignments = @( MSFT_IntuneAccountProtectionLocalUserGroupMembershipPolicyAssignments{ deviceAndAppManagementAssignmentFilterType = 'none' @@ -113,6 +120,9 @@ Configuration Example UserSelectionType = 'users' } ); + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -127,9 +137,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -140,7 +158,6 @@ Configuration Example DisplayName = "Account Protection LUGM Policy"; Description = "My revised description"; Ensure = "Present"; - Credential = $Credscredential Assignments = @(); # Updated Property LocalUserGroupCollection = @( MSFT_IntuneAccountProtectionLocalUserGroupCollection{ @@ -150,6 +167,9 @@ Configuration Example UserSelectionType = 'users' } ); + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -164,9 +184,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -177,7 +205,9 @@ Configuration Example DisplayName = "Account Protection LUGM Policy"; Description = "My revised description"; Ensure = "Absent"; - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneAccountProtectionPolicy.md b/docs/docs/resources/intune/IntuneAccountProtectionPolicy.md index 58e3210822..2da74fb4a8 100644 --- a/docs/docs/resources/intune/IntuneAccountProtectionPolicy.md +++ b/docs/docs/resources/intune/IntuneAccountProtectionPolicy.md @@ -88,9 +88,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -104,7 +112,9 @@ Configuration Example PinMinimumLength = 5 PinSpecialCharactersUsage = 'required' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -119,9 +129,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -135,7 +153,9 @@ Configuration Example PinMinimumLength = 10 # Updated Property PinSpecialCharactersUsage = 'required' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -150,9 +170,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -162,7 +190,9 @@ Configuration Example { DisplayName = 'test' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneAntivirusPolicyWindows10SettingCatalog.md b/docs/docs/resources/intune/IntuneAntivirusPolicyWindows10SettingCatalog.md index f06177ddeb..535b6c4d86 100644 --- a/docs/docs/resources/intune/IntuneAntivirusPolicyWindows10SettingCatalog.md +++ b/docs/docs/resources/intune/IntuneAntivirusPolicyWindows10SettingCatalog.md @@ -145,9 +145,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -167,7 +175,9 @@ Configuration Example excludedprocesses = @('processes.exe', 'process2.exe') templateId = '45fea5e9-280d-4da1-9792-fb5736da0ca9_1' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -182,9 +192,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -204,7 +222,9 @@ Configuration Example excludedprocesses = @('processes.exe', 'process3.exe') # Updated Property templateId = '45fea5e9-280d-4da1-9792-fb5736da0ca9_1' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -219,9 +239,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -231,7 +259,9 @@ Configuration Example { DisplayName = 'av exclusions' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneAppConfigurationDevicePolicy.md b/docs/docs/resources/intune/IntuneAppConfigurationDevicePolicy.md index 1b5e27d2d3..319165e8e6 100644 --- a/docs/docs/resources/intune/IntuneAppConfigurationDevicePolicy.md +++ b/docs/docs/resources/intune/IntuneAppConfigurationDevicePolicy.md @@ -101,9 +101,17 @@ This example creates a new App Configuration Device Policy. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -111,7 +119,6 @@ Configuration Example { IntuneAppConfigurationDevicePolicy "IntuneAppConfigurationDevicePolicy-Example" { - Credential = $Credscredential; Assignments = @(); Description = ""; DisplayName = "Example"; @@ -124,7 +131,9 @@ Configuration Example ProfileApplicability = "default" RoleScopeTagIds = @("0"); TargetedMobileApps = @(""); - TenantId = $OrganizationName; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -138,9 +147,17 @@ This example updates an App Configuration Device Policy. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -148,7 +165,6 @@ Configuration Example { IntuneAppConfigurationDevicePolicy "IntuneAppConfigurationDevicePolicy-Example" { - Credential = $Credscredential; Assignments = @(); Description = ""; DisplayName = "Example"; @@ -166,7 +182,9 @@ Configuration Example ProfileApplicability = "default" RoleScopeTagIds = @("0"); TargetedMobileApps = @(""); - TenantId = $OrganizationName; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -180,9 +198,17 @@ This example deletes a new App Configuration Device Policy. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -190,12 +216,13 @@ Configuration Example { IntuneAppConfigurationDevicePolicy "IntuneAppConfigurationDevicePolicy-Example" { - Credential = $Credscredential; Description = ""; DisplayName = "Example"; Ensure = "Present"; Id = "0000000-0000-0000-0000-000000000000"; - TenantId = $OrganizationName; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneAppConfigurationPolicy.md b/docs/docs/resources/intune/IntuneAppConfigurationPolicy.md index aab0389510..c82c22102d 100644 --- a/docs/docs/resources/intune/IntuneAppConfigurationPolicy.md +++ b/docs/docs/resources/intune/IntuneAppConfigurationPolicy.md @@ -81,9 +81,17 @@ This example creates a new App Configuration Policy. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -93,7 +101,6 @@ Configuration Example { DisplayName = 'ContosoNew' Description = 'New Contoso Policy' - Credential = $Credscredential; CustomSettings = @( MSFT_IntuneAppConfigurationPolicyCustomSetting { name = 'com.microsoft.intune.mam.managedbrowser.BlockListURLs' @@ -108,6 +115,9 @@ Configuration Example value = 'TestValue' }); Ensure = 'Present' + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -121,9 +131,17 @@ This example creates a new App Configuration Policy. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -133,7 +151,6 @@ Configuration Example { DisplayName = 'ContosoNew' Description = 'New Contoso Policy' - Credential = $Credscredential; CustomSettings = @( MSFT_IntuneAppConfigurationPolicyCustomSetting { name = 'com.microsoft.intune.mam.managedbrowser.BlockListURLs' @@ -148,6 +165,9 @@ Configuration Example value = 'TestValue2' }); Ensure = 'Present' + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -161,9 +181,17 @@ This example creates a new App Configuration Policy. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -173,8 +201,10 @@ Configuration Example { DisplayName = 'ContosoNew' Description = 'New Contoso Policy' - Credential = $Credscredential; Ensure = 'Absent' + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneAppProtectionPolicyAndroid.md b/docs/docs/resources/intune/IntuneAppProtectionPolicyAndroid.md index 3479c429bf..d3a1ef135e 100644 --- a/docs/docs/resources/intune/IntuneAppProtectionPolicyAndroid.md +++ b/docs/docs/resources/intune/IntuneAppProtectionPolicyAndroid.md @@ -100,9 +100,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -131,11 +139,12 @@ Configuration Example SaveAsBlocked = $True SimplePinBlocked = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } - ``` ### Example 2 @@ -148,9 +157,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -179,11 +196,12 @@ Configuration Example SaveAsBlocked = $True SimplePinBlocked = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } - ``` ### Example 3 @@ -196,9 +214,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -208,10 +234,11 @@ Configuration Example { DisplayName = 'My DSC Android App Protection Policy' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } - ``` diff --git a/docs/docs/resources/intune/IntuneAppProtectionPolicyiOS.md b/docs/docs/resources/intune/IntuneAppProtectionPolicyiOS.md index cb1bcc00fb..742ce453d8 100644 --- a/docs/docs/resources/intune/IntuneAppProtectionPolicyiOS.md +++ b/docs/docs/resources/intune/IntuneAppProtectionPolicyiOS.md @@ -106,9 +106,17 @@ This example creates a new App ProtectionPolicy for iOS. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -141,7 +149,9 @@ Configuration Example SaveAsBlocked = $True SimplePinBlocked = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -155,9 +165,17 @@ This example creates a new App ProtectionPolicy for iOS. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -190,7 +208,9 @@ Configuration Example SaveAsBlocked = $True SimplePinBlocked = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -204,9 +224,17 @@ This example creates a new App ProtectionPolicy for iOS. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -216,7 +244,9 @@ Configuration Example { DisplayName = 'My DSC iOS App Protection Policy' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneApplicationControlPolicyWindows10.md b/docs/docs/resources/intune/IntuneApplicationControlPolicyWindows10.md index ea295e4c90..a45a81497f 100644 --- a/docs/docs/resources/intune/IntuneApplicationControlPolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneApplicationControlPolicyWindows10.md @@ -75,9 +75,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -91,7 +99,9 @@ Configuration Example SmartScreenBlockOverrideForFiles = $True SmartScreenEnableInShell = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -107,9 +117,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -123,7 +141,9 @@ Configuration Example SmartScreenBlockOverrideForFiles = $False # Updated Property SmartScreenEnableInShell = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -139,9 +159,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -152,7 +180,9 @@ Configuration Example DisplayName = 'Windows 10 Desktops' Description = 'All windows 10 Desktops' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneAttackSurfaceReductionRulesPolicyWindows10ConfigManager.md b/docs/docs/resources/intune/IntuneAttackSurfaceReductionRulesPolicyWindows10ConfigManager.md index 38b4e579d7..4c2dbf4fd5 100644 --- a/docs/docs/resources/intune/IntuneAttackSurfaceReductionRulesPolicyWindows10ConfigManager.md +++ b/docs/docs/resources/intune/IntuneAttackSurfaceReductionRulesPolicyWindows10ConfigManager.md @@ -95,9 +95,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -109,7 +117,9 @@ Configuration Example blockadobereaderfromcreatingchildprocesses = "block"; Description = 'My revised description' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -124,9 +134,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -138,7 +156,9 @@ Configuration Example blockadobereaderfromcreatingchildprocesses = "audit"; # Updated Property Description = 'My revised description' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -153,9 +173,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -165,7 +193,9 @@ Configuration Example { DisplayName = 'asr ConfigMgr' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceAndAppManagementAssignmentFilter.md b/docs/docs/resources/intune/IntuneDeviceAndAppManagementAssignmentFilter.md index da57e49e56..869765baaa 100644 --- a/docs/docs/resources/intune/IntuneDeviceAndAppManagementAssignmentFilter.md +++ b/docs/docs/resources/intune/IntuneDeviceAndAppManagementAssignmentFilter.md @@ -61,9 +61,17 @@ This example creates a new Device and App Management Assignment Filter. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $intuneAdmin + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -76,7 +84,9 @@ Configuration Example Platform = 'windows10AndLater' Rule = "(device.manufacturer -ne `"Microsoft Corporation`")" Ensure = 'Present' - Credential = $intuneAdmin + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -90,9 +100,17 @@ This example creates a new Device and App Management Assignment Filter. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $intuneAdmin + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -105,7 +123,9 @@ Configuration Example Platform = 'windows10AndLater' Rule = "(device.manufacturer -ne `"Apple`")" # Updated Property Ensure = 'Present' - Credential = $intuneAdmin + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -119,9 +139,17 @@ This example creates a new Device and App Management Assignment Filter. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $intuneAdmin + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -131,7 +159,9 @@ Configuration Example { DisplayName = 'Test Device Filter' Ensure = 'Absent' - Credential = $intuneAdmin + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceCategory.md b/docs/docs/resources/intune/IntuneDeviceCategory.md index 6bd5ea1b4e..ef79691a7d 100644 --- a/docs/docs/resources/intune/IntuneDeviceCategory.md +++ b/docs/docs/resources/intune/IntuneDeviceCategory.md @@ -56,9 +56,17 @@ This example creates a new Device Category. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -69,7 +77,9 @@ Configuration Example DisplayName = 'Contoso' Description = 'Contoso Category' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -83,9 +93,17 @@ This example creates a new Device Category. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -96,7 +114,9 @@ Configuration Example DisplayName = 'Contoso' Description = 'Contoso Category - Updated' # Updated Property Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -110,9 +130,17 @@ This example creates a new Device Category. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -122,7 +150,9 @@ Configuration Example { DisplayName = 'Contoso' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceCleanupRule.md b/docs/docs/resources/intune/IntuneDeviceCleanupRule.md index e6a1755a3d..525c6351cc 100644 --- a/docs/docs/resources/intune/IntuneDeviceCleanupRule.md +++ b/docs/docs/resources/intune/IntuneDeviceCleanupRule.md @@ -57,9 +57,17 @@ This example sets the device cleanup rule. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -71,7 +79,9 @@ Configuration Example IsSingleInstance = 'Yes' DeviceInactivityBeforeRetirementInDays = 25 # Updated Property Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceCompliancePolicyAndroid.md b/docs/docs/resources/intune/IntuneDeviceCompliancePolicyAndroid.md index b6ba7e74d0..f80985d6ae 100644 --- a/docs/docs/resources/intune/IntuneDeviceCompliancePolicyAndroid.md +++ b/docs/docs/resources/intune/IntuneDeviceCompliancePolicyAndroid.md @@ -262,9 +262,17 @@ This example creates a new Device Compliance Policy for Android devices Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -294,7 +302,9 @@ Configuration Example SecurityRequireVerifyApps = $False StorageRequireEncryption = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -308,9 +318,17 @@ This example creates a new Device Compliance Policy for Android devices Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -340,7 +358,9 @@ Configuration Example SecurityRequireVerifyApps = $False StorageRequireEncryption = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -354,9 +374,17 @@ This example creates a new Device Compliance Policy for Android devices Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -366,7 +394,9 @@ Configuration Example { DisplayName = 'Test Policy' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceCompliancePolicyAndroidDeviceOwner.md b/docs/docs/resources/intune/IntuneDeviceCompliancePolicyAndroidDeviceOwner.md index e82ef37850..5077132b8a 100644 --- a/docs/docs/resources/intune/IntuneDeviceCompliancePolicyAndroidDeviceOwner.md +++ b/docs/docs/resources/intune/IntuneDeviceCompliancePolicyAndroidDeviceOwner.md @@ -206,9 +206,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -234,7 +242,9 @@ Configuration Example PasswordPreviousPasswordCountToBlock = 13 StorageRequireEncryption = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -249,9 +259,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -277,7 +295,9 @@ Configuration Example PasswordPreviousPasswordCountToBlock = 13 StorageRequireEncryption = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -292,9 +312,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -320,7 +348,9 @@ Configuration Example PasswordPreviousPasswordCountToBlock = 13 StorageRequireEncryption = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceCompliancePolicyAndroidWorkProfile.md b/docs/docs/resources/intune/IntuneDeviceCompliancePolicyAndroidWorkProfile.md index 3ad55ebaba..0ac8a37438 100644 --- a/docs/docs/resources/intune/IntuneDeviceCompliancePolicyAndroidWorkProfile.md +++ b/docs/docs/resources/intune/IntuneDeviceCompliancePolicyAndroidWorkProfile.md @@ -214,9 +214,17 @@ This example creates a new Device Compliance Policy for iOs devices Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -244,7 +252,9 @@ Configuration Example SecurityRequireVerifyApps = $False StorageRequireEncryption = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -258,9 +268,17 @@ This example creates a new Device Compliance Policy for iOs devices Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -288,7 +306,9 @@ Configuration Example SecurityRequireVerifyApps = $False StorageRequireEncryption = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -302,9 +322,17 @@ This example creates a new Device Compliance Policy for iOs devices Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -314,7 +342,9 @@ Configuration Example { DisplayName = 'Test Policy' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceCompliancePolicyMacOS.md b/docs/docs/resources/intune/IntuneDeviceCompliancePolicyMacOS.md index 537b3b1a93..1dbafd1602 100644 --- a/docs/docs/resources/intune/IntuneDeviceCompliancePolicyMacOS.md +++ b/docs/docs/resources/intune/IntuneDeviceCompliancePolicyMacOS.md @@ -171,9 +171,17 @@ This example creates a new Device Comliance Policy for MacOS. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -201,7 +209,9 @@ Configuration Example FirewallBlockAllIncoming = $False FirewallEnableStealthMode = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -215,9 +225,17 @@ This example creates a new Device Comliance Policy for MacOS. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -245,7 +263,9 @@ Configuration Example FirewallBlockAllIncoming = $False FirewallEnableStealthMode = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -259,9 +279,17 @@ This example creates a new Device Comliance Policy for MacOS. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -271,7 +299,9 @@ Configuration Example { DisplayName = 'MacOS DSC Policy' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceCompliancePolicyWindows10.md b/docs/docs/resources/intune/IntuneDeviceCompliancePolicyWindows10.md index 0f91d8a81d..f9249a42a4 100644 --- a/docs/docs/resources/intune/IntuneDeviceCompliancePolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneDeviceCompliancePolicyWindows10.md @@ -287,9 +287,17 @@ This example creates a new Device Comliance Policy for Windows. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -332,7 +340,9 @@ Configuration Example deviceCompliancePolicyScript = $null ValidOperatingSystemBuildRanges = @() Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -346,9 +356,17 @@ This example creates a new Device Comliance Policy for Windows. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -391,7 +409,9 @@ Configuration Example deviceCompliancePolicyScript = $null ValidOperatingSystemBuildRanges = @() Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -405,9 +425,17 @@ This example creates a new Device Comliance Policy for Windows. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -417,7 +445,9 @@ Configuration Example { DisplayName = 'Windows 10 DSC Policy' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceCompliancePolicyiOs.md b/docs/docs/resources/intune/IntuneDeviceCompliancePolicyiOs.md index cfbcb3c725..b52a7bcd11 100644 --- a/docs/docs/resources/intune/IntuneDeviceCompliancePolicyiOs.md +++ b/docs/docs/resources/intune/IntuneDeviceCompliancePolicyiOs.md @@ -100,9 +100,17 @@ This example creates a new Device Compliance Policy for iOs devices Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -127,8 +135,9 @@ Configuration Example DeviceThreatProtectionRequiredSecurityLevel = 'medium' ManagedEmailProfileRequired = $True Ensure = 'Present' - Credential = $Credscredential - + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -142,9 +151,17 @@ This example creates a new Device Compliance Policy for iOs devices Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -169,8 +186,9 @@ Configuration Example DeviceThreatProtectionRequiredSecurityLevel = 'medium' ManagedEmailProfileRequired = $True Ensure = 'Present' - Credential = $Credscredential - + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -184,9 +202,17 @@ This example creates a new Device Compliance Policy for iOs devices Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -196,8 +222,9 @@ Configuration Example { DisplayName = 'Test iOS Device Compliance Policy' Ensure = 'Absent' - Credential = $Credscredential - + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationAdministrativeTemplatePolicyWindows10.md b/docs/docs/resources/intune/IntuneDeviceConfigurationAdministrativeTemplatePolicyWindows10.md index 7073741793..b40d25a38c 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationAdministrativeTemplatePolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationAdministrativeTemplatePolicyWindows10.md @@ -129,9 +129,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -139,7 +147,6 @@ Configuration Example { IntuneDeviceConfigurationAdministrativeTemplatePolicyWindows10 'Example' { - Credential = $Credscredential Assignments = @( MSFT_DeviceManagementConfigurationPolicyAssignments { @@ -261,6 +268,9 @@ Configuration Example DisplayName = 'admin template' Ensure = 'Present' PolicyConfigurationIngestionType = 'unknown' + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -275,9 +285,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -285,7 +303,6 @@ Configuration Example { IntuneDeviceConfigurationAdministrativeTemplatePolicyWindows10 'Example' { - Credential = $Credscredential Assignments = @( MSFT_DeviceManagementConfigurationPolicyAssignments { @@ -407,6 +424,9 @@ Configuration Example DisplayName = 'admin template' Ensure = 'Present' PolicyConfigurationIngestionType = 'builtIn' # Updated Property + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -421,9 +441,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -431,9 +459,11 @@ Configuration Example { IntuneDeviceConfigurationAdministrativeTemplatePolicyWindows10 'Example' { - Credential = $Credscredential DisplayName = 'admin template' Ensure = 'Absent' + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationCustomPolicyWindows10.md b/docs/docs/resources/intune/IntuneDeviceConfigurationCustomPolicyWindows10.md index 8dc5f537a4..1cab65c261 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationCustomPolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationCustomPolicyWindows10.md @@ -90,9 +90,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -106,7 +114,6 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "custom"; Ensure = "Present"; OmaSettings = @( @@ -130,6 +137,9 @@ Configuration Example } ); SupportsScopeTags = $True; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -144,9 +154,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -160,7 +178,6 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "custom"; Ensure = "Present"; OmaSettings = @( @@ -184,6 +201,9 @@ Configuration Example } ); SupportsScopeTags = $True; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -198,9 +218,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -208,9 +236,11 @@ Configuration Example { IntuneDeviceConfigurationCustomPolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "custom"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationDefenderForEndpointOnboardingPolicyWindows10.md b/docs/docs/resources/intune/IntuneDeviceConfigurationDefenderForEndpointOnboardingPolicyWindows10.md index 442a3a4a95..4cb1a2d2a3 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationDefenderForEndpointOnboardingPolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationDefenderForEndpointOnboardingPolicyWindows10.md @@ -79,9 +79,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -99,10 +107,12 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "MDE onboarding Legacy"; EnableExpeditedTelemetryReporting = $True; Ensure = "Present"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -117,9 +127,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -136,10 +154,12 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "MDE onboarding Legacy"; EnableExpeditedTelemetryReporting = $True; Ensure = "Present"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -154,9 +174,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -164,9 +192,11 @@ Configuration Example { IntuneDeviceConfigurationDefenderForEndpointOnboardingPolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "MDE onboarding Legacy"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10.md b/docs/docs/resources/intune/IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10.md index 0a8ddae0ed..0bf2db5749 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10.md @@ -135,9 +135,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -160,7 +168,6 @@ Configuration Example CacheServerBackgroundDownloadFallbackToHttpDelayInSeconds = 3; CacheServerForegroundDownloadFallbackToHttpDelayInSeconds = 3; CacheServerHostNames = @("domain.com"); - Credential = $Credscredential; DeliveryOptimizationMode = "httpWithPeeringPrivateGroup"; DisplayName = "delivery optimisation"; Ensure = "Present"; @@ -182,6 +189,9 @@ Configuration Example RestrictPeerSelectionBy = "subnetMask"; SupportsScopeTags = $True; VpnPeerCaching = "enabled"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -196,9 +206,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -221,7 +239,6 @@ Configuration Example CacheServerBackgroundDownloadFallbackToHttpDelayInSeconds = 5; # Updated Property CacheServerForegroundDownloadFallbackToHttpDelayInSeconds = 3; CacheServerHostNames = @("domain.com"); - Credential = $Credscredential; DeliveryOptimizationMode = "httpWithPeeringPrivateGroup"; DisplayName = "delivery optimisation"; Ensure = "Present"; @@ -243,6 +260,9 @@ Configuration Example RestrictPeerSelectionBy = "subnetMask"; SupportsScopeTags = $True; VpnPeerCaching = "enabled"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -257,9 +277,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -267,9 +295,11 @@ Configuration Example { IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "delivery optimisation"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationDomainJoinPolicyWindows10.md b/docs/docs/resources/intune/IntuneDeviceConfigurationDomainJoinPolicyWindows10.md index 5683f64725..a705947392 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationDomainJoinPolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationDomainJoinPolicyWindows10.md @@ -77,9 +77,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -96,11 +104,13 @@ Configuration Example ); ComputerNameStaticPrefix = "WK-"; ComputerNameSuffixRandomCharCount = 12; - Credential = $Credscredential; DisplayName = "Domain Join"; Ensure = "Present"; OrganizationalUnit = "OU=workstation,CN=domain,CN=com"; SupportsScopeTags = $True; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -115,9 +125,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -134,11 +152,13 @@ Configuration Example ); ComputerNameStaticPrefix = "WK-"; ComputerNameSuffixRandomCharCount = 12; - Credential = $Credscredential; DisplayName = "Domain Join"; Ensure = "Present"; OrganizationalUnit = "OU=workstation,CN=domain,CN=com"; SupportsScopeTags = $False; # Updated Property + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -153,9 +173,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -163,9 +191,11 @@ Configuration Example { IntuneDeviceConfigurationDomainJoinPolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "Domain Join"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationEmailProfilePolicyWindows10.md b/docs/docs/resources/intune/IntuneDeviceConfigurationEmailProfilePolicyWindows10.md index abe3499923..d798e86d27 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationEmailProfilePolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationEmailProfilePolicyWindows10.md @@ -85,9 +85,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -102,7 +110,6 @@ Configuration Example dataType = '#microsoft.graph.allLicensedUsersAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "email"; DurationOfEmailToSync = "unlimited"; EmailAddressSource = "primarySmtpAddress"; @@ -113,6 +120,9 @@ Configuration Example SyncCalendar = $True; SyncContacts = $True; SyncTasks = $True; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -127,9 +137,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -144,7 +162,6 @@ Configuration Example dataType = '#microsoft.graph.allLicensedUsersAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "email"; DurationOfEmailToSync = "unlimited"; EmailAddressSource = "primarySmtpAddress"; @@ -155,6 +172,9 @@ Configuration Example SyncCalendar = $True; SyncContacts = $True; SyncTasks = $True; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -169,9 +189,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -179,9 +207,11 @@ Configuration Example { IntuneDeviceConfigurationEmailProfilePolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "email"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationEndpointProtectionPolicyWindows10.md b/docs/docs/resources/intune/IntuneDeviceConfigurationEndpointProtectionPolicyWindows10.md index c1c6bddc91..86f72ab269 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationEndpointProtectionPolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationEndpointProtectionPolicyWindows10.md @@ -435,9 +435,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -508,7 +516,6 @@ Configuration Example StartupAuthenticationTpmKeyUsage = 'allowed' StartupAuthenticationBlockWithoutTpmChip = $False }; - Credential = $Credscredential; DefenderAdditionalGuardedFolders = @(); DefenderAdobeReaderLaunchChildProcess = "notConfigured"; DefenderAdvancedRansomewareProtectionType = "notConfigured"; @@ -670,6 +677,9 @@ Configuration Example XboxServicesLiveAuthManagerServiceStartupMode = "manual"; XboxServicesLiveGameSaveServiceStartupMode = "manual"; XboxServicesLiveNetworkingServiceStartupMode = "manual"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -684,9 +694,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -757,7 +775,6 @@ Configuration Example StartupAuthenticationTpmKeyUsage = 'allowed' StartupAuthenticationBlockWithoutTpmChip = $False }; - Credential = $Credscredential; DefenderAdditionalGuardedFolders = @(); DefenderAdobeReaderLaunchChildProcess = "notConfigured"; DefenderAdvancedRansomewareProtectionType = "notConfigured"; @@ -919,6 +936,9 @@ Configuration Example XboxServicesLiveAuthManagerServiceStartupMode = "manual"; XboxServicesLiveGameSaveServiceStartupMode = "manual"; XboxServicesLiveNetworkingServiceStartupMode = "manual"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -933,9 +953,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -944,8 +972,10 @@ Configuration Example IntuneDeviceConfigurationEndpointProtectionPolicyWindows10 'Example' { DisplayName = "endpoint protection legacy - dsc v2.0"; - Credential = $Credscredential; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationFirmwareInterfacePolicyWindows10.md b/docs/docs/resources/intune/IntuneDeviceConfigurationFirmwareInterfacePolicyWindows10.md index 3f44c28cd7..6ec96ea63a 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationFirmwareInterfacePolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationFirmwareInterfacePolicyWindows10.md @@ -94,9 +94,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -115,7 +123,6 @@ Configuration Example BootFromExternalMedia = "notConfigured"; Cameras = "enabled"; ChangeUefiSettingsPermission = "notConfiguredOnly"; - Credential = $Credscredential; DisplayName = "firmware"; Ensure = "Present"; FrontCamera = "enabled"; @@ -135,6 +142,9 @@ Configuration Example WiFi = "notConfigured"; WindowsPlatformBinaryTable = "enabled"; WirelessWideAreaNetwork = "notConfigured"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -149,9 +159,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -170,7 +188,6 @@ Configuration Example BootFromExternalMedia = "notConfigured"; Cameras = "enabled"; # Updated Property ChangeUefiSettingsPermission = "notConfiguredOnly"; - Credential = $Credscredential; DisplayName = "firmware"; Ensure = "Present"; FrontCamera = "enabled"; @@ -190,6 +207,9 @@ Configuration Example WiFi = "notConfigured"; WindowsPlatformBinaryTable = "enabled"; WirelessWideAreaNetwork = "notConfigured"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -204,9 +224,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -214,9 +242,11 @@ Configuration Example { IntuneDeviceConfigurationFirmwareInterfacePolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "firmware"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationHealthMonitoringConfigurationPolicyWindows10.md b/docs/docs/resources/intune/IntuneDeviceConfigurationHealthMonitoringConfigurationPolicyWindows10.md index ac8d7b57a4..b22ae76162 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationHealthMonitoringConfigurationPolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationHealthMonitoringConfigurationPolicyWindows10.md @@ -76,9 +76,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -94,10 +102,12 @@ Configuration Example } ); ConfigDeviceHealthMonitoringScope = @("bootPerformance","windowsUpdates"); - Credential = $Credscredential; DisplayName = "Health Monitoring Configuration"; Ensure = "Present"; SupportsScopeTags = $True; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -112,9 +122,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -130,10 +148,12 @@ Configuration Example } ); ConfigDeviceHealthMonitoringScope = @("bootPerformance","windowsUpdates"); - Credential = $Credscredential; DisplayName = "Health Monitoring Configuration"; Ensure = "Present"; SupportsScopeTags = $False; # Updated Property + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -148,9 +168,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -158,9 +186,11 @@ Configuration Example { IntuneDeviceConfigurationHealthMonitoringConfigurationPolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "Health Monitoring Configuration"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationIdentityProtectionPolicyWindows10.md b/docs/docs/resources/intune/IntuneDeviceConfigurationIdentityProtectionPolicyWindows10.md index 295b97f7ec..2d9c1e50bd 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationIdentityProtectionPolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationIdentityProtectionPolicyWindows10.md @@ -87,9 +87,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -103,7 +111,6 @@ Configuration Example dataType = '#microsoft.graph.allLicensedUsersAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "identity protection"; EnhancedAntiSpoofingForFacialFeaturesEnabled = $True; Ensure = "Present"; @@ -121,6 +128,9 @@ Configuration Example UseCertificatesForOnPremisesAuthEnabled = $True; UseSecurityKeyForSignin = $True; WindowsHelloForBusinessBlocked = $False; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -135,9 +145,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -151,7 +169,6 @@ Configuration Example dataType = '#microsoft.graph.allLicensedUsersAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "identity protection"; EnhancedAntiSpoofingForFacialFeaturesEnabled = $True; Ensure = "Present"; @@ -169,6 +186,9 @@ Configuration Example UseCertificatesForOnPremisesAuthEnabled = $True; UseSecurityKeyForSignin = $True; WindowsHelloForBusinessBlocked = $False; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -183,9 +203,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -193,9 +221,11 @@ Configuration Example { IntuneDeviceConfigurationIdentityProtectionPolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "identity protection"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationImportedPfxCertificatePolicyWindows10.md b/docs/docs/resources/intune/IntuneDeviceConfigurationImportedPfxCertificatePolicyWindows10.md index 8162f3d521..cb9e49e688 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationImportedPfxCertificatePolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationImportedPfxCertificatePolicyWindows10.md @@ -79,9 +79,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -97,7 +105,6 @@ Configuration Example ); CertificateValidityPeriodScale = "years"; CertificateValidityPeriodValue = 1; - Credential = $Credscredential; DisplayName = "PKCS Imported"; Ensure = "Present"; IntendedPurpose = "unassigned"; @@ -105,6 +112,9 @@ Configuration Example RenewalThresholdPercentage = 50; SubjectAlternativeNameType = "emailAddress"; SubjectNameFormat = "commonName"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -119,9 +129,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -137,7 +155,6 @@ Configuration Example ); CertificateValidityPeriodScale = "years"; CertificateValidityPeriodValue = 1; - Credential = $Credscredential; DisplayName = "PKCS Imported"; Ensure = "Present"; IntendedPurpose = "unassigned"; @@ -145,6 +162,9 @@ Configuration Example RenewalThresholdPercentage = 60; # Updated Property SubjectAlternativeNameType = "emailAddress"; SubjectNameFormat = "commonName"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -159,9 +179,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -169,9 +197,11 @@ Configuration Example { IntuneDeviceConfigurationImportedPfxCertificatePolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "PKCS Imported"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationKioskPolicyWindows10.md b/docs/docs/resources/intune/IntuneDeviceConfigurationKioskPolicyWindows10.md index 276d034e81..998029d885 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationKioskPolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationKioskPolicyWindows10.md @@ -203,9 +203,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -219,7 +227,6 @@ Configuration Example dataType = '#microsoft.graph.allLicensedUsersAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "kiosk"; EdgeKioskEnablePublicBrowsing = $False; Ensure = "Present"; @@ -259,6 +266,9 @@ Configuration Example Recurrence = 'daily' DayofWeek = 'sunday' }; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -273,9 +283,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -289,7 +307,6 @@ Configuration Example dataType = '#microsoft.graph.allLicensedUsersAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "kiosk"; EdgeKioskEnablePublicBrowsing = $False; # Updated Property Ensure = "Present"; @@ -329,6 +346,9 @@ Configuration Example Recurrence = 'daily' DayofWeek = 'sunday' }; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -343,9 +363,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -353,9 +381,11 @@ Configuration Example { IntuneDeviceConfigurationKioskPolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "kiosk"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationNetworkBoundaryPolicyWindows10.md b/docs/docs/resources/intune/IntuneDeviceConfigurationNetworkBoundaryPolicyWindows10.md index 6223fcad87..756039e8b5 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationNetworkBoundaryPolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationNetworkBoundaryPolicyWindows10.md @@ -109,9 +109,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -125,7 +133,6 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "network boundary"; Ensure = "Present"; SupportsScopeTags = $True; @@ -144,6 +151,9 @@ Configuration Example ) NeutralDomainResources = @() }; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -158,9 +168,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -174,7 +192,6 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "network boundary"; Ensure = "Present"; SupportsScopeTags = $False; # Updated Property @@ -193,6 +210,9 @@ Configuration Example ) NeutralDomainResources = @() }; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -207,9 +227,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -217,9 +245,11 @@ Configuration Example { IntuneDeviceConfigurationNetworkBoundaryPolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "network boundary"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationPkcsCertificatePolicyWindows10.md b/docs/docs/resources/intune/IntuneDeviceConfigurationPkcsCertificatePolicyWindows10.md index 6007fbc0c6..150c6e599a 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationPkcsCertificatePolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationPkcsCertificatePolicyWindows10.md @@ -104,9 +104,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -126,7 +134,6 @@ Configuration Example CertificateValidityPeriodValue = 1; CertificationAuthority = "CA=Name"; CertificationAuthorityName = "Test"; - Credential = $Credscredential; CustomSubjectAlternativeNames = @( MSFT_MicrosoftGraphcustomSubjectAlternativeName{ SanType = 'domainNameService' @@ -140,6 +147,9 @@ Configuration Example SubjectAlternativeNameType = "none"; SubjectNameFormat = "custom"; SubjectNameFormatString = "CN={{UserName}},E={{EmailAddress}}"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -154,9 +164,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -176,7 +194,6 @@ Configuration Example CertificateValidityPeriodValue = 1; CertificationAuthority = "CA=Name"; CertificationAuthorityName = "Test"; - Credential = $Credscredential; CustomSubjectAlternativeNames = @( MSFT_MicrosoftGraphcustomSubjectAlternativeName{ SanType = 'domainNameService' @@ -190,6 +207,9 @@ Configuration Example SubjectAlternativeNameType = "none"; SubjectNameFormat = "custom"; SubjectNameFormatString = "CN={{UserName}},E={{EmailAddress}}"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -204,9 +224,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -214,9 +242,11 @@ Configuration Example { IntuneDeviceConfigurationPkcsCertificatePolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "PKCS"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationPlatformScriptMacOS.md b/docs/docs/resources/intune/IntuneDeviceConfigurationPlatformScriptMacOS.md index 022d2c4211..00ee60fb40 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationPlatformScriptMacOS.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationPlatformScriptMacOS.md @@ -79,9 +79,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -95,7 +103,6 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "custom"; Ensure = "Present"; BlockExecutionNotifications = $False; @@ -107,7 +114,9 @@ Configuration Example RoleScopeTagIds = @("0"); RunAsAccount = "user"; ScriptContent = "Base64 encoded script content"; - TenantId = $OrganizationName; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -122,9 +131,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -138,7 +155,6 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "custom"; Ensure = "Present"; BlockExecutionNotifications = $False; @@ -150,7 +166,9 @@ Configuration Example RoleScopeTagIds = @("0"); RunAsAccount = "user"; ScriptContent = "Base64 encoded script content"; - TenantId = $OrganizationName; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -165,9 +183,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -175,10 +201,12 @@ Configuration Example { IntuneDeviceConfigurationPlatformScriptMacOS 'Example' { - Credential = $Credscredential; DisplayName = "custom"; Ensure = "Absent"; Id = "00000000-0000-0000-0000-000000000000"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationPlatformScriptWindows.md b/docs/docs/resources/intune/IntuneDeviceConfigurationPlatformScriptWindows.md index 961259c9f9..8daa7a321e 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationPlatformScriptWindows.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationPlatformScriptWindows.md @@ -78,9 +78,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -94,7 +102,6 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "custom"; Ensure = "Present"; EnforceSignatureCheck = $False; @@ -103,7 +110,9 @@ Configuration Example RunAs32Bit = $True; RunAsAccount = "system"; ScriptContent = "Base64 encoded script content"; - TenantId = $OrganizationName; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -118,9 +127,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -134,7 +151,6 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "custom"; Ensure = "Present"; EnforceSignatureCheck = $False; @@ -143,7 +159,9 @@ Configuration Example RunAs32Bit = $False; # Updated property RunAsAccount = "system"; ScriptContent = "Base64 encoded script content"; - TenantId = $OrganizationName; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -158,9 +176,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -168,11 +194,12 @@ Configuration Example { IntuneDeviceConfigurationPlatformScriptWindows 'Example' { - Credential = $Credscredential; DisplayName = "custom"; Ensure = "Absent"; Id = "00000000-0000-0000-0000-000000000000"; - TenantId = $OrganizationName; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyAndroidDeviceAdministrator.md b/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyAndroidDeviceAdministrator.md index 6d3d0ffe97..0c8d6a404f 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyAndroidDeviceAdministrator.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyAndroidDeviceAdministrator.md @@ -134,9 +134,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -200,7 +208,9 @@ Configuration Example WebBrowserCookieSettings = 'allowAlways' WiFiBlocked = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -215,9 +225,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -281,7 +299,9 @@ Configuration Example WebBrowserCookieSettings = 'allowAlways' WiFiBlocked = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -296,9 +316,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -308,7 +336,9 @@ Configuration Example { DisplayName = 'Android device admin' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyAndroidDeviceOwner.md b/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyAndroidDeviceOwner.md index d1b4efc9fa..599a916218 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyAndroidDeviceOwner.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyAndroidDeviceOwner.md @@ -305,9 +305,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -357,7 +365,9 @@ Configuration Example WorkProfilePasswordRequiredType = 'deviceDefault' WorkProfilePasswordRequireUnlock = 'deviceDefault' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -372,9 +382,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -424,7 +442,9 @@ Configuration Example WorkProfilePasswordRequiredType = 'deviceDefault' WorkProfilePasswordRequireUnlock = 'deviceDefault' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -439,9 +459,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -451,7 +479,9 @@ Configuration Example { DisplayName = 'general confi - AndroidDeviceOwner' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyAndroidOpenSourceProject.md b/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyAndroidOpenSourceProject.md index dc7a0be1ec..4052c23262 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyAndroidOpenSourceProject.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyAndroidOpenSourceProject.md @@ -85,9 +85,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -108,7 +116,9 @@ Configuration Example ScreenCaptureBlocked = $True StorageBlockExternalMedia = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -123,9 +133,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -146,7 +164,9 @@ Configuration Example ScreenCaptureBlocked = $True StorageBlockExternalMedia = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -161,9 +181,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -173,7 +201,9 @@ Configuration Example { DisplayName = 'aosp' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyAndroidWorkProfile.md b/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyAndroidWorkProfile.md index fe00ed6616..830ea4f2f4 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyAndroidWorkProfile.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyAndroidWorkProfile.md @@ -114,9 +114,17 @@ This example creates a new General Device Configuration Policy for Android WorkP Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -146,7 +154,9 @@ Configuration Example WorkProfilePasswordRequiredType = 'deviceDefault' WorkProfileRequirePassword = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -160,9 +170,17 @@ This example creates a new General Device Configuration Policy for Android WorkP Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -192,7 +210,9 @@ Configuration Example WorkProfilePasswordRequiredType = 'deviceDefault' WorkProfileRequirePassword = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -206,9 +226,17 @@ This example creates a new General Device Configuration Policy for Android WorkP Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -218,7 +246,9 @@ Configuration Example { DisplayName = 'Android Work Profile - Device Restrictions - Standard' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyMacOS.md b/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyMacOS.md index 80d452577d..44ac6ea8b4 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyMacOS.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyMacOS.md @@ -187,9 +187,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -290,7 +298,9 @@ Configuration Example UpdateDelayPolicy = @('delayOSUpdateVisibility', 'delayAppUpdateVisibility', 'delayMajorOsUpdateVisibility') WallpaperModificationBlocked = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -305,9 +315,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -408,7 +426,9 @@ Configuration Example UpdateDelayPolicy = @('delayOSUpdateVisibility', 'delayAppUpdateVisibility', 'delayMajorOsUpdateVisibility') WallpaperModificationBlocked = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -423,9 +443,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -435,7 +463,9 @@ Configuration Example { DisplayName = 'MacOS device restriction' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyWindows10.md b/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyWindows10.md index 2a5101f5bf..076052931f 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyWindows10.md @@ -405,9 +405,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -446,7 +454,6 @@ Configuration Example ConnectedDevicesServiceBlocked = $False; CopyPasteBlocked = $False; CortanaBlocked = $False; - Credential = $Credscredential; CryptographyAllowFipsAlgorithmPolicy = $False; DefenderBlockEndUserAccess = $False; DefenderBlockOnAccessProtection = $False; @@ -666,6 +673,9 @@ Configuration Example WirelessDisplayBlockProjectionToThisDevice = $False; WirelessDisplayBlockUserInputFromReceiver = $False; WirelessDisplayRequirePinForPairing = $False; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -680,9 +690,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -721,7 +739,6 @@ Configuration Example ConnectedDevicesServiceBlocked = $False; CopyPasteBlocked = $False; CortanaBlocked = $False; - Credential = $Credscredential; CryptographyAllowFipsAlgorithmPolicy = $False; DefenderBlockEndUserAccess = $False; DefenderBlockOnAccessProtection = $False; @@ -941,6 +958,9 @@ Configuration Example WirelessDisplayBlockProjectionToThisDevice = $False; WirelessDisplayBlockUserInputFromReceiver = $False; WirelessDisplayRequirePinForPairing = $False; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -955,9 +975,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -965,9 +993,11 @@ Configuration Example { IntuneDeviceConfigurationPolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "device config"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyiOS.md b/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyiOS.md index bb2ed9c19a..56ff63330b 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyiOS.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationPolicyiOS.md @@ -361,9 +361,17 @@ This example creates a new Device Configuration Policy for iOS. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -480,7 +488,9 @@ Configuration Example VoiceDialingBlocked = $False WallpaperBlockModification = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -494,9 +504,17 @@ This example creates a new Device Configuration Policy for iOS. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -613,7 +631,9 @@ Configuration Example VoiceDialingBlocked = $False WallpaperBlockModification = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -627,9 +647,17 @@ This example creates a new Device Configuration Policy for iOS. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -639,7 +667,9 @@ Configuration Example { DisplayName = 'iOS DSC Policy' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationScepCertificatePolicyWindows10.md b/docs/docs/resources/intune/IntuneDeviceConfigurationScepCertificatePolicyWindows10.md index da2f130324..9f84dbc720 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationScepCertificatePolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationScepCertificatePolicyWindows10.md @@ -107,9 +107,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -126,7 +134,6 @@ Configuration Example CertificateStore = "user"; CertificateValidityPeriodScale = "years"; CertificateValidityPeriodValue = 5; - Credential = $Credscredential; CustomSubjectAlternativeNames = @( MSFT_MicrosoftGraphcustomSubjectAlternativeName{ SanType = 'domainNameService' @@ -151,6 +158,9 @@ Configuration Example SubjectNameFormat = "custom"; SubjectNameFormatString = "CN={{UserName}},E={{EmailAddress}}"; RootCertificateId = "169bf4fc-5914-40f4-ad33-48c225396183"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -165,9 +175,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -184,7 +202,6 @@ Configuration Example CertificateStore = "user"; CertificateValidityPeriodScale = "years"; CertificateValidityPeriodValue = 5; - Credential = $Credscredential; CustomSubjectAlternativeNames = @( MSFT_MicrosoftGraphcustomSubjectAlternativeName{ SanType = 'domainNameService' @@ -209,6 +226,9 @@ Configuration Example SubjectNameFormat = "custom"; SubjectNameFormatString = "CN={{UserName}},E={{EmailAddress}}"; RootCertificateId = "169bf4fc-5914-40f4-ad33-48c225396183"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -223,9 +243,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -233,9 +261,11 @@ Configuration Example { IntuneDeviceConfigurationScepCertificatePolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "SCEP"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationSecureAssessmentPolicyWindows10.md b/docs/docs/resources/intune/IntuneDeviceConfigurationSecureAssessmentPolicyWindows10.md index 68d50ba62a..f864dc4e88 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationSecureAssessmentPolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationSecureAssessmentPolicyWindows10.md @@ -80,9 +80,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -102,11 +110,13 @@ Configuration Example ); ConfigurationAccount = "user@domain.com"; ConfigurationAccountType = "azureADAccount"; - Credential = $Credscredential; DisplayName = "Secure Assessment"; Ensure = "Present"; LaunchUri = "https://assessment.domain.com"; LocalGuestAccountName = ""; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -121,9 +131,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -143,11 +161,13 @@ Configuration Example ); ConfigurationAccount = "user@domain.com"; ConfigurationAccountType = "azureADAccount"; - Credential = $Credscredential; DisplayName = "Secure Assessment"; Ensure = "Present"; LaunchUri = "https://assessment.domain.com"; LocalGuestAccountName = ""; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -162,9 +182,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -172,9 +200,11 @@ Configuration Example { IntuneDeviceConfigurationSecureAssessmentPolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "Secure Assessment"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationSharedMultiDevicePolicyWindows10.md b/docs/docs/resources/intune/IntuneDeviceConfigurationSharedMultiDevicePolicyWindows10.md index 16dcf8a7da..443fb8dac9 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationSharedMultiDevicePolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationSharedMultiDevicePolicyWindows10.md @@ -101,9 +101,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -124,7 +132,6 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisableAccountManager = $False; DisableEduPolicies = $False; DisablePowerPolicies = $False; @@ -140,6 +147,9 @@ Configuration Example SetEduPolicies = "enabled"; SetPowerPolicies = "enabled"; SignInOnResume = "enabled"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -154,9 +164,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -177,7 +195,6 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisableAccountManager = $False; DisableEduPolicies = $False; DisablePowerPolicies = $False; @@ -193,6 +210,9 @@ Configuration Example SetEduPolicies = "enabled"; SetPowerPolicies = "enabled"; SignInOnResume = "enabled"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -207,9 +227,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -217,9 +245,11 @@ Configuration Example { IntuneDeviceConfigurationSharedMultiDevicePolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "Shared Multi device"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationTrustedCertificatePolicyWindows10.md b/docs/docs/resources/intune/IntuneDeviceConfigurationTrustedCertificatePolicyWindows10.md index 2aac250211..90261573a7 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationTrustedCertificatePolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationTrustedCertificatePolicyWindows10.md @@ -75,9 +75,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -92,11 +100,13 @@ Configuration Example } ); CertFileName = "RootCA.cer"; - Credential = $Credscredential; DestinationStore = "computerCertStoreRoot"; DisplayName = "Trusted Cert"; Ensure = "Present"; TrustedRootCertificate = "MIIEEjCCAvqgAwIBAgIPAMEAizw8iBHRPvZj7N9AMA0GCSqGSIb3DQEBBAUAMHAxKzApBgNVBAsTIkNvcHlyaWdodCAoYykgMTk5NyBNaWNyb3NvZnQgQ29ycC4xHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFJvb3QgQXV0aG9yaXR5MB4XDTk3MDExMDA3MDAwMFoXDTIwMTIzMTA3MDAwMFowcDErMCkGA1UECxMiQ29weXJpZ2h0IChjKSAxOTk3IE1pY3Jvc29mdCBDb3JwLjEeMBwGA1UECxMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEwHwYDVQQDExhNaWNyb3NvZnQgUm9vdCBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpAr3BcOY78k4bKJ+XeF4w6qKpjSVf+P6VTKO3/p2iID58UaKboo9gMmvRQmR57qx2yVTa8uuchhyPn4Rms8VremIj1h083g8BkuiWxL8tZpqaaCaZ0Dosvwy1WCbBRucKPjiWLKkoOajsSYNC44QPu5psVWGsgnyhYC13TOmZtGQ7mlAcMQgkFJ+p55ErGOY9mGMUYFgFZZ8dN1KH96fvlALGG9O/VUWziYC/OuxUlE6u/ad6bXROrxjMlgkoIQBXkGBpN7tLEgc8Vv9b+6RmCgim0oFWV++2O14WgXcE2va+roCV/rDNf9anGnJcPMq88AijIjCzBoXJsyB3E4XfAgMBAAGjgagwgaUwgaIGA1UdAQSBmjCBl4AQW9Bw72lyniNRfhSyTY7/y6FyMHAxKzApBgNVBAsTIkNvcHlyaWdodCAoYykgMTk5NyBNaWNyb3NvZnQgQ29ycC4xHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFJvb3QgQXV0aG9yaXR5gg8AwQCLPDyIEdE+9mPs30AwDQYJKoZIhvcNAQEEBQADggEBAJXoC8CN85cYNe24ASTYdxHzXGAyn54Lyz4FkYiPyTrmIfLwV5MstaBHyGLv/NfMOztaqTZUaf4kbT/JzKreBXzdMY09nxBwarv+Ek8YacD80EPjEVogT+pie6+qGcgrNyUtvmWhEoolD2Oj91Qc+SHJ1hXzUqxuQzIH/YIX+OVnbA1R9r3xUse958Qw/CAxCYgdlSkaTdUdAqXxgOADtFv0sd3IV+5lScdSVLa0AygS/5DW8AiPfriXxas3LOR65Kh343agANBqP8HSNorgQRKoNWobats14dQcBOSoRQTIWjM4bk0cDWK3CqKM09VUP0bNHFWmcNsSOoeTdZ+n0qA="; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -111,9 +121,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -128,11 +146,13 @@ Configuration Example } ); CertFileName = "RootNew.cer"; # Updated Property - Credential = $Credscredential; DestinationStore = "computerCertStoreRoot"; DisplayName = "Trusted Cert"; Ensure = "Present"; TrustedRootCertificate = "MIIEEjCCAvqgAwIBAgIPAMEAizw8iBHRPvZj7N9AMA0GCSqGSIb3DQEBBAUAMHAxKzApBgNVBAsTIkNvcHlyaWdodCAoYykgMTk5NyBNaWNyb3NvZnQgQ29ycC4xHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFJvb3QgQXV0aG9yaXR5MB4XDTk3MDExMDA3MDAwMFoXDTIwMTIzMTA3MDAwMFowcDErMCkGA1UECxMiQ29weXJpZ2h0IChjKSAxOTk3IE1pY3Jvc29mdCBDb3JwLjEeMBwGA1UECxMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEwHwYDVQQDExhNaWNyb3NvZnQgUm9vdCBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpAr3BcOY78k4bKJ+XeF4w6qKpjSVf+P6VTKO3/p2iID58UaKboo9gMmvRQmR57qx2yVTa8uuchhyPn4Rms8VremIj1h083g8BkuiWxL8tZpqaaCaZ0Dosvwy1WCbBRucKPjiWLKkoOajsSYNC44QPu5psVWGsgnyhYC13TOmZtGQ7mlAcMQgkFJ+p55ErGOY9mGMUYFgFZZ8dN1KH96fvlALGG9O/VUWziYC/OuxUlE6u/ad6bXROrxjMlgkoIQBXkGBpN7tLEgc8Vv9b+6RmCgim0oFWV++2O14WgXcE2va+roCV/rDNf9anGnJcPMq88AijIjCzBoXJsyB3E4XfAgMBAAGjgagwgaUwgaIGA1UdAQSBmjCBl4AQW9Bw72lyniNRfhSyTY7/y6FyMHAxKzApBgNVBAsTIkNvcHlyaWdodCAoYykgMTk5NyBNaWNyb3NvZnQgQ29ycC4xHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFJvb3QgQXV0aG9yaXR5gg8AwQCLPDyIEdE+9mPs30AwDQYJKoZIhvcNAQEEBQADggEBAJXoC8CN85cYNe24ASTYdxHzXGAyn54Lyz4FkYiPyTrmIfLwV5MstaBHyGLv/NfMOztaqTZUaf4kbT/JzKreBXzdMY09nxBwarv+Ek8YacD80EPjEVogT+pie6+qGcgrNyUtvmWhEoolD2Oj91Qc+SHJ1hXzUqxuQzIH/YIX+OVnbA1R9r3xUse958Qw/CAxCYgdlSkaTdUdAqXxgOADtFv0sd3IV+5lScdSVLa0AygS/5DW8AiPfriXxas3LOR65Kh343agANBqP8HSNorgQRKoNWobats14dQcBOSoRQTIWjM4bk0cDWK3CqKM09VUP0bNHFWmcNsSOoeTdZ+n0qA="; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -147,9 +167,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -157,9 +185,11 @@ Configuration Example { IntuneDeviceConfigurationTrustedCertificatePolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "Trusted Cert"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationVpnPolicyWindows10.md b/docs/docs/resources/intune/IntuneDeviceConfigurationVpnPolicyWindows10.md index bade0d24d3..f677318176 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationVpnPolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationVpnPolicyWindows10.md @@ -212,9 +212,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -231,7 +239,6 @@ Configuration Example AuthenticationMethod = "usernameAndPassword"; ConnectionName = "Cisco VPN"; ConnectionType = "ciscoAnyConnect"; - Credential = $Credscredential; CustomXml = ""; DisplayName = "VPN"; DnsRules = @( @@ -279,6 +286,9 @@ Configuration Example } ); TrustedNetworkDomains = @(); + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -293,9 +303,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -312,7 +330,6 @@ Configuration Example AuthenticationMethod = "usernameAndPassword"; ConnectionName = "Cisco VPN"; ConnectionType = "ciscoAnyConnect"; - Credential = $Credscredential; CustomXml = ""; DisplayName = "VPN"; DnsRules = @( @@ -360,6 +377,9 @@ Configuration Example } ); TrustedNetworkDomains = @(); + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -374,9 +394,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -384,9 +412,11 @@ Configuration Example { IntuneDeviceConfigurationVpnPolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "VPN"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationWindowsTeamPolicyWindows10.md b/docs/docs/resources/intune/IntuneDeviceConfigurationWindowsTeamPolicyWindows10.md index 3efa4dff87..93cceec8d8 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationWindowsTeamPolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationWindowsTeamPolicyWindows10.md @@ -93,9 +93,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -111,7 +119,6 @@ Configuration Example ); AzureOperationalInsightsBlockTelemetry = $True; ConnectAppBlockAutoLaunch = $True; - Credential = $Credscredential; DisplayName = "Device restrictions (Windows 10 Team)"; Ensure = "Present"; MaintenanceWindowBlocked = $False; @@ -126,6 +133,9 @@ Configuration Example SupportsScopeTags = $True; WelcomeScreenBlockAutomaticWakeUp = $True; WelcomeScreenMeetingInformation = "showOrganizerAndTimeOnly"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -140,9 +150,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -158,7 +176,6 @@ Configuration Example ); AzureOperationalInsightsBlockTelemetry = $False; # Updated Property ConnectAppBlockAutoLaunch = $True; - Credential = $Credscredential; DisplayName = "Device restrictions (Windows 10 Team)"; Ensure = "Present"; MaintenanceWindowBlocked = $False; @@ -173,6 +190,9 @@ Configuration Example SupportsScopeTags = $True; WelcomeScreenBlockAutomaticWakeUp = $True; WelcomeScreenMeetingInformation = "showOrganizerAndTimeOnly"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -187,9 +207,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -197,9 +225,11 @@ Configuration Example { IntuneDeviceConfigurationWindowsTeamPolicyWindows10 'Example' { - Credential = $Credscredential; DisplayName = "Device restrictions (Windows 10 Team)"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceConfigurationWiredNetworkPolicyWindows10.md b/docs/docs/resources/intune/IntuneDeviceConfigurationWiredNetworkPolicyWindows10.md index c296f6dc23..ab63011a7a 100644 --- a/docs/docs/resources/intune/IntuneDeviceConfigurationWiredNetworkPolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneDeviceConfigurationWiredNetworkPolicyWindows10.md @@ -101,9 +101,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -124,7 +132,6 @@ Configuration Example AuthenticationRetryDelayPeriodInSeconds = 5 AuthenticationType = 'machine' CacheCredentials = $True - Credential = $Credscredential DisplayName = 'Wired Network' EapolStartPeriodInSeconds = 5 EapType = 'teap' @@ -136,6 +143,9 @@ Configuration Example TrustedServerCertificateNames = @('srv.domain.com') RootCertificatesForServerValidationIds = @('a485d322-13cd-43ef-beda-733f656f48ea', '169bf4fc-5914-40f4-ad33-48c225396183') SecondaryIdentityCertificateForClientAuthenticationId = '0b9aef2f-1671-4260-8eb9-3ab3138e176a' + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -150,9 +160,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -173,7 +191,6 @@ Configuration Example AuthenticationRetryDelayPeriodInSeconds = 5 AuthenticationType = 'machine' CacheCredentials = $True - Credential = $Credscredential DisplayName = 'Wired Network' EapolStartPeriodInSeconds = 5 EapType = 'teap' @@ -185,6 +202,9 @@ Configuration Example TrustedServerCertificateNames = @('srv.domain.com') RootCertificatesForServerValidationIds = @('a485d322-13cd-43ef-beda-733f656f48ea', '169bf4fc-5914-40f4-ad33-48c225396183') SecondaryIdentityCertificateForClientAuthenticationId = '0b9aef2f-1671-4260-8eb9-3ab3138e176a' + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -199,9 +219,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -209,9 +237,11 @@ Configuration Example { IntuneDeviceConfigurationWiredNetworkPolicyWindows10 'Example' { - Credential = $Credscredential DisplayName = 'Wired Network' Ensure = 'Present' + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceEnrollmentLimitRestriction.md b/docs/docs/resources/intune/IntuneDeviceEnrollmentLimitRestriction.md index 6380f1c06e..8c2973162c 100644 --- a/docs/docs/resources/intune/IntuneDeviceEnrollmentLimitRestriction.md +++ b/docs/docs/resources/intune/IntuneDeviceEnrollmentLimitRestriction.md @@ -57,9 +57,17 @@ This example creates a new Device Enrollment Limit Restriction. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -71,7 +79,9 @@ Configuration Example Description = 'My Restriction' Limit = 12 Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -85,9 +95,17 @@ This example creates a new Device Enrollment Limit Restriction. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -99,7 +117,9 @@ Configuration Example Description = 'My Restriction' Limit = 11 # Updated Property Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -113,9 +133,17 @@ This example creates a new Device Enrollment Limit Restriction. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -125,7 +153,9 @@ Configuration Example { DisplayName = 'My DSC Limit' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceEnrollmentPlatformRestriction.md b/docs/docs/resources/intune/IntuneDeviceEnrollmentPlatformRestriction.md index cc0062d561..30dcaf901c 100644 --- a/docs/docs/resources/intune/IntuneDeviceEnrollmentPlatformRestriction.md +++ b/docs/docs/resources/intune/IntuneDeviceEnrollmentPlatformRestriction.md @@ -99,9 +99,17 @@ This example creates a new Device Enrollment Platform Restriction. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -122,7 +130,6 @@ Configuration Example deviceAndAppManagementAssignmentFilterType = 'none' dataType = '#microsoft.graph.allDevicesAssignmentTarget' }); - Credential = $Credscredential Description = "This is the default Device Type Restriction applied with the lowest priority to all users regardless of group membership."; DeviceEnrollmentConfigurationType = "platformRestrictions"; DisplayName = "All users and all devices"; @@ -152,6 +159,9 @@ Configuration Example platformBlocked = $False personalDeviceEnrollmentBlocked = $False }; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -165,9 +175,17 @@ This example creates a new Device Enrollment Platform Restriction. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -188,7 +206,6 @@ Configuration Example deviceAndAppManagementAssignmentFilterType = 'none' dataType = '#microsoft.graph.allDevicesAssignmentTarget' }); - Credential = $Credscredential Description = "This is the default Device Type Restriction applied with the lowest priority to all users regardless of group membership."; DeviceEnrollmentConfigurationType = "platformRestrictions"; DisplayName = "All users and all devices"; @@ -218,6 +235,9 @@ Configuration Example platformBlocked = $False personalDeviceEnrollmentBlocked = $False }; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -231,9 +251,17 @@ This example creates a new Device Enrollment Platform Restriction. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -241,7 +269,6 @@ Configuration Example { IntuneDeviceEnrollmentPlatformRestriction 'DeviceEnrollmentPlatformRestriction' { - Credential = $Credscredential DisplayName = "Removed Policy"; Ensure = "Absent"; Assignments = @(); @@ -253,7 +280,9 @@ Configuration Example PersonalDeviceEnrollmentBlocked = $False }; Priority = 1; - TenantId = $OrganizationName; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceEnrollmentStatusPageWindows10.md b/docs/docs/resources/intune/IntuneDeviceEnrollmentStatusPageWindows10.md index 187f1779de..231aff3635 100644 --- a/docs/docs/resources/intune/IntuneDeviceEnrollmentStatusPageWindows10.md +++ b/docs/docs/resources/intune/IntuneDeviceEnrollmentStatusPageWindows10.md @@ -85,9 +85,17 @@ This example creates a new Device Enrollment Status Page. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -117,7 +125,9 @@ Configuration Example SelectedMobileAppIds = @(); ShowInstallationProgress = $True; TrackInstallProgressForAutopilotOnly = $True; - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -131,9 +141,17 @@ This example creates a new Device Enrollment Status Page. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -163,7 +181,9 @@ Configuration Example SelectedMobileAppIds = @(); ShowInstallationProgress = $True; TrackInstallProgressForAutopilotOnly = $True; - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -177,9 +197,17 @@ This example creates a new Device Enrollment Status Page. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -189,7 +217,9 @@ Configuration Example { DisplayName = "All users and all devices"; Ensure = "Absent"; - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceManagementComplianceSettings.md b/docs/docs/resources/intune/IntuneDeviceManagementComplianceSettings.md index d373490263..41217dc41e 100644 --- a/docs/docs/resources/intune/IntuneDeviceManagementComplianceSettings.md +++ b/docs/docs/resources/intune/IntuneDeviceManagementComplianceSettings.md @@ -57,9 +57,17 @@ This example updates the Device Management Compliance Settings Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -67,10 +75,12 @@ Configuration Example { IntuneDeviceManagementComplianceSettings 'DeviceManagementComplianceSettings' { - Credential = $Credscredential DeviceComplianceCheckinThresholdDays = 22; IsSingleInstance = "Yes"; SecureByDefault = $True; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDeviceRemediation.md b/docs/docs/resources/intune/IntuneDeviceRemediation.md index d4d43ac6c0..acfe62a44f 100644 --- a/docs/docs/resources/intune/IntuneDeviceRemediation.md +++ b/docs/docs/resources/intune/IntuneDeviceRemediation.md @@ -116,9 +116,17 @@ This example creates a new Device Remediation. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -143,7 +151,6 @@ Configuration Example } } ); - Credential = $Credscredential Description = 'Description' DetectionScriptContent = "Base64 encoded script content"; DeviceHealthScriptType = "deviceHealthScript"; @@ -156,7 +163,9 @@ Configuration Example RoleScopeTagIds = @("0"); RunAs32Bit = $True; RunAsAccount = "system"; - TenantId = $OrganizationName; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -170,9 +179,17 @@ This example updates a new Device Remediation. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -197,7 +214,6 @@ Configuration Example } } ); - Credential = $Credscredential Description = 'Description' DetectionScriptContent = "Base64 encoded script content 2"; # Updated property DeviceHealthScriptType = "deviceHealthScript"; @@ -210,7 +226,9 @@ Configuration Example RoleScopeTagIds = @("0"); RunAs32Bit = $True; RunAsAccount = "system"; - TenantId = $OrganizationName; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -224,9 +242,17 @@ This example removes a Device Remediation. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -237,7 +263,9 @@ Configuration Example Id = '00000000-0000-0000-0000-000000000000' DisplayName = 'Device remediation' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDiskEncryptionMacOS.md b/docs/docs/resources/intune/IntuneDiskEncryptionMacOS.md index 112953a0c4..f4289f16e9 100644 --- a/docs/docs/resources/intune/IntuneDiskEncryptionMacOS.md +++ b/docs/docs/resources/intune/IntuneDiskEncryptionMacOS.md @@ -83,9 +83,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -104,7 +112,9 @@ Configuration Example PersonalRecoveryKeyRotationInMonths = 2; RoleScopeTagIds = @("0"); SelectedRecoveryKeyTypes = @("personalRecoveryKey"); - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -119,9 +129,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -140,7 +158,9 @@ Configuration Example PersonalRecoveryKeyRotationInMonths = 3; # Updated property RoleScopeTagIds = @("0"); SelectedRecoveryKeyTypes = @("personalRecoveryKey"); - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -155,9 +175,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -167,7 +195,9 @@ Configuration Example { DisplayName = 'test' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneDiskEncryptionWindows10.md b/docs/docs/resources/intune/IntuneDiskEncryptionWindows10.md index 1cf2a01ab2..b359738f21 100644 --- a/docs/docs/resources/intune/IntuneDiskEncryptionWindows10.md +++ b/docs/docs/resources/intune/IntuneDiskEncryptionWindows10.md @@ -128,9 +128,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -149,7 +157,9 @@ Configuration Example IdentificationField = 'IdentificationField' SecIdentificationField = 'SecIdentificationField' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -164,9 +174,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -185,7 +203,9 @@ Configuration Example IdentificationField = 'IdentificationField' SecIdentificationField = 'UpdatedSecIdentificationField' # Updated property Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -200,9 +220,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -213,7 +241,9 @@ Configuration Example DisplayName = 'Disk Encryption' Description = '' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneEndpointDetectionAndResponsePolicyWindows10.md b/docs/docs/resources/intune/IntuneEndpointDetectionAndResponsePolicyWindows10.md index 4aa3c793ab..9893c32f98 100644 --- a/docs/docs/resources/intune/IntuneEndpointDetectionAndResponsePolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneEndpointDetectionAndResponsePolicyWindows10.md @@ -75,9 +75,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -89,7 +97,9 @@ Configuration Example Assignments = @() Description = 'My revised description' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -104,9 +114,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -118,7 +136,9 @@ Configuration Example Assignments = @() Description = 'My updated description' # Updated Property Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -133,9 +153,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -145,7 +173,9 @@ Configuration Example { DisplayName = 'Edr Policy' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneExploitProtectionPolicyWindows10SettingCatalog.md b/docs/docs/resources/intune/IntuneExploitProtectionPolicyWindows10SettingCatalog.md index 05e7646068..17b0440a3d 100644 --- a/docs/docs/resources/intune/IntuneExploitProtectionPolicyWindows10SettingCatalog.md +++ b/docs/docs/resources/intune/IntuneExploitProtectionPolicyWindows10SettingCatalog.md @@ -79,9 +79,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -244,7 +252,9 @@ Configuration Example " Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -259,9 +269,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -424,7 +442,9 @@ Configuration Example " # Updated Property Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -439,9 +459,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -451,7 +479,9 @@ Configuration Example { DisplayName = 'exploit Protection policy with assignments' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntunePolicySets.md b/docs/docs/resources/intune/IntunePolicySets.md index 2659656ed8..d1bb683e0a 100644 --- a/docs/docs/resources/intune/IntunePolicySets.md +++ b/docs/docs/resources/intune/IntunePolicySets.md @@ -87,16 +87,23 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName 'Microsoft365DSC' Node localhost { IntunePolicySets "Example" { - Credential = $Credscredential; Assignments = @( MSFT_DeviceManagementConfigurationPolicyAssignments{ deviceAndAppManagementAssignmentFilterType = 'none' @@ -123,10 +130,11 @@ Configuration Example } ); RoleScopeTags = @("0","1"); + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } - } - } ``` @@ -139,16 +147,23 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName 'Microsoft365DSC' Node localhost { IntunePolicySets "Example" { - Credential = $Credscredential; Assignments = @( MSFT_DeviceManagementConfigurationPolicyAssignments{ deviceAndAppManagementAssignmentFilterType = 'none' @@ -175,10 +190,11 @@ Configuration Example } ); RoleScopeTags = @("0","1","2"); # Updated Property + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } - } - } ``` @@ -191,22 +207,30 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName 'Microsoft365DSC' Node localhost { IntunePolicySets "Example" { - Credential = $Credscredential; DisplayName = "Example"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } - } - } ``` diff --git a/docs/docs/resources/intune/IntuneRoleAssignment.md b/docs/docs/resources/intune/IntuneRoleAssignment.md index 71641ec684..ab0133db1c 100644 --- a/docs/docs/resources/intune/IntuneRoleAssignment.md +++ b/docs/docs/resources/intune/IntuneRoleAssignment.md @@ -64,9 +64,17 @@ This example creates a new Intune Role Assigment. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -84,7 +92,9 @@ Configuration Example RoleDefinition = '2d00d0fd-45e9-4166-904f-b76ac5eed2c7' RoleDefinitionDisplayName = 'This is my role' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -98,9 +108,17 @@ This example creates a new Intune Role Assigment. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -118,7 +136,9 @@ Configuration Example RoleDefinition = '2d00d0fd-45e9-4166-904f-b76ac5eed2c7' RoleDefinitionDisplayName = 'This is my role' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -132,9 +152,17 @@ This example creates a new Intune Role Assigment. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -144,7 +172,9 @@ Configuration Example { DisplayName = 'test2' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneRoleDefinition.md b/docs/docs/resources/intune/IntuneRoleDefinition.md index 035ff9e956..aab8a240cd 100644 --- a/docs/docs/resources/intune/IntuneRoleDefinition.md +++ b/docs/docs/resources/intune/IntuneRoleDefinition.md @@ -61,9 +61,17 @@ This example creates a new Intune Role Definition. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -78,7 +86,9 @@ Configuration Example notallowedResourceActions = @() roleScopeTagIds = @('0', '1') Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -92,9 +102,17 @@ This example creates a new Intune Role Definition. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -109,7 +127,9 @@ Configuration Example notallowedResourceActions = @() roleScopeTagIds = @('0', '1') Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -123,9 +143,17 @@ This example creates a new Intune Role Definition. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -135,7 +163,9 @@ Configuration Example { DisplayName = 'This is my role' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneSettingCatalogASRRulesPolicyWindows10.md b/docs/docs/resources/intune/IntuneSettingCatalogASRRulesPolicyWindows10.md index 9aa201c36c..b565f3f12c 100644 --- a/docs/docs/resources/intune/IntuneSettingCatalogASRRulesPolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneSettingCatalogASRRulesPolicyWindows10.md @@ -115,9 +115,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -136,7 +144,9 @@ Configuration Example blockexecutablefilesrunningunlesstheymeetprevalenceagetrustedlistcriterion = 'audit' Description = 'Post' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -151,9 +161,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -172,7 +190,9 @@ Configuration Example blockexecutablefilesrunningunlesstheymeetprevalenceagetrustedlistcriterion = 'audit' Description = 'Post' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -187,9 +207,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -199,7 +227,9 @@ Configuration Example { DisplayName = 'asr 2' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneSettingCatalogCustomPolicyWindows10.md b/docs/docs/resources/intune/IntuneSettingCatalogCustomPolicyWindows10.md index 3eb71ca136..fb7b396272 100644 --- a/docs/docs/resources/intune/IntuneSettingCatalogCustomPolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneSettingCatalogCustomPolicyWindows10.md @@ -164,9 +164,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -174,7 +182,6 @@ Configuration Example { IntuneSettingCatalogCustomPolicyWindows10 'Example' { - Credential = $Credscredential Assignments = @( MSFT_DeviceManagementConfigurationPolicyAssignments{ deviceAndAppManagementAssignmentFilterType = 'none' @@ -243,6 +250,9 @@ Configuration Example } ); Technologies = "mdm"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -257,9 +267,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -267,7 +285,6 @@ Configuration Example { IntuneSettingCatalogCustomPolicyWindows10 'Example' { - Credential = $Credscredential Assignments = @( MSFT_DeviceManagementConfigurationPolicyAssignments{ deviceAndAppManagementAssignmentFilterType = 'none' @@ -336,6 +353,9 @@ Configuration Example } ); Technologies = "mdm"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -350,9 +370,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -360,9 +388,11 @@ Configuration Example { IntuneSettingCatalogCustomPolicyWindows10 'Example' { - Credential = $Credscredential Ensure = "Absent"; Name = "Setting Catalog Raw - DSC"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneWifiConfigurationPolicyAndroidDeviceAdministrator.md b/docs/docs/resources/intune/IntuneWifiConfigurationPolicyAndroidDeviceAdministrator.md index 6eddf28dad..8f3324c65a 100644 --- a/docs/docs/resources/intune/IntuneWifiConfigurationPolicyAndroidDeviceAdministrator.md +++ b/docs/docs/resources/intune/IntuneWifiConfigurationPolicyAndroidDeviceAdministrator.md @@ -77,9 +77,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -100,7 +108,9 @@ Configuration Example Ssid = 'sf' WiFiSecurityType = 'wpaEnterprise' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -115,9 +125,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -138,7 +156,9 @@ Configuration Example Ssid = 'sf' WiFiSecurityType = 'wpaEnterprise' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -153,9 +173,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -165,7 +193,9 @@ Configuration Example { DisplayName = 'Wifi Configuration Androind Device' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneWifiConfigurationPolicyAndroidEnterpriseDeviceOwner.md b/docs/docs/resources/intune/IntuneWifiConfigurationPolicyAndroidEnterpriseDeviceOwner.md index 2a25e7cd2b..a2d42ba204 100644 --- a/docs/docs/resources/intune/IntuneWifiConfigurationPolicyAndroidEnterpriseDeviceOwner.md +++ b/docs/docs/resources/intune/IntuneWifiConfigurationPolicyAndroidEnterpriseDeviceOwner.md @@ -85,9 +85,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -110,7 +118,9 @@ Configuration Example ProxySettings = 'none' Ssid = 'MySSID - 3' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -126,9 +136,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -151,7 +169,9 @@ Configuration Example ProxySettings = 'none' Ssid = 'MySSID - 3' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -167,9 +187,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -179,7 +207,9 @@ Configuration Example { DisplayName = 'Wifi - androidForWork' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneWifiConfigurationPolicyAndroidEnterpriseWorkProfile.md b/docs/docs/resources/intune/IntuneWifiConfigurationPolicyAndroidEnterpriseWorkProfile.md index e287c3661a..3b93f6cb7f 100644 --- a/docs/docs/resources/intune/IntuneWifiConfigurationPolicyAndroidEnterpriseWorkProfile.md +++ b/docs/docs/resources/intune/IntuneWifiConfigurationPolicyAndroidEnterpriseWorkProfile.md @@ -78,9 +78,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -102,7 +110,9 @@ Configuration Example Ssid = 'MySSID' WiFiSecurityType = 'open' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -118,9 +128,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -142,7 +160,9 @@ Configuration Example Ssid = 'MySSID' WiFiSecurityType = 'open' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -158,9 +178,17 @@ Configuration Example { param ( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -170,7 +198,9 @@ Configuration Example { DisplayName = 'wifi - android BYOD' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneWifiConfigurationPolicyAndroidForWork.md b/docs/docs/resources/intune/IntuneWifiConfigurationPolicyAndroidForWork.md index 337418cbb1..01e681328d 100644 --- a/docs/docs/resources/intune/IntuneWifiConfigurationPolicyAndroidForWork.md +++ b/docs/docs/resources/intune/IntuneWifiConfigurationPolicyAndroidForWork.md @@ -77,9 +77,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -104,7 +112,9 @@ Configuration Example Ssid = 'WiFi' WiFiSecurityType = 'wpa2Enterprise' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -119,9 +129,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -146,7 +164,9 @@ Configuration Example Ssid = 'WiFi' WiFiSecurityType = 'wpa2Enterprise' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -161,9 +181,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -173,7 +201,9 @@ Configuration Example { DisplayName = 'AndroindForWork' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneWifiConfigurationPolicyAndroidOpenSourceProject.md b/docs/docs/resources/intune/IntuneWifiConfigurationPolicyAndroidOpenSourceProject.md index cd1ebe8313..ef98411a57 100644 --- a/docs/docs/resources/intune/IntuneWifiConfigurationPolicyAndroidOpenSourceProject.md +++ b/docs/docs/resources/intune/IntuneWifiConfigurationPolicyAndroidOpenSourceProject.md @@ -79,9 +79,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -103,7 +111,9 @@ Configuration Example Ssid = 'aaaaa' WiFiSecurityType = 'wpaPersonal' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -118,9 +128,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -142,7 +160,9 @@ Configuration Example Ssid = 'aaaaa' WiFiSecurityType = 'wpaPersonal' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -157,9 +177,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -169,7 +197,9 @@ Configuration Example { DisplayName = 'wifi aosp' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneWifiConfigurationPolicyIOS.md b/docs/docs/resources/intune/IntuneWifiConfigurationPolicyIOS.md index 2375bd1d1b..ddcf26325a 100644 --- a/docs/docs/resources/intune/IntuneWifiConfigurationPolicyIOS.md +++ b/docs/docs/resources/intune/IntuneWifiConfigurationPolicyIOS.md @@ -83,9 +83,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -109,7 +117,9 @@ Configuration Example Ssid = 'aaaaa' WiFiSecurityType = 'wpaPersonal' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -124,9 +134,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -150,7 +168,9 @@ Configuration Example Ssid = 'aaaaa' WiFiSecurityType = 'wpaPersonal' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -165,9 +185,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -177,7 +205,9 @@ Configuration Example { DisplayName = 'ios wifi' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneWifiConfigurationPolicyMacOS.md b/docs/docs/resources/intune/IntuneWifiConfigurationPolicyMacOS.md index cc22276650..57e8731161 100644 --- a/docs/docs/resources/intune/IntuneWifiConfigurationPolicyMacOS.md +++ b/docs/docs/resources/intune/IntuneWifiConfigurationPolicyMacOS.md @@ -82,9 +82,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -107,7 +115,9 @@ Configuration Example Ssid = 'aaaaaaaaaaaaa' WiFiSecurityType = 'wpaPersonal' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -122,9 +132,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -147,7 +165,9 @@ Configuration Example Ssid = 'aaaaaaaaaaaaa' WiFiSecurityType = 'wpaPersonal' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -162,9 +182,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -174,7 +202,9 @@ Configuration Example { DisplayName = 'macos wifi' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneWifiConfigurationPolicyWindows10.md b/docs/docs/resources/intune/IntuneWifiConfigurationPolicyWindows10.md index be916f3b6b..23ba85724c 100644 --- a/docs/docs/resources/intune/IntuneWifiConfigurationPolicyWindows10.md +++ b/docs/docs/resources/intune/IntuneWifiConfigurationPolicyWindows10.md @@ -85,9 +85,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -113,7 +121,9 @@ Configuration Example Ssid = 'ssid' WifiSecurityType = 'wpa2Personal' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -128,9 +138,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -156,7 +174,9 @@ Configuration Example Ssid = 'ssid' WifiSecurityType = 'wpa2Personal' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -171,9 +191,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -183,7 +211,9 @@ Configuration Example { DisplayName = 'win10 wifi - revised' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneWindowsAutopilotDeploymentProfileAzureADHybridJoined.md b/docs/docs/resources/intune/IntuneWindowsAutopilotDeploymentProfileAzureADHybridJoined.md index b260b7e293..43d2e26d9f 100644 --- a/docs/docs/resources/intune/IntuneWindowsAutopilotDeploymentProfileAzureADHybridJoined.md +++ b/docs/docs/resources/intune/IntuneWindowsAutopilotDeploymentProfileAzureADHybridJoined.md @@ -108,9 +108,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -119,7 +127,6 @@ Configuration Example IntuneWindowsAutopilotDeploymentProfileAzureADHybridJoined 'Example' { Assignments = @(); - Credential = $Credscredential; Description = ""; DeviceNameTemplate = ""; DeviceType = "windowsPc"; @@ -137,6 +144,9 @@ Configuration Example SkipKeyboardSelectionPage = $False UserType = 'standard' }; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -151,9 +161,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -162,7 +180,6 @@ Configuration Example IntuneWindowsAutopilotDeploymentProfileAzureADHybridJoined 'Example' { Assignments = @(); - Credential = $Credscredential; Description = ""; DeviceNameTemplate = ""; DeviceType = "windowsPc"; @@ -180,6 +197,9 @@ Configuration Example SkipKeyboardSelectionPage = $False UserType = 'standard' }; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -194,9 +214,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -204,9 +232,11 @@ Configuration Example { IntuneWindowsAutopilotDeploymentProfileAzureADHybridJoined 'Example' { - Credential = $Credscredential; DisplayName = "hybrid"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneWindowsAutopilotDeploymentProfileAzureADJoined.md b/docs/docs/resources/intune/IntuneWindowsAutopilotDeploymentProfileAzureADJoined.md index 6909ac9fbc..526656617c 100644 --- a/docs/docs/resources/intune/IntuneWindowsAutopilotDeploymentProfileAzureADJoined.md +++ b/docs/docs/resources/intune/IntuneWindowsAutopilotDeploymentProfileAzureADJoined.md @@ -107,9 +107,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -123,7 +131,6 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; Description = ""; DeviceNameTemplate = "test"; DeviceType = "windowsPc"; @@ -140,6 +147,9 @@ Configuration Example SkipKeyboardSelectionPage = $True UserType = 'administrator' }; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -154,9 +164,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -170,7 +188,6 @@ Configuration Example dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; Description = ""; DeviceNameTemplate = "test"; DeviceType = "windowsPc"; @@ -187,6 +204,9 @@ Configuration Example SkipKeyboardSelectionPage = $True UserType = 'administrator' }; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -201,9 +221,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -211,9 +239,11 @@ Configuration Example { IntuneWindowsAutopilotDeploymentProfileAzureADJoined 'Example' { - Credential = $Credscredential; DisplayName = "AAD"; Ensure = "Absent"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneWindowsInformationProtectionPolicyWindows10MdmEnrolled.md b/docs/docs/resources/intune/IntuneWindowsInformationProtectionPolicyWindows10MdmEnrolled.md index cd23311e1e..e581a1dcc1 100644 --- a/docs/docs/resources/intune/IntuneWindowsInformationProtectionPolicyWindows10MdmEnrolled.md +++ b/docs/docs/resources/intune/IntuneWindowsInformationProtectionPolicyWindows10MdmEnrolled.md @@ -167,9 +167,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -211,7 +219,9 @@ Configuration Example ProtectionUnderLockConfigRequired = $False RevokeOnUnenrollDisabled = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -226,9 +236,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -270,7 +288,9 @@ Configuration Example ProtectionUnderLockConfigRequired = $False RevokeOnUnenrollDisabled = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -285,9 +305,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -297,7 +325,9 @@ Configuration Example { DisplayName = 'WIP' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneWindowsUpdateForBusinessDriverUpdateProfileWindows10.md b/docs/docs/resources/intune/IntuneWindowsUpdateForBusinessDriverUpdateProfileWindows10.md index 9f0ae10108..edb5abbe42 100644 --- a/docs/docs/resources/intune/IntuneWindowsUpdateForBusinessDriverUpdateProfileWindows10.md +++ b/docs/docs/resources/intune/IntuneWindowsUpdateForBusinessDriverUpdateProfileWindows10.md @@ -77,9 +77,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -92,7 +100,9 @@ Configuration Example Description = 'test 2' approvalType = 'manual' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -107,9 +117,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -122,7 +140,9 @@ Configuration Example Description = 'test 3' # Updated property approvalType = 'manual' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -137,9 +157,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -150,7 +178,9 @@ Configuration Example DisplayName = 'Driver Update Example' Description = 'test 2' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneWindowsUpdateForBusinessFeatureUpdateProfileWindows10.md b/docs/docs/resources/intune/IntuneWindowsUpdateForBusinessFeatureUpdateProfileWindows10.md index 386ba33b3c..6bd3ae2629 100644 --- a/docs/docs/resources/intune/IntuneWindowsUpdateForBusinessFeatureUpdateProfileWindows10.md +++ b/docs/docs/resources/intune/IntuneWindowsUpdateForBusinessFeatureUpdateProfileWindows10.md @@ -84,9 +84,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -102,7 +110,9 @@ Configuration Example OfferStartDateTimeInUTC = '2023-02-03T16:00:00.0000000+00:00' } Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -117,9 +127,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -135,7 +153,9 @@ Configuration Example OfferStartDateTimeInUTC = '2023-02-05T16:00:00.0000000+00:00' # Updated Property } Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -150,9 +170,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -162,7 +190,9 @@ Configuration Example { DisplayName = 'WUfB Feature -dsc' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10.md b/docs/docs/resources/intune/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10.md index 4384cdfcec..413892c638 100644 --- a/docs/docs/resources/intune/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10.md +++ b/docs/docs/resources/intune/IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10.md @@ -83,9 +83,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -109,7 +117,9 @@ Configuration Example } RoleScopeTagIds = @("0") Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -124,9 +134,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -150,7 +168,9 @@ Configuration Example } RoleScopeTagIds = @("0") Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -165,9 +185,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -177,7 +205,9 @@ Configuration Example { DisplayName = 'Windows Quality Update' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } diff --git a/docs/docs/resources/intune/IntuneWindowsUpdateForBusinessRingUpdateProfileWindows10.md b/docs/docs/resources/intune/IntuneWindowsUpdateForBusinessRingUpdateProfileWindows10.md index caf2890e04..46d2e49c70 100644 --- a/docs/docs/resources/intune/IntuneWindowsUpdateForBusinessRingUpdateProfileWindows10.md +++ b/docs/docs/resources/intune/IntuneWindowsUpdateForBusinessRingUpdateProfileWindows10.md @@ -118,9 +118,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -168,7 +176,9 @@ Configuration Example UserPauseAccess = 'enabled' UserWindowsUpdateScanAccess = 'enabled' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -183,9 +193,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -233,7 +251,9 @@ Configuration Example UserPauseAccess = 'enabled' UserWindowsUpdateScanAccess = 'enabled' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } @@ -248,9 +268,17 @@ It is not meant to use as a production baseline. Configuration Example { param( - [Parameter(Mandatory = $true)] - [PSCredential] - $Credscredential + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC @@ -260,7 +288,9 @@ Configuration Example { DisplayName = 'WUfB Ring' Ensure = 'Absent' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } From b0bcd2386eb4da8120d193714bf5f9250eb0c6cd Mon Sep 17 00:00:00 2001 From: NikCharlebois Date: Wed, 17 Jul 2024 20:23:01 +0000 Subject: [PATCH 120/123] Updated {Create} Intune Integration Tests --- ...M365DSCIntegration.INTUNE.Create.Tests.ps1 | 313 +++++++++++++----- 1 file changed, 231 insertions(+), 82 deletions(-) diff --git a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.INTUNE.Create.Tests.ps1 b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.INTUNE.Create.Tests.ps1 index 56ebc9d99e..1254e45f14 100644 --- a/Tests/Integration/Microsoft365DSC/M365DSCIntegration.INTUNE.Create.Tests.ps1 +++ b/Tests/Integration/Microsoft365DSC/M365DSCIntegration.INTUNE.Create.Tests.ps1 @@ -39,7 +39,6 @@ DisplayName = "Account Protection LAPS Policy"; Description = "My revised description"; Ensure = "Present"; - Credential = $Credscredential Assignments = @( MSFT_IntuneAccountProtectionLocalAdministratorPasswordSolutionPolicyAssignments{ deviceAndAppManagementAssignmentFilterType = 'none' @@ -50,13 +49,15 @@ PasswordAgeDays_AAD = 10; AdministratorAccountName = "Administrator"; PasswordAgeDays = 20; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneAccountProtectionLocalUserGroupMembershipPolicy 'My Account Protection Local User Group Membership Policy' { DisplayName = "Account Protection LUGM Policy"; Description = "My revised description"; Ensure = "Present"; - Credential = $Credscredential Assignments = @( MSFT_IntuneAccountProtectionLocalUserGroupMembershipPolicyAssignments{ deviceAndAppManagementAssignmentFilterType = 'none' @@ -71,6 +72,9 @@ UserSelectionType = 'users' } ); + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneAccountProtectionPolicy 'myAccountProtectionPolicy' { @@ -80,7 +84,9 @@ PinMinimumLength = 5 PinSpecialCharactersUsage = 'required' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneAntivirusPolicyWindows10SettingCatalog 'myAVWindows10Policy' { @@ -96,11 +102,12 @@ excludedprocesses = @('processes.exe', 'process2.exe') templateId = '45fea5e9-280d-4da1-9792-fb5736da0ca9_1' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneAppConfigurationDevicePolicy 'IntuneAppConfigurationDevicePolicy-Example' { - Credential = $Credscredential; Assignments = @(); Description = ""; DisplayName = "Example"; @@ -113,13 +120,14 @@ ProfileApplicability = "default" RoleScopeTagIds = @("0"); TargetedMobileApps = @(""); - TenantId = $OrganizationName; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneAppConfigurationPolicy 'AddAppConfigPolicy' { DisplayName = 'ContosoNew' Description = 'New Contoso Policy' - Credential = $Credscredential; CustomSettings = @( MSFT_IntuneAppConfigurationPolicyCustomSetting { name = 'com.microsoft.intune.mam.managedbrowser.BlockListURLs' @@ -134,6 +142,9 @@ value = 'TestValue' }); Ensure = 'Present' + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneApplicationControlPolicyWindows10 'ConfigureApplicationControlPolicyWindows10' { @@ -143,7 +154,9 @@ SmartScreenBlockOverrideForFiles = $True SmartScreenEnableInShell = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneAppProtectionPolicyAndroid 'ConfigureAppProtectionPolicyAndroid' { @@ -168,7 +181,9 @@ SaveAsBlocked = $True SimplePinBlocked = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneAppProtectionPolicyiOS 'MyCustomiOSPolicy' { @@ -197,7 +212,9 @@ SaveAsBlocked = $True SimplePinBlocked = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneASRRulesPolicyWindows10 'myASRRulesPolicy' { @@ -224,7 +241,9 @@ UntrustedExecutableType = 'block' UntrustedUSBProcessType = 'block' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneAttackSurfaceReductionRulesPolicyWindows10ConfigManager 'myASRReductionRules' { @@ -232,7 +251,9 @@ blockadobereaderfromcreatingchildprocesses = "block"; Description = 'My revised description' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceAndAppManagementAssignmentFilter 'AssignmentFilter' { @@ -241,14 +262,18 @@ Platform = 'windows10AndLater' Rule = "(device.manufacturer -ne `"Microsoft Corporation`")" Ensure = 'Present' - Credential = $intuneAdmin + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceCategory 'ConfigureDeviceCategory' { DisplayName = 'Contoso' Description = 'Contoso Category' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceCompliancePolicyAndroid 'AddDeviceCompliancePolicy' { @@ -274,7 +299,9 @@ SecurityRequireVerifyApps = $False StorageRequireEncryption = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceCompliancePolicyAndroidDeviceOwner 'ConfigureAndroidDeviceCompliancePolicyOwner' { @@ -295,7 +322,9 @@ PasswordPreviousPasswordCountToBlock = 13 StorageRequireEncryption = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceCompliancePolicyAndroidWorkProfile 'ConfigureAndroidDeviceCompliancePolicyWorkProfile' { @@ -319,7 +348,9 @@ SecurityRequireVerifyApps = $False StorageRequireEncryption = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceCompliancePolicyiOs 'ConfigureDeviceCompliancePolicyiOS' { @@ -340,8 +371,9 @@ DeviceThreatProtectionRequiredSecurityLevel = 'medium' ManagedEmailProfileRequired = $True Ensure = 'Present' - Credential = $Credscredential - + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceCompliancePolicyMacOS 'ConfigureDeviceCompliancePolicyMacOS' { @@ -365,7 +397,9 @@ FirewallBlockAllIncoming = $False FirewallEnableStealthMode = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceCompliancePolicyWindows10 'ConfigureDeviceCompliancePolicyWindows10' { @@ -404,11 +438,12 @@ deviceCompliancePolicyScript = $null ValidOperatingSystemBuildRanges = @() Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationAdministrativeTemplatePolicyWindows10 'Example' { - Credential = $Credscredential Assignments = @( MSFT_DeviceManagementConfigurationPolicyAssignments { @@ -530,6 +565,9 @@ DisplayName = 'admin template' Ensure = 'Present' PolicyConfigurationIngestionType = 'unknown' + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationCustomPolicyWindows10 'Example' { @@ -539,7 +577,6 @@ dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "custom"; Ensure = "Present"; OmaSettings = @( @@ -563,6 +600,9 @@ } ); SupportsScopeTags = $True; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationDefenderForEndpointOnboardingPolicyWindows10 'Example' { @@ -576,10 +616,12 @@ dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "MDE onboarding Legacy"; EnableExpeditedTelemetryReporting = $True; Ensure = "Present"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10 'Example' { @@ -598,7 +640,6 @@ CacheServerBackgroundDownloadFallbackToHttpDelayInSeconds = 3; CacheServerForegroundDownloadFallbackToHttpDelayInSeconds = 3; CacheServerHostNames = @("domain.com"); - Credential = $Credscredential; DeliveryOptimizationMode = "httpWithPeeringPrivateGroup"; DisplayName = "delivery optimisation"; Ensure = "Present"; @@ -620,6 +661,9 @@ RestrictPeerSelectionBy = "subnetMask"; SupportsScopeTags = $True; VpnPeerCaching = "enabled"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationDomainJoinPolicyWindows10 'Example' { @@ -632,11 +676,13 @@ ); ComputerNameStaticPrefix = "WK-"; ComputerNameSuffixRandomCharCount = 12; - Credential = $Credscredential; DisplayName = "Domain Join"; Ensure = "Present"; OrganizationalUnit = "OU=workstation,CN=domain,CN=com"; SupportsScopeTags = $True; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationEmailProfilePolicyWindows10 'Example' { @@ -647,7 +693,6 @@ dataType = '#microsoft.graph.allLicensedUsersAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "email"; DurationOfEmailToSync = "unlimited"; EmailAddressSource = "primarySmtpAddress"; @@ -658,6 +703,9 @@ SyncCalendar = $True; SyncContacts = $True; SyncTasks = $True; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationEndpointProtectionPolicyWindows10 'Example' { @@ -724,7 +772,6 @@ StartupAuthenticationTpmKeyUsage = 'allowed' StartupAuthenticationBlockWithoutTpmChip = $False }; - Credential = $Credscredential; DefenderAdditionalGuardedFolders = @(); DefenderAdobeReaderLaunchChildProcess = "notConfigured"; DefenderAdvancedRansomewareProtectionType = "notConfigured"; @@ -886,6 +933,9 @@ XboxServicesLiveAuthManagerServiceStartupMode = "manual"; XboxServicesLiveGameSaveServiceStartupMode = "manual"; XboxServicesLiveNetworkingServiceStartupMode = "manual"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationFirmwareInterfacePolicyWindows10 'Example' { @@ -900,7 +950,6 @@ BootFromExternalMedia = "notConfigured"; Cameras = "enabled"; ChangeUefiSettingsPermission = "notConfiguredOnly"; - Credential = $Credscredential; DisplayName = "firmware"; Ensure = "Present"; FrontCamera = "enabled"; @@ -920,6 +969,9 @@ WiFi = "notConfigured"; WindowsPlatformBinaryTable = "enabled"; WirelessWideAreaNetwork = "notConfigured"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationHealthMonitoringConfigurationPolicyWindows10 'Example' { @@ -931,10 +983,12 @@ } ); ConfigDeviceHealthMonitoringScope = @("bootPerformance","windowsUpdates"); - Credential = $Credscredential; DisplayName = "Health Monitoring Configuration"; Ensure = "Present"; SupportsScopeTags = $True; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationIdentityProtectionPolicyWindows10 'Example' { @@ -944,7 +998,6 @@ dataType = '#microsoft.graph.allLicensedUsersAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "identity protection"; EnhancedAntiSpoofingForFacialFeaturesEnabled = $True; Ensure = "Present"; @@ -962,6 +1015,9 @@ UseCertificatesForOnPremisesAuthEnabled = $True; UseSecurityKeyForSignin = $True; WindowsHelloForBusinessBlocked = $False; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationImportedPfxCertificatePolicyWindows10 'Example' { @@ -973,7 +1029,6 @@ ); CertificateValidityPeriodScale = "years"; CertificateValidityPeriodValue = 1; - Credential = $Credscredential; DisplayName = "PKCS Imported"; Ensure = "Present"; IntendedPurpose = "unassigned"; @@ -981,6 +1036,9 @@ RenewalThresholdPercentage = 50; SubjectAlternativeNameType = "emailAddress"; SubjectNameFormat = "commonName"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationKioskPolicyWindows10 'Example' { @@ -990,7 +1048,6 @@ dataType = '#microsoft.graph.allLicensedUsersAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "kiosk"; EdgeKioskEnablePublicBrowsing = $False; Ensure = "Present"; @@ -1030,6 +1087,9 @@ Recurrence = 'daily' DayofWeek = 'sunday' }; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationNetworkBoundaryPolicyWindows10 'Example' { @@ -1039,7 +1099,6 @@ dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "network boundary"; Ensure = "Present"; SupportsScopeTags = $True; @@ -1058,6 +1117,9 @@ ) NeutralDomainResources = @() }; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationPkcsCertificatePolicyWindows10 'Example' { @@ -1073,7 +1135,6 @@ CertificateValidityPeriodValue = 1; CertificationAuthority = "CA=Name"; CertificationAuthorityName = "Test"; - Credential = $Credscredential; CustomSubjectAlternativeNames = @( MSFT_MicrosoftGraphcustomSubjectAlternativeName{ SanType = 'domainNameService' @@ -1087,6 +1148,9 @@ SubjectAlternativeNameType = "none"; SubjectNameFormat = "custom"; SubjectNameFormatString = "CN={{UserName}},E={{EmailAddress}}"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationPlatformScriptMacOS 'Example' { @@ -1096,7 +1160,6 @@ dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "custom"; Ensure = "Present"; BlockExecutionNotifications = $False; @@ -1108,7 +1171,9 @@ RoleScopeTagIds = @("0"); RunAsAccount = "user"; ScriptContent = "Base64 encoded script content"; - TenantId = $OrganizationName; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationPlatformScriptWindows 'Example' { @@ -1118,7 +1183,6 @@ dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisplayName = "custom"; Ensure = "Present"; EnforceSignatureCheck = $False; @@ -1127,7 +1191,9 @@ RunAs32Bit = $True; RunAsAccount = "system"; ScriptContent = "Base64 encoded script content"; - TenantId = $OrganizationName; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationPolicyAndroidDeviceAdministrator 'myAndroidDeviceAdmin' { @@ -1187,7 +1253,9 @@ WebBrowserCookieSettings = 'allowAlways' WiFiBlocked = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationPolicyAndroidDeviceOwner 'myAndroidDeviceOwnerPolicy' { @@ -1233,7 +1301,9 @@ WorkProfilePasswordRequiredType = 'deviceDefault' WorkProfilePasswordRequireUnlock = 'deviceDefault' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationPolicyAndroidOpenSourceProject 'myAndroidOpenSourceProjectPolicy' { @@ -1250,7 +1320,9 @@ ScreenCaptureBlocked = $True StorageBlockExternalMedia = $True Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationPolicyAndroidWorkProfile '97ed22e9-1429-40dc-ab3c-0055e538383b' { @@ -1276,7 +1348,9 @@ WorkProfilePasswordRequiredType = 'deviceDefault' WorkProfileRequirePassword = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationPolicyiOS 'ConfigureDeviceConfigurationPolicyiOS' { @@ -1389,7 +1463,9 @@ VoiceDialingBlocked = $False WallpaperBlockModification = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationPolicyMacOS 'myMacOSDevicePolicy' { @@ -1486,7 +1562,9 @@ UpdateDelayPolicy = @('delayOSUpdateVisibility', 'delayAppUpdateVisibility', 'delayMajorOsUpdateVisibility') WallpaperModificationBlocked = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationPolicyWindows10 'Example' { @@ -1521,7 +1599,6 @@ ConnectedDevicesServiceBlocked = $False; CopyPasteBlocked = $False; CortanaBlocked = $False; - Credential = $Credscredential; CryptographyAllowFipsAlgorithmPolicy = $False; DefenderBlockEndUserAccess = $False; DefenderBlockOnAccessProtection = $False; @@ -1741,6 +1818,9 @@ WirelessDisplayBlockProjectionToThisDevice = $False; WirelessDisplayBlockUserInputFromReceiver = $False; WirelessDisplayRequirePinForPairing = $False; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationScepCertificatePolicyWindows10 'Example' { @@ -1753,7 +1833,6 @@ CertificateStore = "user"; CertificateValidityPeriodScale = "years"; CertificateValidityPeriodValue = 5; - Credential = $Credscredential; CustomSubjectAlternativeNames = @( MSFT_MicrosoftGraphcustomSubjectAlternativeName{ SanType = 'domainNameService' @@ -1778,6 +1857,9 @@ SubjectNameFormat = "custom"; SubjectNameFormatString = "CN={{UserName}},E={{EmailAddress}}"; RootCertificateId = "169bf4fc-5914-40f4-ad33-48c225396183"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationSecureAssessmentPolicyWindows10 'Example' { @@ -1793,11 +1875,13 @@ ); ConfigurationAccount = "user@domain.com"; ConfigurationAccountType = "azureADAccount"; - Credential = $Credscredential; DisplayName = "Secure Assessment"; Ensure = "Present"; LaunchUri = "https://assessment.domain.com"; LocalGuestAccountName = ""; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationSharedMultiDevicePolicyWindows10 'Example' { @@ -1814,7 +1898,6 @@ dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; DisableAccountManager = $False; DisableEduPolicies = $False; DisablePowerPolicies = $False; @@ -1830,6 +1913,9 @@ SetEduPolicies = "enabled"; SetPowerPolicies = "enabled"; SignInOnResume = "enabled"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationTrustedCertificatePolicyWindows10 'Example' { @@ -1840,11 +1926,13 @@ } ); CertFileName = "RootCA.cer"; - Credential = $Credscredential; DestinationStore = "computerCertStoreRoot"; DisplayName = "Trusted Cert"; Ensure = "Present"; TrustedRootCertificate = "MIIEEjCCAvqgAwIBAgIPAMEAizw8iBHRPvZj7N9AMA0GCSqGSIb3DQEBBAUAMHAxKzApBgNVBAsTIkNvcHlyaWdodCAoYykgMTk5NyBNaWNyb3NvZnQgQ29ycC4xHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFJvb3QgQXV0aG9yaXR5MB4XDTk3MDExMDA3MDAwMFoXDTIwMTIzMTA3MDAwMFowcDErMCkGA1UECxMiQ29weXJpZ2h0IChjKSAxOTk3IE1pY3Jvc29mdCBDb3JwLjEeMBwGA1UECxMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEwHwYDVQQDExhNaWNyb3NvZnQgUm9vdCBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpAr3BcOY78k4bKJ+XeF4w6qKpjSVf+P6VTKO3/p2iID58UaKboo9gMmvRQmR57qx2yVTa8uuchhyPn4Rms8VremIj1h083g8BkuiWxL8tZpqaaCaZ0Dosvwy1WCbBRucKPjiWLKkoOajsSYNC44QPu5psVWGsgnyhYC13TOmZtGQ7mlAcMQgkFJ+p55ErGOY9mGMUYFgFZZ8dN1KH96fvlALGG9O/VUWziYC/OuxUlE6u/ad6bXROrxjMlgkoIQBXkGBpN7tLEgc8Vv9b+6RmCgim0oFWV++2O14WgXcE2va+roCV/rDNf9anGnJcPMq88AijIjCzBoXJsyB3E4XfAgMBAAGjgagwgaUwgaIGA1UdAQSBmjCBl4AQW9Bw72lyniNRfhSyTY7/y6FyMHAxKzApBgNVBAsTIkNvcHlyaWdodCAoYykgMTk5NyBNaWNyb3NvZnQgQ29ycC4xHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFJvb3QgQXV0aG9yaXR5gg8AwQCLPDyIEdE+9mPs30AwDQYJKoZIhvcNAQEEBQADggEBAJXoC8CN85cYNe24ASTYdxHzXGAyn54Lyz4FkYiPyTrmIfLwV5MstaBHyGLv/NfMOztaqTZUaf4kbT/JzKreBXzdMY09nxBwarv+Ek8YacD80EPjEVogT+pie6+qGcgrNyUtvmWhEoolD2Oj91Qc+SHJ1hXzUqxuQzIH/YIX+OVnbA1R9r3xUse958Qw/CAxCYgdlSkaTdUdAqXxgOADtFv0sd3IV+5lScdSVLa0AygS/5DW8AiPfriXxas3LOR65Kh343agANBqP8HSNorgQRKoNWobats14dQcBOSoRQTIWjM4bk0cDWK3CqKM09VUP0bNHFWmcNsSOoeTdZ+n0qA="; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationVpnPolicyWindows10 'Example' { @@ -1857,7 +1945,6 @@ AuthenticationMethod = "usernameAndPassword"; ConnectionName = "Cisco VPN"; ConnectionType = "ciscoAnyConnect"; - Credential = $Credscredential; CustomXml = ""; DisplayName = "VPN"; DnsRules = @( @@ -1905,6 +1992,9 @@ } ); TrustedNetworkDomains = @(); + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationWindowsTeamPolicyWindows10 'Example' { @@ -1916,7 +2006,6 @@ ); AzureOperationalInsightsBlockTelemetry = $True; ConnectAppBlockAutoLaunch = $True; - Credential = $Credscredential; DisplayName = "Device restrictions (Windows 10 Team)"; Ensure = "Present"; MaintenanceWindowBlocked = $False; @@ -1931,6 +2020,9 @@ SupportsScopeTags = $True; WelcomeScreenBlockAutomaticWakeUp = $True; WelcomeScreenMeetingInformation = "showOrganizerAndTimeOnly"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceConfigurationWiredNetworkPolicyWindows10 'Example' { @@ -1947,7 +2039,6 @@ AuthenticationRetryDelayPeriodInSeconds = 5 AuthenticationType = 'machine' CacheCredentials = $True - Credential = $Credscredential DisplayName = 'Wired Network' EapolStartPeriodInSeconds = 5 EapType = 'teap' @@ -1959,6 +2050,9 @@ TrustedServerCertificateNames = @('srv.domain.com') RootCertificatesForServerValidationIds = @('a485d322-13cd-43ef-beda-733f656f48ea', '169bf4fc-5914-40f4-ad33-48c225396183') SecondaryIdentityCertificateForClientAuthenticationId = '0b9aef2f-1671-4260-8eb9-3ab3138e176a' + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceEnrollmentLimitRestriction 'DeviceEnrollmentLimitRestriction' { @@ -1966,7 +2060,9 @@ Description = 'My Restriction' Limit = 12 Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceEnrollmentPlatformRestriction 'DeviceEnrollmentPlatformRestriction' { @@ -1983,7 +2079,6 @@ deviceAndAppManagementAssignmentFilterType = 'none' dataType = '#microsoft.graph.allDevicesAssignmentTarget' }); - Credential = $Credscredential Description = "This is the default Device Type Restriction applied with the lowest priority to all users regardless of group membership."; DeviceEnrollmentConfigurationType = "platformRestrictions"; DisplayName = "All users and all devices"; @@ -2013,6 +2108,9 @@ platformBlocked = $False personalDeviceEnrollmentBlocked = $False }; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceEnrollmentStatusPageWindows10 '6b43c039-c1d0-4a9f-aab9-48c5531acbd6' { @@ -2038,7 +2136,9 @@ SelectedMobileAppIds = @(); ShowInstallationProgress = $True; TrackInstallProgressForAutopilotOnly = $True; - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDeviceRemediation 'ConfigureDeviceRemediation' { @@ -2059,7 +2159,6 @@ } } ); - Credential = $Credscredential Description = 'Description' DetectionScriptContent = "Base64 encoded script content"; DeviceHealthScriptType = "deviceHealthScript"; @@ -2072,7 +2171,9 @@ RoleScopeTagIds = @("0"); RunAs32Bit = $True; RunAsAccount = "system"; - TenantId = $OrganizationName; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDiskEncryptionMacOS 'IntuneDiskEncryptionMacOS' { @@ -2087,7 +2188,9 @@ PersonalRecoveryKeyRotationInMonths = 2; RoleScopeTagIds = @("0"); SelectedRecoveryKeyTypes = @("personalRecoveryKey"); - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneDiskEncryptionWindows10 'myDiskEncryption' { @@ -2102,7 +2205,9 @@ IdentificationField = 'IdentificationField' SecIdentificationField = 'SecIdentificationField' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneEndpointDetectionAndResponsePolicyWindows10 'myEDRPolicy' { @@ -2110,7 +2215,9 @@ Assignments = @() Description = 'My revised description' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneExploitProtectionPolicyWindows10SettingCatalog 'myWindows10ExploitProtectionPolicy' { @@ -2269,11 +2376,12 @@ " Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntunePolicySets 'Example' { - Credential = $Credscredential; Assignments = @( MSFT_DeviceManagementConfigurationPolicyAssignments{ deviceAndAppManagementAssignmentFilterType = 'none' @@ -2300,6 +2408,9 @@ } ); RoleScopeTags = @("0","1"); + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneRoleAssignment 'IntuneRoleAssignment' { @@ -2313,7 +2424,9 @@ RoleDefinition = '2d00d0fd-45e9-4166-904f-b76ac5eed2c7' RoleDefinitionDisplayName = 'This is my role' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneRoleDefinition 'IntuneRoleDefinition' { @@ -2324,7 +2437,9 @@ notallowedResourceActions = @() roleScopeTagIds = @('0', '1') Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneSettingCatalogASRRulesPolicyWindows10 'myASRRulesPolicy' { @@ -2339,11 +2454,12 @@ blockexecutablefilesrunningunlesstheymeetprevalenceagetrustedlistcriterion = 'audit' Description = 'Post' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneSettingCatalogCustomPolicyWindows10 'Example' { - Credential = $Credscredential Assignments = @( MSFT_DeviceManagementConfigurationPolicyAssignments{ deviceAndAppManagementAssignmentFilterType = 'none' @@ -2412,6 +2528,9 @@ } ); Technologies = "mdm"; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneWiFiConfigurationPolicyAndroidDeviceAdministrator 'myWifiConfigAndroidDevicePolicy' { @@ -2428,7 +2547,9 @@ Ssid = 'sf' WiFiSecurityType = 'wpaEnterprise' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneWifiConfigurationPolicyAndroidEnterpriseDeviceOwner 'myWifiConfigAndroidDeviceOwnerPolicy' { @@ -2447,7 +2568,9 @@ ProxySettings = 'none' Ssid = 'MySSID - 3' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneWifiConfigurationPolicyAndroidEnterpriseWorkProfile 'myWifiConfigAndroidWorkProfilePolicy' { @@ -2465,7 +2588,9 @@ Ssid = 'MySSID' WiFiSecurityType = 'open' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneWifiConfigurationPolicyAndroidForWork 'Example' { @@ -2486,7 +2611,9 @@ Ssid = 'WiFi' WiFiSecurityType = 'wpa2Enterprise' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneWifiConfigurationPolicyAndroidOpenSourceProject 'myWifiConfigAndroidOpensourcePolicy' { @@ -2504,7 +2631,9 @@ Ssid = 'aaaaa' WiFiSecurityType = 'wpaPersonal' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneWifiConfigurationPolicyIOS 'myWifiConfigIOSPolicy' { @@ -2524,7 +2653,9 @@ Ssid = 'aaaaa' WiFiSecurityType = 'wpaPersonal' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneWifiConfigurationPolicyMacOS 'myWifiConfigMacOSPolicy' { @@ -2543,7 +2674,9 @@ Ssid = 'aaaaaaaaaaaaa' WiFiSecurityType = 'wpaPersonal' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneWifiConfigurationPolicyWindows10 'myWifiConfigWindows10Policy' { @@ -2565,12 +2698,13 @@ Ssid = 'ssid' WifiSecurityType = 'wpa2Personal' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneWindowsAutopilotDeploymentProfileAzureADHybridJoined 'Example' { Assignments = @(); - Credential = $Credscredential; Description = ""; DeviceNameTemplate = ""; DeviceType = "windowsPc"; @@ -2588,6 +2722,9 @@ SkipKeyboardSelectionPage = $False UserType = 'standard' }; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneWindowsAutopilotDeploymentProfileAzureADJoined 'Example' { @@ -2597,7 +2734,6 @@ dataType = '#microsoft.graph.allDevicesAssignmentTarget' } ); - Credential = $Credscredential; Description = ""; DeviceNameTemplate = "test"; DeviceType = "windowsPc"; @@ -2614,6 +2750,9 @@ SkipKeyboardSelectionPage = $True UserType = 'administrator' }; + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneWindowsInformationProtectionPolicyWindows10MdmEnrolled 'Example' { @@ -2651,7 +2790,9 @@ ProtectionUnderLockConfigRequired = $False RevokeOnUnenrollDisabled = $False Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneWindowsUpdateForBusinessDriverUpdateProfileWindows10 'Example' { @@ -2660,7 +2801,9 @@ Description = 'test 2' approvalType = 'manual' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneWindowsUpdateForBusinessFeatureUpdateProfileWindows10 'Example' { @@ -2672,7 +2815,9 @@ OfferStartDateTimeInUTC = '2023-02-03T16:00:00.0000000+00:00' } Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10 'Example' { @@ -2692,7 +2837,9 @@ } RoleScopeTagIds = @("0") Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } IntuneWindowsUpdateForBusinessRingUpdateProfileWindows10 'Example' { @@ -2736,7 +2883,9 @@ UserPauseAccess = 'enabled' UserWindowsUpdateScanAccess = 'enabled' Ensure = 'Present' - Credential = $Credscredential + ApplicationId = $ApplicationId; + TenantId = $TenantId; + CertificateThumbprint = $CertificateThumbprint; } } } From 97e0ecf3a5dc46374942be7904d47f9bfd42b17f Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Wed, 17 Jul 2024 16:24:39 -0400 Subject: [PATCH 121/123] Update M365DSCTelemetryEngine.psm1 --- .../Microsoft365DSC/Modules/M365DSCTelemetryEngine.psm1 | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Modules/Microsoft365DSC/Modules/M365DSCTelemetryEngine.psm1 b/Modules/Microsoft365DSC/Modules/M365DSCTelemetryEngine.psm1 index 6ac0e57bfb..a62b0907b7 100644 --- a/Modules/Microsoft365DSC/Modules/M365DSCTelemetryEngine.psm1 +++ b/Modules/Microsoft365DSC/Modules/M365DSCTelemetryEngine.psm1 @@ -81,6 +81,12 @@ function Add-M365DSCTelemetryEvent { $Script:M365DSCCountResourceInstance++ } + if ($null -eq $Script:M365DSCOperationStartTime -or $hostId -ne $Script:M365DSCExecutionContextId) + { + $Script:M365DSCOperationStartTime = [System.DateTime]::Now + } + + $Script:M365DSCOperationTimeTaken = [System.DateTime]::Now.Subtract($Script:M365DSCOperationStartTime) if ($hostId -ne $Script:M365DSCExecutionContextId) { @@ -88,6 +94,7 @@ function Add-M365DSCTelemetryEvent } $Data.Add('ResourceInstancesCount', $Script:M365DSCCountResourceInstance) $Data.Add('M365DSCExecutionContextId', $hostId) + $Data.Add('M365DSCOperationTotalTime', $Script:M365DSCOperationTimeTaken.TotalSeconds) } catch { From 5931768e8827ad7766d4c582438bb8c1bca97a4f Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Wed, 17 Jul 2024 16:29:41 -0400 Subject: [PATCH 122/123] Release 1.24.717.1 --- CHANGELOG.md | 8 +-- Modules/Microsoft365DSC/Microsoft365DSC.psd1 | 55 ++++++++++++-------- 2 files changed, 37 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f2987a1c5f..89d19d2a2d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Change log for Microsoft365DSC -# UNRELEASED +# 1.24.717.1 * EXOHostedOutboundSpamFilterPolicy * Changed the RecipientLimitInternalPerHour, RecipientLimitPerDay, and @@ -15,13 +15,13 @@ * Initial Release FIXES [#4050](https://github.com/microsoft/Microsoft365DSC/issues/4050) * IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10 - * Initial release. + * Initial release. FIXES [#2659](https://github.com/microsoft/Microsoft365DSC/issues/2659) * SPOSharingSettings * Improved performance by using -Filter on Get-PnPTenantSite calls. * M365DSCDRGUtil * Fixes an issue with nested and duplicate settings in the settings catalog - * Add support for converting Intune assignments directly from Graph. + * Add support for converting Intune assignments directly from Graph. FIXES [#4875](https://github.com/microsoft/Microsoft365DSC/issues/4875) * M365DSCResourceGenerator * Update Intune resource generation. @@ -31,6 +31,8 @@ FIXES [#4505](https://github.com/microsoft/Microsoft365DSC/issues/4505) * Fixes an issue where the comparison treats empty arrays as an empty string. FIXES [#4796](https://github.com/microsoft/Microsoft365DSC/issues/4796) +* Telemetry + * Added info about operation total execution time. # 1.24.710.3 diff --git a/Modules/Microsoft365DSC/Microsoft365DSC.psd1 b/Modules/Microsoft365DSC/Microsoft365DSC.psd1 index 56af643474..ef6275d857 100644 --- a/Modules/Microsoft365DSC/Microsoft365DSC.psd1 +++ b/Modules/Microsoft365DSC/Microsoft365DSC.psd1 @@ -3,7 +3,7 @@ # # Generated by: Microsoft Corporation # -# Generated on: 2024-07-11 +# Generated on: 2024-07-17 @{ @@ -11,7 +11,7 @@ # RootModule = '' # Version number of this module. - ModuleVersion = '1.24.710.3' + ModuleVersion = '1.24.717.1' # Supported PSEditions # CompatiblePSEditions = @() @@ -142,28 +142,37 @@ IconUri = 'https://github.com/microsoft/Microsoft365DSC/blob/Dev/Modules/Microsoft365DSC/Dependencies/Images/Logo.png?raw=true' # ReleaseNotes of this module - ReleaseNotes = '* AADApplication - * Fixes an error where the duplicate error was being trapped, - which could cause extra instances to be created. -* AADGroup - * Fixes an error where the duplicate error was being trapped, - which could cause extra instances to be created. -* IntuneDeviceConfigurationPlatformScriptMacOS - * Fixes an issue where the assignments are missing if filtered by display name. + ReleaseNotes = '* EXOHostedOutboundSpamFilterPolicy + * Changed the RecipientLimitInternalPerHour, RecipientLimitPerDay, and + RecipientLimitExternalPerHour parameters to UInt32. +* EXOMessageClassification + * Fix issue while creating policy for first time + FIXES [#4877](https://github.com/microsoft/Microsoft365DSC/issues/4877) +* IntuneDeviceConfigurationEmailProfilePolicyWindows10 + * Fix export by fixing some typos and from where values are extracted + FIXES [#3960](https://github.com/microsoft/Microsoft365DSC/issues/3960) +* IntuneDiskEncryptionWindows10 + * Initial Release + FIXES [#4050](https://github.com/microsoft/Microsoft365DSC/issues/4050) +* IntuneWindowsUpdateForBusinessQualityUpdateProfileWindows10 + * Initial release. + FIXES [#2659](https://github.com/microsoft/Microsoft365DSC/issues/2659) +* SPOSharingSettings + * Improved performance by using -Filter on Get-PnPTenantSite calls. * M365DSCDRGUtil - * Fixes an issue where the return value was changed to a single object - instead of an array. - FIXES [#4844](https://github.com/microsoft/Microsoft365DSC/issues/4844) - * Fixes an issue where Graph models were not treated properly as a complex object. -* TELEMETRY - * Added instance count. - * Added roles scopes info. -* DEPENDENCIES - * Updated DSCParser to version 2.0.0.7. - * Updated Microsoft.Graph to version 2.20.0 - * Updated Microsoft.PowerApps.Administration.PowerShell to version 2.0.191 -* MISC - * Fixes issue with App Secret Authentication flow.' + * Fixes an issue with nested and duplicate settings in the settings catalog + * Add support for converting Intune assignments directly from Graph. + FIXES [#4875](https://github.com/microsoft/Microsoft365DSC/issues/4875) +* M365DSCResourceGenerator + * Update Intune resource generation. +* M365DSCReport + * Changes behaviour to not throw on empty configuration during report generation. + FIXES [#4559](https://github.com/microsoft/Microsoft365DSC/issues/4559) + FIXES [#4505](https://github.com/microsoft/Microsoft365DSC/issues/4505) + * Fixes an issue where the comparison treats empty arrays as an empty string. + FIXES [#4796](https://github.com/microsoft/Microsoft365DSC/issues/4796) +* Telemetry + * Added info about operation total execution time.' # Flag to indicate whether the module requires explicit user acceptance for install/update # RequireLicenseAcceptance = $false From ef976fc203d739e372b00b425813dfd8a0b0ed0c Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Wed, 17 Jul 2024 16:47:17 -0400 Subject: [PATCH 123/123] Update CHANGELOG.md --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 37d7252fa6..41a4039769 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,8 +2,8 @@ # UNRELEASED -* MSFT_AADConditionalAccessPolicy - * Made failures write to the error output instead of just verbose +* AADConditionalAccessPolicy + * Made failures write to the error output instead of just verbose. * EXOHostedOutboundSpamFilterPolicy * Changed the RecipientLimitInternalPerHour, RecipientLimitPerDay, and RecipientLimitExternalPerHour parameters to UInt32.