From 62a74279ca4e3a56c70703340599f33f84ad84b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CMario=E2=80=9D?= <“malauter@microsoft.com”> Date: Tue, 26 Sep 2023 10:17:45 +0200 Subject: [PATCH 01/32] Fixed handling of Graph connection --- CHANGELOG.md | 2 ++ Modules/Microsoft365DSC/Modules/M365DSCPermissions.psm1 | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 59c94e5c75..dba34a3e71 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ * DEPENDENCIES * Updated Microsoft.Graph to version 2.6.1. * Updated Microsoft.PowerApps.Administration.PowerShell to version 2.0.117. +* MISC + * Fixed handling of Graph connection in Update-M365DSCAllowedGraphScopes # 1.23.920.2 diff --git a/Modules/Microsoft365DSC/Modules/M365DSCPermissions.psm1 b/Modules/Microsoft365DSC/Modules/M365DSCPermissions.psm1 index 5606a28d35..7ad66b8d6b 100644 --- a/Modules/Microsoft365DSC/Modules/M365DSCPermissions.psm1 +++ b/Modules/Microsoft365DSC/Modules/M365DSCPermissions.psm1 @@ -406,7 +406,7 @@ function Update-M365DSCAllowedGraphScopes Write-Verbose -Message 'Connecting to MS Graph to update permissions' $result = Connect-MgGraph @params -Environment $Environment - if ($result -eq 'Welcome To Microsoft Graph!') + if ($result -like '*Welcome To Microsoft Graph!*') { Write-Output 'Allowed Graph scopes updated!' } From 79774d2a62ca789062ca93cf366fc62822dd442e Mon Sep 17 00:00:00 2001 From: isaacl1107 Date: Tue, 26 Sep 2023 08:59:23 -0400 Subject: [PATCH 02/32] Update M365DSCDRGUtil.psm1 to support Multiple Clouds Intune endpoints were all hardcoded for graph.microsoft.com -- rendering the intune pull useless for GCC-H and DoD Cloud -- updated to pull the Graph Base URL from the existing $Global:MSCloudLoginConnectionProfile.Intune.GraphBaseUrl variable --- Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 b/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 index 65bd393b92..142089050f 100644 --- a/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 +++ b/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 @@ -400,7 +400,7 @@ function Get-M365DSCDRGComplexTypeToString $currentValue = $ComplexObject[$key] if ($currentValue.GetType().Name -eq 'String') { - $currentValue = $ComplexObject[$key].Replace("'", "''").Replace("�", "''") + $currentValue = $ComplexObject[$key].Replace("'", "''").Replace(" ", "''") } $currentProperty += Get-M365DSCDRGSimpleObjectTypeToString -Key $key -Value $currentValue -Space ($indent) } @@ -1010,7 +1010,8 @@ function New-IntuneSettingCatalogPolicy try { - $Uri = 'https://graph.microsoft.com/beta/deviceManagement/configurationPolicies' + $BaseUrl = $Global:MSCloudLoginConnectionProfile.Intune.GraphBaseUrl + $Uri = '$($BaseUrl)/beta/deviceManagement/configurationPolicies' $policy = @{ 'name' = $Name @@ -1073,7 +1074,8 @@ function Update-IntuneSettingCatalogPolicy try { - $Uri = "https://graph.microsoft.com/beta/deviceManagement/configurationPolicies/$DeviceConfigurationPolicyId" + $BaseUrl = $Global:MSCloudLoginConnectionProfile.Intune.GraphBaseUrl + $Uri = '$($BaseUrl)/beta/deviceManagement/configurationPolicies/$DeviceConfigurationPolicyId" $policy = @{ 'name' = $Name @@ -1124,7 +1126,8 @@ function Update-DeviceConfigurationPolicyAssignment try { $deviceManagementPolicyAssignments = @() - $Uri = "https://graph.microsoft.com/$APIVersion/$Repository/$DeviceConfigurationPolicyId/assign" + $BaseUrl = $Global:MSCloudLoginConnectionProfile.Intune.GraphBaseUrl + $Uri = '$($BaseUrl)/$APIVersion/$Repository/$DeviceConfigurationPolicyId/assign" foreach ($target in $targets) { From a48143428ea7ddaf2c4ef3eca2e5f96f27305212 Mon Sep 17 00:00:00 2001 From: isaacl1107 Date: Tue, 26 Sep 2023 10:15:36 -0400 Subject: [PATCH 03/32] Update CHANGELOG.md M365DSCDRGUtil changes to support multiple-clouds --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 59c94e5c75..024a3be456 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,9 @@ * Improvements to how rules are evaluated and how drifts are logged. * O365OrgSettings * Changes to how ToDo discrepencies are being fixed in the SET method. +* M365DSCDRGUtil + * Added support for ntune URIs to be dynamic based on user + cloud (Commercial, GCC-H..etc) * DEPENDENCIES * Updated Microsoft.Graph to version 2.6.1. * Updated Microsoft.PowerApps.Administration.PowerShell to version 2.0.117. From a12520503f1187a46c3200bbec023274cd2a9c86 Mon Sep 17 00:00:00 2001 From: isaacl1107 Date: Tue, 26 Sep 2023 10:19:27 -0400 Subject: [PATCH 04/32] Update CHANGELOG.md fixed typo --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 024a3be456..9e61c5d0bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ * O365OrgSettings * Changes to how ToDo discrepencies are being fixed in the SET method. * M365DSCDRGUtil - * Added support for ntune URIs to be dynamic based on user + * Added support for Intune URIs to be dynamic based on user cloud (Commercial, GCC-H..etc) * DEPENDENCIES * Updated Microsoft.Graph to version 2.6.1. From 1b82911179b8ea7c63df73c32a949dafb4477869 Mon Sep 17 00:00:00 2001 From: isaacl1107 Date: Tue, 26 Sep 2023 10:32:07 -0400 Subject: [PATCH 05/32] Update CHANGELOG.md Provided better working for update to M365DSCDRGUtil --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e61c5d0bc..e91fce5102 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,8 +9,8 @@ * O365OrgSettings * Changes to how ToDo discrepencies are being fixed in the SET method. * M365DSCDRGUtil - * Added support for Intune URIs to be dynamic based on user - cloud (Commercial, GCC-H..etc) + * Added support for Intune URIs to be dynamic based on target + cloud instance (Commercial, GCC-H..etc) * DEPENDENCIES * Updated Microsoft.Graph to version 2.6.1. * Updated Microsoft.PowerApps.Administration.PowerShell to version 2.0.117. From a43b4b86daf19107e65dfccc7bdf43e4efa7568b Mon Sep 17 00:00:00 2001 From: isaacl1107 Date: Tue, 26 Sep 2023 12:48:05 -0400 Subject: [PATCH 06/32] Update M365DSCDRGUtil.psm1 Mismatched quotes in URI variable --- Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 b/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 index 142089050f..3f2235c113 100644 --- a/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 +++ b/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 @@ -1011,7 +1011,7 @@ function New-IntuneSettingCatalogPolicy try { $BaseUrl = $Global:MSCloudLoginConnectionProfile.Intune.GraphBaseUrl - $Uri = '$($BaseUrl)/beta/deviceManagement/configurationPolicies' + $Uri = "$($BaseUrl)/beta/deviceManagement/configurationPolicies' $policy = @{ 'name' = $Name @@ -1075,7 +1075,7 @@ function Update-IntuneSettingCatalogPolicy try { $BaseUrl = $Global:MSCloudLoginConnectionProfile.Intune.GraphBaseUrl - $Uri = '$($BaseUrl)/beta/deviceManagement/configurationPolicies/$DeviceConfigurationPolicyId" + $Uri = "$($BaseUrl)/beta/deviceManagement/configurationPolicies/$DeviceConfigurationPolicyId" $policy = @{ 'name' = $Name @@ -1127,7 +1127,7 @@ function Update-DeviceConfigurationPolicyAssignment { $deviceManagementPolicyAssignments = @() $BaseUrl = $Global:MSCloudLoginConnectionProfile.Intune.GraphBaseUrl - $Uri = '$($BaseUrl)/$APIVersion/$Repository/$DeviceConfigurationPolicyId/assign" + $Uri = "$($BaseUrl)/$APIVersion/$Repository/$DeviceConfigurationPolicyId/assign" foreach ($target in $targets) { From 3d7dc5032e72dcf91ba9fec55dfef8169261cf8b Mon Sep 17 00:00:00 2001 From: isaacl1107 Date: Tue, 26 Sep 2023 12:56:06 -0400 Subject: [PATCH 07/32] Update M365DSCDRGUtil.psm1 Quote mismatch --- Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 b/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 index 3f2235c113..5b168987d7 100644 --- a/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 +++ b/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 @@ -1011,7 +1011,7 @@ function New-IntuneSettingCatalogPolicy try { $BaseUrl = $Global:MSCloudLoginConnectionProfile.Intune.GraphBaseUrl - $Uri = "$($BaseUrl)/beta/deviceManagement/configurationPolicies' + $Uri = '$($BaseUrl)/beta/deviceManagement/configurationPolicies' $policy = @{ 'name' = $Name From d69553db573b546687406fd547d80be5721915ab Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Wed, 27 Sep 2023 09:42:06 -0400 Subject: [PATCH 08/32] Initial --- .../MSFT_EXOCalendarProcessing.psm1 | 545 ++++++++++++++++++ .../MSFT_EXOCalendarProcessing.schema.mof | 13 + .../MSFT_EXOCalendarProcessing/readme.md | 5 + .../MSFT_EXOCalendarProcessing/settings.json | 33 ++ .../1-ConfigureCalendarProcessing.ps1 | 25 + ...soft365DSC.EXOCalendarProcessing.Tests.ps1 | 150 +++++ 6 files changed, 771 insertions(+) create mode 100644 Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/MSFT_EXOCalendarProcessing.psm1 create mode 100644 Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/MSFT_EXOCalendarProcessing.schema.mof create mode 100644 Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/readme.md create mode 100644 Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/settings.json create mode 100644 Modules/Microsoft365DSC/Examples/Resources/EXOCalendarProcessing/1-ConfigureCalendarProcessing.ps1 create mode 100644 Tests/Unit/Microsoft365DSC/Microsoft365DSC.EXOCalendarProcessing.Tests.ps1 diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/MSFT_EXOCalendarProcessing.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/MSFT_EXOCalendarProcessing.psm1 new file mode 100644 index 0000000000..7c56f834b4 --- /dev/null +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/MSFT_EXOCalendarProcessing.psm1 @@ -0,0 +1,545 @@ +function Get-TargetResource +{ + [CmdletBinding()] + [OutputType([System.Collections.Hashtable])] + param + ( + [Parameter(Mandatory = $true)] + [System.String] + $Identity, + + [Parameter()] + [System.Boolean] + $AddAdditionalResponse, + + [Parameter()] + [System.String] + $AdditionalResponse, + + [Parameter()] + [System.Boolean] + $AddNewRequestsTentatively, + + [Parameter()] + [System.Boolean] + $AddOrganizerToSubject, + + [Parameter()] + [System.Boolean] + $AllBookInPolicy, + + [Parameter()] + [System.Boolean] + $AllowConflicts, + + [Parameter()] + [System.Boolean] + $AllowRecurringMeetings, + + [Parameter()] + [System.Boolean] + $AllRequestInPolicy, + + [Parameter()] + [System.Boolean] + $AllRequestOutOfPolicy, + + [Parameter()] + [ValidateSet("None", "AutoUpdate", "AutoAccept")] + [System.String] + $AutomateProcessing, + + [Parameter()] + [ValidateSet("Standard", "Reserved")] + [System.String] + $BookingType, + + [Parameter()] + [ValidateRange(0,1080)] + [System.UInt32] + $BookingWindowInDays = 180, + + [Parameter()] + [System.String[]] + $BookInPolicy, + + [Parameter()] + [System.Uint32] + $ConflictPercentageAllowed, + + [Parameter()] + [System.Boolean] + $AllRequestDeleteAttachments, + + [Parameter()] + [System.Boolean] + $DeleteComments, + + [Parameter()] + [System.Boolean] + $DeleteNonCalendarItems, + + [Parameter()] + [System.Boolean] + $DeleteSubject, + + [Parameter()] + [System.Boolean] + $EnableAutoRelease, + + [Parameter()] + [System.Boolean] + $EnableResponseDetails, + + [Parameter()] + [System.Boolean] + $EnforceCapacity, + + [Parameter()] + [System.Boolean] + $EnforceSchedulingHorizon, + + [Parameter()] + [System.Boolean] + $ForwardRequestsToDelegates, + + [Parameter()] + [System.UInt32] + $MaximumConflictInstances, + + [Parameter()] + [System.UInt32] + $MaximumDurationInMinutes, + + [Parameter()] + [System.UInt32] + $MinimumDurationInMinutes, + + [Parameter()] + [System.Boolean] + $OrganizerInfo, + + [Parameter()] + [System.UInt32] + $PostReservationMaxClaimTimeInMinutes, + + [Parameter()] + [System.Boolean] + $ProcessExternalMeetingMessages, + + [Parameter()] + [System.Boolean] + $RemoveCanceledMeetings, + + [Parameter()] + [System.Boolean] + $RemoveForwardedMeetingNotifications, + + [Parameter()] + [System.Boolean] + $RemoveOldMeetingMessages, + + [Parameter()] + [System.Boolean] + $RemovePrivateProperty, + + [Parameter()] + [System.String[]] + $RequestInPolicy, + + [Parameter()] + [System.String[]] + $RequestOutOfPolicy, + + [Parameter()] + [System.String[]] + $ResourceDelegates, + + [Parameter()] + [System.Boolean] + $ScheduleOnlyDuringWorkHours, + + [Parameter()] + [System.Boolean] + $TentativePendingApproval, + + [Parameter()] + [ValidateSet('Present', 'Absent')] + [System.String] + $Ensure = 'Present', + + [Parameter()] + [System.Management.Automation.PSCredential] + $Credential, + + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint, + + [Parameter()] + [System.String] + $CertificatePath, + + [Parameter()] + [System.Management.Automation.PSCredential] + $CertificatePassword, + + [Parameter()] + [Switch] + $ManagedIdentity + ) + + if ($Global:CurrentModeIsExport) + { + $ConnectionMode = New-M365DSCConnection -Workload 'ExchangeOnline' ` + -InboundParameters $PSBoundParameters ` + -SkipModuleReload $true + } + else + { + $ConnectionMode = New-M365DSCConnection -Workload 'ExchangeOnline' ` + -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 + Write-Verbose -Message "Getting configuration of Availability Config for $OrgWideAccount" + + $nullReturn = $PSBoundParameters + $nullReturn.Ensure = 'Absent' + + try + { + $AvailabilityConfigs = Get-AvailabilityConfig -ErrorAction Stop + + if ($null -ne $AvailabilityConfigs -and $null -ne $AvailabilityConfigs.OrgWideAccount) + { + $AvailabilityConfig = ($AvailabilityConfigs | Where-Object -FilterScript { $_.OrgWideAccount -IMatch $OrgWideAccount }) + } + if ($null -eq $AvailabilityConfig) + { + Write-Verbose -Message "Availability config for $($OrgWideAccount) does not exist." + return $nullReturn + } + $result = @{ + OrgWideAccount = $AvailabilityConfig.OrgWideAccount + Ensure = 'Present' + Credential = $Credential + ApplicationId = $ApplicationId + CertificateThumbprint = $CertificateThumbprint + CertificatePath = $CertificatePath + CertificatePassword = $CertificatePassword + Managedidentity = $ManagedIdentity.IsPresent + TenantId = $TenantId + } + + Write-Verbose -Message "Found Availability Config for $($OrgWideAccount)" + return $result + } + catch + { + New-M365DSCLogEntry -Message 'Error retrieving data:' ` + -Exception $_ ` + -Source $($MyInvocation.MyCommand.Source) ` + -TenantId $TenantId ` + -Credential $Credential + + return $nullReturn + } +} + +function Set-TargetResource +{ + [CmdletBinding()] + param + ( + [Parameter(Mandatory = $true)] + [System.String] + $OrgWideAccount, + + [Parameter()] + [ValidateSet('Present', 'Absent')] + [System.String] + $Ensure = 'Present', + + [Parameter()] + [System.Management.Automation.PSCredential] + $Credential, + + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint, + + [Parameter()] + [System.String] + $CertificatePath, + + [Parameter()] + [System.Management.Automation.PSCredential] + $CertificatePassword, + + [Parameter()] + [Switch] + $ManagedIdentity + ) + + #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 "Setting configuration of Availability Config for account $OrgWideAccount" + + $currentAvailabilityConfig = Get-TargetResource @PSBoundParameters + + $ConnectionMode = New-M365DSCConnection -Workload 'ExchangeOnline' ` + -InboundParameters $PSBoundParameters + + # CASE: Availability Config doesn't exist but should; + if ($Ensure -eq 'Present' -and $currentAvailabilityConfig.Ensure -eq 'Absent') + { + Write-Verbose -Message "Availability Config '$($OrgWideAccount)' does not exist but it should. Create it." + New-AvailabilityConfig -OrgWideAccount $OrgWideAccount + } + # CASE: Availability Config exists but it shouldn't; + elseif ($Ensure -eq 'Absent' -and $currentAvailabilityConfig.Ensure -eq 'Present') + { + Write-Verbose -Message "Availability Config '$($OrgWideAccount)' exists but it shouldn't. Remove it." + Remove-AvailabilityConfig -Confirm:$false + } + # CASE: Availability Config exists and it should, but has different values than the desired ones + elseif ($Ensure -eq 'Present' -and $currentAvailabilityConfig.Ensure -eq 'Present') + { + Write-Verbose -Message "Availability Config '$($OrgWideAccount)' already exists, but needs updating." + Set-AvailabilityConfig -OrgWideAccount $OrgWideAccount -Confirm:$false + } +} + +function Test-TargetResource +{ + [CmdletBinding()] + [OutputType([System.Boolean])] + param + ( + [Parameter(Mandatory = $true)] + [System.String] + $OrgWideAccount, + + [Parameter()] + [ValidateSet('Present', 'Absent')] + [System.String] + $Ensure = 'Present', + + [Parameter()] + [System.Management.Automation.PSCredential] + $Credential, + + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint, + + [Parameter()] + [System.String] + $CertificatePath, + + [Parameter()] + [System.Management.Automation.PSCredential] + $CertificatePassword, + + [Parameter()] + [Switch] + $ManagedIdentity + ) + #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 Availability Config for account $OrgWideAccount" + + $CurrentValues = Get-TargetResource @PSBoundParameters + + Write-Verbose -Message "Current Values: $(Convert-M365DscHashtableToString -Hashtable $CurrentValues)" + Write-Verbose -Message "Target Values: $(Convert-M365DscHashtableToString -Hashtable $PSBoundParameters)" + + $ValuesToCheck = $PSBoundParameters + $ValuesToCheck.Remove('Credential') | Out-Null + $ValuesToCheck.Remove('ApplicationId') | Out-Null + $ValuesToCheck.Remove('TenantId') | Out-Null + $ValuesToCheck.Remove('CertificateThumbprint') | Out-Null + $ValuesToCheck.Remove('CertificatePath') | Out-Null + $ValuesToCheck.Remove('CertificatePassword') | Out-Null + $ValuesToCheck.Remove('ManagedIdentity') | Out-Null + + $DesiredValues = $PSBoundParameters + if ($OrgWideAccount.Contains('@')) + { + $DesiredValues.OrgWideAccount = $OrgWideAccount.Split('@')[0] + } + + $TestResult = Test-M365DSCParameterState -CurrentValues $CurrentValues ` + -Source $($MyInvocation.MyCommand.Source) ` + -DesiredValues $DesiredValues ` + -ValuesToCheck $ValuesToCheck.Keys + + Write-Verbose -Message "Test-TargetResource returned $TestResult" + + return $TestResult +} + +function Export-TargetResource +{ + [CmdletBinding()] + [OutputType([System.String])] + param + ( + [Parameter()] + [System.Management.Automation.PSCredential] + $Credential, + + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint, + + [Parameter()] + [System.String] + $CertificatePath, + + [Parameter()] + [System.Management.Automation.PSCredential] + $CertificatePassword, + + [Parameter()] + [Switch] + $ManagedIdentity + ) + $ConnectionMode = New-M365DSCConnection -Workload 'ExchangeOnline' ` + -InboundParameters $PSBoundParameters ` + -SkipModuleReload $true + + #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 + { + if ($null -eq (Get-Command Get-AvailabilityConfig -ErrorAction SilentlyContinue)) + { + Write-Host "`r`n $($Global:M365DSCEmojiRedX) The specified account doesn't have permissions to access Availibility Config" + return '' + } + $AvailabilityConfig = Get-AvailabilityConfig -ErrorAction Stop + + if ($null -eq $AvailabilityConfig) + { + Write-Host $Global:M365DSCEmojiGreenCheckMark + return '' + } + + $OrgWideValue = "NotConfigured" + if ($null -ne $AvailabilityConfig.OrgWideAccount) + { + $OrgWideValue = $AvailabilityConfig.OrgWideAccount.ToString() + } + $Params = @{ + OrgWideAccount = $OrgWideValue + Credential = $Credential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + CertificatePassword = $CertificatePassword + Managedidentity = $ManagedIdentity.IsPresent + CertificatePath = $CertificatePath + } + $Results = Get-TargetResource @Params + $Results = Update-M365DSCExportAuthenticationResults -ConnectionMode $ConnectionMode ` + -Results $Results + $currentDSCBlock = Get-M365DSCExportContentForResource -ResourceName $ResourceName ` + -ConnectionMode $ConnectionMode ` + -ModulePath $PSScriptRoot ` + -Results $Results ` + -Credential $Credential + $dscContent += $currentDSCBlock + + Save-M365DSCPartialExport -Content $currentDSCBlock ` + -FileName $Global:PartialExportFileName + 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_EXOCalendarProcessing/MSFT_EXOCalendarProcessing.schema.mof b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/MSFT_EXOCalendarProcessing.schema.mof new file mode 100644 index 0000000000..6b0f1d1164 --- /dev/null +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/MSFT_EXOCalendarProcessing.schema.mof @@ -0,0 +1,13 @@ +[ClassVersion("1.0.0.0"), FriendlyName("EXOCalendarProcessing")] +class MSFT_EXOCalendarProcessing : OMI_BaseResource +{ + [Key, Description("Specify the OrgWideAccount for the AvailabilityConfig.")] String OrgWideAccount; + [Write, Description("Specify if the AvailabilityConfig should exist or not."), ValueMap{"Present","Absent"}, Values{"Present","Absent"}] String Ensure; + [Write, Description("Credentials of the Exchange Global 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("Thumbprint of the Azure Active Directory application's authentication certificate to use for authentication.")] String CertificateThumbprint; + [Write, Description("Username can be made up to anything but password will be used for CertificatePassword"), EmbeddedInstance("MSFT_Credential")] String CertificatePassword; + [Write, Description("Path to certificate used in service principal usually a PFX file.")] String CertificatePath; + [Write, Description("Managed ID being used for authentication.")] Boolean ManagedIdentity; +}; diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/readme.md b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/readme.md new file mode 100644 index 0000000000..836a5e8222 --- /dev/null +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/readme.md @@ -0,0 +1,5 @@ +# EXOAvailabilityConfig + +## Description + +This resource configures the Availability Config in Exchange Online. diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/settings.json b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/settings.json new file mode 100644 index 0000000000..85fbff82d4 --- /dev/null +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/settings.json @@ -0,0 +1,33 @@ +{ + "resourceName": "EXOAvailabilityConfig", + "description": "", + "roles": { + "read": [ + "Global Reader" + ], + "update": [ + "Exchange Administrator" + ] + }, + "permissions": { + "graph": { + "delegated": { + "read": [], + "update": [] + }, + "application": { + "read": [], + "update": [] + } + }, + "exchange": { + "requiredroles": [ + "Federated Sharing", + "Organization Configuration", + "Mail Tips", + "Message Tracking" + ], + "requiredrolegroups": "Organization Management" + } + } +} diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOCalendarProcessing/1-ConfigureCalendarProcessing.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOCalendarProcessing/1-ConfigureCalendarProcessing.ps1 new file mode 100644 index 0000000000..5058f07ff2 --- /dev/null +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOCalendarProcessing/1-ConfigureCalendarProcessing.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] + $credsGlobalAdmin + ) + Import-DscResource -ModuleName Microsoft365DSC + + node localhost + { + EXOAvailabilityConfig 'ConfigureAvailabilityConfig' + { + OrgWideAccount = "admin@contoso.onmicrosoft.com" + Ensure = "Present" + Credential = $credsGlobalAdmin + } + } +} diff --git a/Tests/Unit/Microsoft365DSC/Microsoft365DSC.EXOCalendarProcessing.Tests.ps1 b/Tests/Unit/Microsoft365DSC/Microsoft365DSC.EXOCalendarProcessing.Tests.ps1 new file mode 100644 index 0000000000..21f2a299cb --- /dev/null +++ b/Tests/Unit/Microsoft365DSC/Microsoft365DSC.EXOCalendarProcessing.Tests.ps1 @@ -0,0 +1,150 @@ +[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 'EXOAvailabilityConfig' -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 'test@password1' -AsPlainText -Force + $Credential = New-Object System.Management.Automation.PSCredential ('tenantadmin@mydomain.com', $secpasswd) + + Mock -CommandName Confirm-M365DSCDependencies -MockWith { + } + + Mock -CommandName New-M365DSCConnection -MockWith { + return 'Credentials' + } + + Mock -CommandName Get-PSSession -MockWith { + } + + Mock -CommandName Remove-PSSession -MockWith { + } + + # Mock Write-Host to hide output during the tests + Mock -CommandName Write-Host -MockWith { + } + } + + # Test contexts + Context -Name 'AvailabilityConfig should exist. OrgWideAccount is missing. Test should fail.' -Fixture { + BeforeAll { + $testParams = @{ + OrgWideAccount = 'johndoe' + Ensure = 'Present' + Credential = $Credential + } + + Mock -CommandName Get-AvailabilityConfig -MockWith { + return @{ + OrgWideAccount = 'meganb' + } + } + + Mock -CommandName Set-AvailabilityConfig -MockWith { + return @{ + OrgWideAccount = 'johndoe' + Ensure = 'Present' + Credential = $Credential + } + } + } + + It 'Should return false from the Test method' { + Test-TargetResource @testParams | Should -Be $false + } + + It 'Should call the Set method' { + Set-TargetResource @testParams + } + + It 'Should return Absent from the Get method' { + (Get-TargetResource @testParams).Ensure | Should -Be 'Absent' + } + } + + Context -Name "AvailabilityConfig doesn't exist." -Fixture { + BeforeAll { + $testParams = @{ + OrgWideAccount = 'johndoe' + Ensure = 'Absent' + Credential = $Credential + } + + Mock -CommandName Get-AvailabilityConfig -MockWith { + return @{ + OrgWideAccount = 'meganb' + } + } + } + + It 'Should return Absent from the Get method' { + (Get-TargetResource @testParams).Ensure | Should -Be 'Absent' + } + } + + Context -Name 'AvailabilityConfig should exist. AvailabilityConfig exists. Test should pass.' -Fixture { + BeforeAll { + $testParams = @{ + OrgWideAccount = 'johndoe' + Ensure = 'Present' + Credential = $Credential + } + + Mock -CommandName Get-AvailabilityConfig -MockWith { + return @{ + OrgWideAccount = 'johndoe' + } + } + } + + It 'Should return true from the Test method' { + Test-TargetResource @testParams | Should -Be $true + } + + It 'Should return Present from the Get Method' { + (Get-TargetResource @testParams).Ensure | Should -Be 'Present' + } + } + + Context -Name 'ReverseDSC Tests' -Fixture { + BeforeAll { + $Global:CurrentModeIsExport = $true + $Global:PartialExportFileName = "$(New-Guid).partial.ps1" + $testParams = @{ + Credential = $Credential + } + + $AvailabilityConfig = @{ + OrgWideAccount = 'johndoe' + } + Mock -CommandName Get-AvailabilityConfig -MockWith { + return $AvailabilityConfig + } + } + + 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 5d3d4f972180427df88bd19afd7e2d9ad74eabb1 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Wed, 27 Sep 2023 09:56:53 -0400 Subject: [PATCH 09/32] Fixes #3695 --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 59c94e5c75..e702b976d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ * AADApplication * Added support for restoring soft deleted instances. +* ADDRoleSetting + * Fixed issue with export where ApplicationSecret was not returned. + FIXES [#3695](https://github.com/microsoft/Microsoft365DSC/issues/3695) * M365DSCRuleEvaluation * Improvements to how rules are evaluated and how drifts are logged. * O365OrgSettings From a73d49737529ccf6d449e786b6bbe72ecffe2cd3 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Wed, 27 Sep 2023 09:56:59 -0400 Subject: [PATCH 10/32] Update MSFT_AADRoleSetting.psm1 --- .../MSFT_AADRoleSetting/MSFT_AADRoleSetting.psm1 | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_AADRoleSetting/MSFT_AADRoleSetting.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_AADRoleSetting/MSFT_AADRoleSetting.psm1 index f76bd79e52..4353dd8ce8 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_AADRoleSetting/MSFT_AADRoleSetting.psm1 +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_AADRoleSetting/MSFT_AADRoleSetting.psm1 @@ -370,6 +370,7 @@ function Get-TargetResource ApplicationId = $ApplicationId TenantId = $TenantId CertificateThumbprint = $CertificateThumbprint + ApplicationSecret = $ApplicationSecret Credential = $Credential ManagedIdentity = $ManagedIdentity.IsPresent } @@ -1302,11 +1303,6 @@ function Test-TargetResource Write-Verbose -Message "Target Values: $(Convert-M365DscHashtableToString -Hashtable $PSBoundParameters)" $ValuesToCheck = $PSBoundParameters - $ValuesToCheck.Remove('ApplicationId') | Out-Null - $ValuesToCheck.Remove('TenantId') | Out-Null - $ValuesToCheck.Remove('ApplicationSecret') | Out-Null - $ValuesToCheck.Remove('Id') | Out-Null - $ValuesToCheck.Remove('ManagedIdentity') | Out-Null $TestResult = Test-M365DSCParameterState -CurrentValues $CurrentValues ` -Source $($MyInvocation.MyCommand.Source) ` From 462cdcaa5e286c42a59f3312d5408dea91a46e4b Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Wed, 27 Sep 2023 09:58:54 -0400 Subject: [PATCH 11/32] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e702b976d3..76f1006333 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ * AADApplication * Added support for restoring soft deleted instances. -* ADDRoleSetting +* AADRoleSetting * Fixed issue with export where ApplicationSecret was not returned. FIXES [#3695](https://github.com/microsoft/Microsoft365DSC/issues/3695) * M365DSCRuleEvaluation From 7215ee337b8d89f436f3eab58b10921b88df9dee Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Wed, 27 Sep 2023 13:17:30 -0400 Subject: [PATCH 12/32] Release 1.23.927.1 --- CHANGELOG.md | 2 +- Modules/Microsoft365DSC/Microsoft365DSC.psd1 | 31 +++++++++----------- 2 files changed, 15 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 860f326ac9..e11d4b344c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Change log for Microsoft365DSC -# UNRELEASED +# 1.23.927.1 * AADApplication * Added support for restoring soft deleted instances. diff --git a/Modules/Microsoft365DSC/Microsoft365DSC.psd1 b/Modules/Microsoft365DSC/Microsoft365DSC.psd1 index 7971b9a7ea..8ef27b0dc8 100644 --- a/Modules/Microsoft365DSC/Microsoft365DSC.psd1 +++ b/Modules/Microsoft365DSC/Microsoft365DSC.psd1 @@ -3,7 +3,7 @@ # # Generated by: Microsoft Corporation # -# Generated on: 2023-09-20 +# Generated on: 2023-09-27 @{ @@ -11,7 +11,7 @@ # RootModule = '' # Version number of this module. - ModuleVersion = '1.23.920.2' + ModuleVersion = '1.23.927.1' # Supported PSEditions # CompatiblePSEditions = @() @@ -140,23 +140,20 @@ IconUri = 'https://github.com/microsoft/Microsoft365DSC/blob/Dev/Modules/Microsoft365DSC/Dependencies/Images/Logo.png?raw=true' # ReleaseNotes of this module - ReleaseNotes = '** 1.23.920.2 rolls back the Graph dependencies to version 2.5.0 - * O365OrgSettings - * Fixes and issue where a the wrong url was being used in some of the API - calls, resulting in null returns for some properties in the Get method. - * SPOSharingSettings - * Changes verbose prompts to warnings. - * TeamsGroupPolicyAssignment - * Changes to how Group IDs are retrieved and evaluated. - * TeamsAppPermissionPolicy - * Fixes to the Test-TargetResource evaluation of empty arrays. + ReleaseNotes = '* AADApplication + * Added support for restoring soft deleted instances. + * AADRoleSetting + * Fixed issue with export where ApplicationSecret was not returned. + FIXES [#3695](https://github.com/microsoft/Microsoft365DSC/issues/3695) + * M365DSCRuleEvaluation + * Improvements to how rules are evaluated and how drifts are logged. + * O365OrgSettings + * Changes to how ToDo discrepencies are being fixed in the SET method. * DEPENDENCIES - * Updated Microsoft.Graph to version 2.6.0. - * Updated MicrosoftTeams to version 5.6.0. - FIXES [#3671](https://github.com/microsoft/Microsoft365DSC/issues/3671) + * Updated Microsoft.Graph to version 2.6.1. + * Updated Microsoft.PowerApps.Administration.PowerShell to version 2.0.117. * MISC - * M365DSCUtil: Fix problem naming similar resources - FIXES [#3700](https://github.com/microsoft/Microsoft365DSC/issues/3700)' + * Fixed handling of Graph connection in Update-M365DSCAllowedGraphScopes' # Flag to indicate whether the module requires explicit user acceptance for install/update # RequireLicenseAcceptance = $false From 1f0763273c212b9497fcc979f1604777cf2089df Mon Sep 17 00:00:00 2001 From: isaacl1107 Date: Wed, 27 Sep 2023 15:48:37 -0400 Subject: [PATCH 13/32] Update M365DSCDRGUtil.psm1 inadvertent change. --- Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 b/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 index 5b168987d7..30f7fc9122 100644 --- a/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 +++ b/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 @@ -400,7 +400,7 @@ function Get-M365DSCDRGComplexTypeToString $currentValue = $ComplexObject[$key] if ($currentValue.GetType().Name -eq 'String') { - $currentValue = $ComplexObject[$key].Replace("'", "''").Replace(" ", "''") + $currentValue = $ComplexObject[$key].Replace("'", "''").Replace("�", "''") } $currentProperty += Get-M365DSCDRGSimpleObjectTypeToString -Key $key -Value $currentValue -Space ($indent) } From be12c13e60d5daae09a51b03624934558b7d78f9 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Thu, 28 Sep 2023 15:37:04 -0400 Subject: [PATCH 14/32] MSCloudLoginAssistant updated to Version 1.0.121 --- CHANGELOG.md | 5 +++++ Modules/Microsoft365DSC/Dependencies/Manifest.psd1 | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e11d4b344c..53037ae7c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Change log for Microsoft365DSC +# UNRELEASED + +* DEPENDENCIES + * Updated MSCloudLoginAssistant to version 1.0.121. + # 1.23.927.1 * AADApplication diff --git a/Modules/Microsoft365DSC/Dependencies/Manifest.psd1 b/Modules/Microsoft365DSC/Dependencies/Manifest.psd1 index 6f17b80157..e18fb34ca4 100644 --- a/Modules/Microsoft365DSC/Dependencies/Manifest.psd1 +++ b/Modules/Microsoft365DSC/Dependencies/Manifest.psd1 @@ -86,7 +86,7 @@ }, @{ ModuleName = "MSCloudLoginAssistant" - RequiredVersion = "1.0.120" + RequiredVersion = "1.0.121" }, @{ ModuleName = 'PnP.PowerShell' From 84831a2245cc261331da8a471f8d88f00c1e65e9 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Fri, 29 Sep 2023 15:30:56 -0400 Subject: [PATCH 15/32] Updates --- .../MSFT_EXOCalendarProcessing.psm1 | 126 ++++++++++-------- .../MSFT_EXOCalendarProcessing.schema.mof | 43 +++++- .../Modules/M365DSCReverse.psm1 | 4 + 3 files changed, 116 insertions(+), 57 deletions(-) diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/MSFT_EXOCalendarProcessing.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/MSFT_EXOCalendarProcessing.psm1 index 7c56f834b4..120f0a3c40 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/MSFT_EXOCalendarProcessing.psm1 +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/MSFT_EXOCalendarProcessing.psm1 @@ -69,7 +69,7 @@ function Get-TargetResource [Parameter()] [System.Boolean] - $AllRequestDeleteAttachments, + $DeleteAttachments, [Parameter()] [System.Boolean] @@ -220,26 +220,60 @@ function Get-TargetResource -Parameters $PSBoundParameters Add-M365DSCTelemetryEvent -Data $data #endregion - Write-Verbose -Message "Getting configuration of Availability Config for $OrgWideAccount" + Write-Verbose -Message "Getting configuration of Calendar Processing settings for $Identity" $nullReturn = $PSBoundParameters $nullReturn.Ensure = 'Absent' try { - $AvailabilityConfigs = Get-AvailabilityConfig -ErrorAction Stop + $calendarProc = Get-CalendarProcessing -Identity $Identity -ErrorAction SilentlyContinue - if ($null -ne $AvailabilityConfigs -and $null -ne $AvailabilityConfigs.OrgWideAccount) + if ($null -eq $calendarProc) { - $AvailabilityConfig = ($AvailabilityConfigs | Where-Object -FilterScript { $_.OrgWideAccount -IMatch $OrgWideAccount }) - } - if ($null -eq $AvailabilityConfig) - { - Write-Verbose -Message "Availability config for $($OrgWideAccount) does not exist." + Write-Verbose -Message "Calendar processing settings for $($Identity) does not exist." return $nullReturn } $result = @{ - OrgWideAccount = $AvailabilityConfig.OrgWideAccount + Identity = $calendarProc.Identity + AddAdditionalResponse = $calendarProc.AddAdditionalResponse + AdditionalResponse = $calendarProc.AdditionalResponse + AddNewRequestsTentatively = $calendarProc.AddNewRequestsTentatively + AddOrganizerToSubject = $calendarProc.AddOrganizerToSubject + AllBookInPolicy = $calendarProc.AllBookInPolicy + AllowConflicts = $calendarProc.AllowConflicts + AllowRecurringMeetings = $calendarProc.AllowRecurringMeetings + AllRequestInPolicy = $calendarProc.AllRequestInPolicy + AllRequestOutOfPolicy = $calendarProc.AllRequestOutOfPolicy + AutomateProcessing = $calendarProc.AutomateProcessing + BookingType = $calendarProc.BookingType + BookingWindowInDays = $calendarProc.BookingWindowInDays + BookInPolicy = $calendarProc.BookInPolicy + ConflictPercentageAllowed = [Array]$calendarProc.ConflictPercentageAllowed + DeleteAttachments = $calendarProc.DeleteAttachments + DeleteComments = $calendarProc.DeleteComments + DeleteNonCalendarItems = $calendarProc.DeleteNonCalendarItems + DeleteSubject = $calendarProc.DeleteSubject + EnableAutoRelease = $calendarProc.EnableAutoRelease + EnableResponseDetails = $calendarProc.EnableResponseDetails + EnforceCapacity = $calendarProc.EnforceCapacity + EnforceSchedulingHorizon = $calendarProc.EnforceSchedulingHorizon + ForwardRequestsToDelegates = $calendarProc.ForwardRequestsToDelegates + MaximumConflictInstances = $calendarProc.MaximumConflictInstances + MaximumDurationInMinutes = $calendarProc.MaximumDurationInMinutes + MinimumDurationInMinutes = $calendarProc.MinimumDurationInMinutes + OrganizerInfo = $calendarProc.OrganizerInfo + PostReservationMaxClaimTimeInMinutes = $calendarProc.PostReservationMaxClaimTimeInMinutes + ProcessExternalMeetingMessages = $calendarProc.ProcessExternalMeetingMessages + RemoveCanceledMeetings = $calendarProc.RemoveCanceledMeetings + RemoveForwardedMeetingNotifications = $calendarProc.RemoveForwardedMeetingNotifications + RemoveOldMeetingMessages = $calendarProc.RemoveOldMeetingMessages + RemovePrivateProperty = $calendarProc.RemovePrivateProperty + RequestInPolicy = [Array]$calendarProc.RequestInPolicy + RequestOutOfPolicy = [Array]$calendarProc.RequestOutOfPolicy + ResourceDelegates = [Array]$calendarProc.ResourceDelegates + ScheduleOnlyDuringWorkHours = $calendarProc.ScheduleOnlyDuringWorkHours + TentativePendingApproval = $calendarProc.TentativePendingApproval Ensure = 'Present' Credential = $Credential ApplicationId = $ApplicationId @@ -401,7 +435,7 @@ function Test-TargetResource Add-M365DSCTelemetryEvent -Data $data #endregion - Write-Verbose -Message "Testing configuration of Availability Config for account $OrgWideAccount" + Write-Verbose -Message "Testing configuration of Calendar Processing for account $Identity" $CurrentValues = Get-TargetResource @PSBoundParameters @@ -409,19 +443,8 @@ function Test-TargetResource Write-Verbose -Message "Target Values: $(Convert-M365DscHashtableToString -Hashtable $PSBoundParameters)" $ValuesToCheck = $PSBoundParameters - $ValuesToCheck.Remove('Credential') | Out-Null - $ValuesToCheck.Remove('ApplicationId') | Out-Null - $ValuesToCheck.Remove('TenantId') | Out-Null - $ValuesToCheck.Remove('CertificateThumbprint') | Out-Null - $ValuesToCheck.Remove('CertificatePath') | Out-Null - $ValuesToCheck.Remove('CertificatePassword') | Out-Null - $ValuesToCheck.Remove('ManagedIdentity') | Out-Null $DesiredValues = $PSBoundParameters - if ($OrgWideAccount.Contains('@')) - { - $DesiredValues.OrgWideAccount = $OrgWideAccount.Split('@')[0] - } $TestResult = Test-M365DSCParameterState -CurrentValues $CurrentValues ` -Source $($MyInvocation.MyCommand.Source) ` @@ -485,47 +508,42 @@ function Export-TargetResource try { - if ($null -eq (Get-Command Get-AvailabilityConfig -ErrorAction SilentlyContinue)) - { - Write-Host "`r`n $($Global:M365DSCEmojiRedX) The specified account doesn't have permissions to access Availibility Config" - return '' - } - $AvailabilityConfig = Get-AvailabilityConfig -ErrorAction Stop + $mailboxes = Get-Mailbox -ErrorAction Stop - if ($null -eq $AvailabilityConfig) + if ($null -eq $mailboxes) { Write-Host $Global:M365DSCEmojiGreenCheckMark return '' } - $OrgWideValue = "NotConfigured" - if ($null -ne $AvailabilityConfig.OrgWideAccount) + foreach ($mailbox in $mailboxes) { - $OrgWideValue = $AvailabilityConfig.OrgWideAccount.ToString() - } - $Params = @{ - OrgWideAccount = $OrgWideValue - Credential = $Credential - ApplicationId = $ApplicationId - TenantId = $TenantId - CertificateThumbprint = $CertificateThumbprint - CertificatePassword = $CertificatePassword - Managedidentity = $ManagedIdentity.IsPresent - CertificatePath = $CertificatePath + $Params = @{ + Identity = $mailbox.UserPrincipalName + Credential = $Credential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + CertificatePassword = $CertificatePassword + Managedidentity = $ManagedIdentity.IsPresent + CertificatePath = $CertificatePath + } + $Results = Get-TargetResource @Params + $Results = Update-M365DSCExportAuthenticationResults -ConnectionMode $ConnectionMode ` + -Results $Results + $currentDSCBlock = Get-M365DSCExportContentForResource -ResourceName $ResourceName ` + -ConnectionMode $ConnectionMode ` + -ModulePath $PSScriptRoot ` + -Results $Results ` + -Credential $Credential + $dscContent += $currentDSCBlock + + Save-M365DSCPartialExport -Content $currentDSCBlock ` + -FileName $Global:PartialExportFileName + Write-Host $Global:M365DSCEmojiGreenCheckMark } - $Results = Get-TargetResource @Params - $Results = Update-M365DSCExportAuthenticationResults -ConnectionMode $ConnectionMode ` - -Results $Results - $currentDSCBlock = Get-M365DSCExportContentForResource -ResourceName $ResourceName ` - -ConnectionMode $ConnectionMode ` - -ModulePath $PSScriptRoot ` - -Results $Results ` - -Credential $Credential - $dscContent += $currentDSCBlock - Save-M365DSCPartialExport -Content $currentDSCBlock ` - -FileName $Global:PartialExportFileName - Write-Host $Global:M365DSCEmojiGreenCheckMark + return $dscContent } catch diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/MSFT_EXOCalendarProcessing.schema.mof b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/MSFT_EXOCalendarProcessing.schema.mof index 6b0f1d1164..b95c945801 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/MSFT_EXOCalendarProcessing.schema.mof +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/MSFT_EXOCalendarProcessing.schema.mof @@ -1,9 +1,46 @@ [ClassVersion("1.0.0.0"), FriendlyName("EXOCalendarProcessing")] class MSFT_EXOCalendarProcessing : OMI_BaseResource { - [Key, Description("Specify the OrgWideAccount for the AvailabilityConfig.")] String OrgWideAccount; - [Write, Description("Specify if the AvailabilityConfig should exist or not."), ValueMap{"Present","Absent"}, Values{"Present","Absent"}] String Ensure; - [Write, Description("Credentials of the Exchange Global Admin"), EmbeddedInstance("MSFT_Credential")] string Credential; + [Key, Description("The Identity parameter specifies the resource mailbox that you want to view. You can use any value that uniquely identifies the mailbox.")] String Identity; + [Write, Description("The AddAdditionalResponse parameter specifies whether additional information (the value of the AdditionalResponse parameter) is added to meeting request responses")] Boolean AddAdditionalResponse; + [Write, Description("The AdditionalResponse parameter specifies the additional information to be included in responses to meeting requests when the value of the AddAdditionalResponse parameter is $true. If the value contains spaces, enclose the value in quotation marks.")] String AdditionalResponse, + [Write, Description("The AddNewRequestsTentatively parameter specifies whether new meeting requests are added to the calendar as tentative")] Boolean AddNewRequestsTentatively, + [Write, Description("The AddOrganizerToSubject parameter specifies whether the meeting organizer's name is used as the subject of the meeting request.")] Boolean AddOrganizerToSubject, + [Write, Description("The AllBookInPolicy parameter specifies whether to automatically approve in-policy requests from all users to the resource mailbox.")] Boolean AllBookInPolicy, + [Write, Description("The AllowConflicts parameter specifies whether to allow conflicting meeting requests.")] Boolean AllowConflicts, + [Write, Description("The AllowRecurringMeetings parameter specifies whether to allow recurring meetings in meeting requests.")] Boolean AllowRecurringMeetings, + [Write, Description("The AllRequestInPolicy parameter specifies whether to allow all users to submit in-policy requests to the resource mailbox.")] Boolean AllRequestInPolicy, + [Write, Description("The AllRequestOutOfPolicy parameter specifies whether to allow all users to submit out-of-policy requests to the resource mailbox.")] Boolean AllRequestOutOfPolicy, + [Write, Description("The AutomateProcessing parameter enables or disables calendar processing on the mailbox."), ValueMap{"None","AutoUpdate","AutoAccept"}, Values{"None","AutoUpdate","AutoAccept"}] String AutomateProcessing; + [Write, Description("The BookingType parameter specifies how reservations work on the resource mailbox."), ValueMap{"Standard","Reserved"}, Values{"Standard","Reserved"}] String BookingType; + [Write, Description("The BookingWindowInDays parameter specifies the maximum number of days in advance that the resource can be reserved. A valid value is an integer from 0 through 1080. The default value is 180 days. The value 0 means today.")] UInt32 BookingWindowInDays; + [Write, Description("The BookInPolicy parameter specifies users or groups who are allowed to submit in-policy meeting requests to the resource mailbox that are automatically approved. You can use any value that uniquely identifies the user or group.")] String BookInPolicy[]; + [Write, Description("The ConflictPercentageAllowed parameter specifies the maximum percentage of meeting conflicts for new recurring meeting requests. A valid value is an integer from 0 through 100. The default value is 0.")] UInt32 ConflictPercentageAllowed; + [Write, Description("The DeleteAttachments parameter specifies whether to remove attachments from all incoming messages.")] Boolean DeleteAttachments; + [Write, Description("The DeleteComments parameter specifies whether to remove or keep any text in the message body of incoming meeting requests.")] Boolean DeleteComments; + [Write, Description("The DeleteNonCalendarItems parameter specifies whether to remove or keep all non-calendar-related messages that are received by the resource mailbox.")] Boolean DeleteNonCalendarItems; + [Write, Description("The DeleteSubject parameter specifies whether to remove or keep the subject of incoming meeting requests. ")] Boolean DeleteSubject; + [Write, Description("N/A")] Boolean EnableAutoRelease; + [Write, Description("The EnableResponseDetails parameter specifies whether to include the reasons for accepting or declining a meeting in the response email message.")] Boolean EnableResponseDetails; + [Write, Description("The EnforceCapacity parameter specifies whether to restrict the number of attendees to the capacity of the workspace. For example, if capacity is set to 10, then only 10 people can book the workspace. ")] Boolean EnforceCapacity; + [Write, Description("The EnforceSchedulingHorizon parameter controls the behavior of recurring meetings that extend beyond the date specified by the BookingWindowInDays parameter.")] Boolean EnforceSchedulingHorizon; + [Write, Description("The ForwardRequestsToDelegates parameter specifies whether to forward incoming meeting requests to the delegates that are configured for the resource mailbox.")] Boolean ForwardRequestsToDelegates; + [Write, Description("The MaximumConflictInstances parameter specifies the maximum number of conflicts for new recurring meeting requests when the AllowRecurringMeetings parameter is set to $true. A valid value is an integer from 0 through INT32 (2147483647). The default value is 0.")] UInt32 MaximumConflictInstances; + [Write, Description("The MaximumDurationInMinutes parameter specifies the maximum duration in minutes for meeting requests. A valid value is an integer from 0 through INT32 (2147483647). The default value is 1440 (24 hours).")] UInt32 MaximumDurationInMinutes; + [Write, Description("The MinimumDurationInMinutes parameter specifies the minimum duration in minutes for meeting requests in workspace mailboxes. A valid value is an integer from 0 through INT32 (2147483647). The default value is 0, which means there is no minimum duration.")] UInt32 MinimumDurationInMinutes; + [Write, Description("The OrganizerInfo parameter specifies whether the resource mailbox sends organizer information when a meeting request is declined because of conflicts.")] Boolean OrganizerInfo; + [Write, Description("N/A")] UInt32 PostReservationMaxClaimTimeInMinutes; + [Write, Description("The ProcessExternalMeetingMessages parameter specifies whether to process meeting requests that originate outside the Exchange organization.")] Boolean ProcessExternalMeetingMessages; + [Write, Description("The RemoveCanceledMeetings parameter specifies whether to automatically delete meetings that were cancelled by the organizer from the resource mailbox's calendar. ")] Boolean RemoveCanceledMeetings; + [Write, Description("The RemoveForwardedMeetingNotifications parameter specifies whether forwarded meeting notifications are moved to the Deleted Items folder after they're processed by the Calendar Attendant. ")] Boolean RemoveForwardedMeetingNotifications; + [Write, Description("The RemoveOldMeetingMessages parameter specifies whether the Calendar Attendant removes old and redundant updates and responses.")] Boolean RemoveOldMeetingMessages; + [Write, Description("The RemovePrivateProperty parameter specifies whether to clear the private flag for incoming meetings that were sent by the organizer in the original requests. ")] Boolean RemovePrivateProperty; + [Write, Description("The RemovePrivateProperty parameter specifies whether to clear the private flag for incoming meetings that were sent by the organizer in the original requests. ")] String RequestInPolicy[]; + [Write, Description("The RequestOutOfPolicy parameter specifies users who are allowed to submit out-of-policy requests that require approval by a resource mailbox delegate. You can use any value that uniquely identifies the user. ")] String RequestOutOfPolicy[]; + [Write, Description("The ResourceDelegates parameter specifies users can approve or reject requests that are sent to the resource mailbox. You can use any value that uniquely identifies the user. ")] String ResourceDelegates[]; + [Write, Description("The ScheduleOnlyDuringWorkHours parameter specifies whether to allow meetings to be scheduled outside of the working hours that are defined for the resource mailbox.")] Boolean ScheduleOnlyDuringWorkHours; + [Write, Description("The TentativePendingApproval parameter specifies whether to mark pending requests as tentative on the calendar.")] Boolean TentativePendingApproval;[Write, Description("Credentials of the Exchange Global Admin"), EmbeddedInstance("MSFT_Credential")] string Credential; + [Write, Description("Determines wether or not the instance exist."), ValueMap{"Present"}, Values{"Present"}] String Ensure; [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("Thumbprint of the Azure Active Directory application's authentication certificate to use for authentication.")] String CertificateThumbprint; diff --git a/Modules/Microsoft365DSC/Modules/M365DSCReverse.psm1 b/Modules/Microsoft365DSC/Modules/M365DSCReverse.psm1 index 02b41c4c13..7c3d9e9d6d 100644 --- a/Modules/Microsoft365DSC/Modules/M365DSCReverse.psm1 +++ b/Modules/Microsoft365DSC/Modules/M365DSCReverse.psm1 @@ -711,6 +711,10 @@ function Start-M365DSCConfigurationExtract Write-Host "]: $($issue.InstanceName)" } } + else + { + Write-Host "No conflicts detected" -NoNewLine + } } $shouldOpenOutputDirectory = $false From 774d6707a3db4ecd3b605d3d3d07e09d5dc448b9 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Mon, 2 Oct 2023 11:16:46 -0400 Subject: [PATCH 16/32] Initial Release --- CHANGELOG.md | 2 + .../MSFT_EXOCalendarProcessing.psm1 | 433 +- .../MSFT_EXOCalendarProcessing.schema.mof | 18 +- .../MSFT_EXOCalendarProcessing/readme.md | 4 +- .../MSFT_EXOCalendarProcessing/settings.json | 13 +- .../1-ConfigureCalendarProcessing.ps1 | 46 +- ...soft365DSC.EXOCalendarProcessing.Tests.ps1 | 314 +- Tests/Unit/Stubs/Microsoft365.psm1 | 11111 ++++++++++++---- 8 files changed, 9022 insertions(+), 2919 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 53037ae7c0..e935868ca2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ # UNRELEASED +* EXOCalendarProcessing + * Initial release. * DEPENDENCIES * Updated MSCloudLoginAssistant to version 1.0.121. diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/MSFT_EXOCalendarProcessing.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/MSFT_EXOCalendarProcessing.psm1 index 120f0a3c40..42d22ac99c 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/MSFT_EXOCalendarProcessing.psm1 +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/MSFT_EXOCalendarProcessing.psm1 @@ -64,7 +64,7 @@ function Get-TargetResource $BookInPolicy, [Parameter()] - [System.Uint32] + [System.UInt32] $ConflictPercentageAllowed, [Parameter()] @@ -234,6 +234,37 @@ function Get-TargetResource Write-Verbose -Message "Calendar processing settings for $($Identity) does not exist." return $nullReturn } + + $RequestInPolicyValue = @() + if ($null -ne $calendarProc.RequestInPolicy) + { + foreach ($user in $calendarProc.RequestInPolicy) + { + $userInfo = Get-User -Identity $user + $RequestInPolicyValue += $userInfo.UserPrincipalName + } + } + + $RequestOutPolicyValue = @() + if ($null -ne $calendarProc.RequestOutPolicy) + { + foreach ($user in $calendarProc.RequestOutPolicy) + { + $userInfo = Get-User -Identity $user + $RequestOutPolicyValue += $userInfo.UserPrincipalName + } + } + + $ResourceDelegatesValue = @() + if ($null -ne $calendarProc.ResourceDelegates) + { + foreach ($user in $calendarProc.ResourceDelegates) + { + $userInfo = Get-User -Identity $user + $ResourceDelegatesValue += $userInfo.UserPrincipalName + } + } + $result = @{ Identity = $calendarProc.Identity AddAdditionalResponse = $calendarProc.AddAdditionalResponse @@ -248,8 +279,8 @@ function Get-TargetResource AutomateProcessing = $calendarProc.AutomateProcessing BookingType = $calendarProc.BookingType BookingWindowInDays = $calendarProc.BookingWindowInDays - BookInPolicy = $calendarProc.BookInPolicy - ConflictPercentageAllowed = [Array]$calendarProc.ConflictPercentageAllowed + BookInPolicy = [Array]$calendarProc.BookInPolicy + ConflictPercentageAllowed = $calendarProc.ConflictPercentageAllowed DeleteAttachments = $calendarProc.DeleteAttachments DeleteComments = $calendarProc.DeleteComments DeleteNonCalendarItems = $calendarProc.DeleteNonCalendarItems @@ -269,19 +300,19 @@ function Get-TargetResource RemoveForwardedMeetingNotifications = $calendarProc.RemoveForwardedMeetingNotifications RemoveOldMeetingMessages = $calendarProc.RemoveOldMeetingMessages RemovePrivateProperty = $calendarProc.RemovePrivateProperty - RequestInPolicy = [Array]$calendarProc.RequestInPolicy - RequestOutOfPolicy = [Array]$calendarProc.RequestOutOfPolicy - ResourceDelegates = [Array]$calendarProc.ResourceDelegates + RequestInPolicy = $RequestInPolicyValue + RequestOutOfPolicy = $RequestOutOfPolicyValue + ResourceDelegates = $ResourceDelegatesValue ScheduleOnlyDuringWorkHours = $calendarProc.ScheduleOnlyDuringWorkHours TentativePendingApproval = $calendarProc.TentativePendingApproval - Ensure = 'Present' - Credential = $Credential - ApplicationId = $ApplicationId - CertificateThumbprint = $CertificateThumbprint - CertificatePath = $CertificatePath - CertificatePassword = $CertificatePassword - Managedidentity = $ManagedIdentity.IsPresent - TenantId = $TenantId + Ensure = 'Present' + Credential = $Credential + ApplicationId = $ApplicationId + CertificateThumbprint = $CertificateThumbprint + CertificatePath = $CertificatePath + CertificatePassword = $CertificatePassword + Managedidentity = $ManagedIdentity.IsPresent + TenantId = $TenantId } Write-Verbose -Message "Found Availability Config for $($OrgWideAccount)" @@ -306,7 +337,162 @@ function Set-TargetResource ( [Parameter(Mandatory = $true)] [System.String] - $OrgWideAccount, + $Identity, + + [Parameter()] + [System.Boolean] + $AddAdditionalResponse, + + [Parameter()] + [System.String] + $AdditionalResponse, + + [Parameter()] + [System.Boolean] + $AddNewRequestsTentatively, + + [Parameter()] + [System.Boolean] + $AddOrganizerToSubject, + + [Parameter()] + [System.Boolean] + $AllBookInPolicy, + + [Parameter()] + [System.Boolean] + $AllowConflicts, + + [Parameter()] + [System.Boolean] + $AllowRecurringMeetings, + + [Parameter()] + [System.Boolean] + $AllRequestInPolicy, + + [Parameter()] + [System.Boolean] + $AllRequestOutOfPolicy, + + [Parameter()] + [ValidateSet("None", "AutoUpdate", "AutoAccept")] + [System.String] + $AutomateProcessing, + + [Parameter()] + [ValidateSet("Standard", "Reserved")] + [System.String] + $BookingType, + + [Parameter()] + [ValidateRange(0,1080)] + [System.UInt32] + $BookingWindowInDays = 180, + + [Parameter()] + [System.String[]] + $BookInPolicy, + + [Parameter()] + [System.UInt32] + $ConflictPercentageAllowed, + + [Parameter()] + [System.Boolean] + $DeleteAttachments, + + [Parameter()] + [System.Boolean] + $DeleteComments, + + [Parameter()] + [System.Boolean] + $DeleteNonCalendarItems, + + [Parameter()] + [System.Boolean] + $DeleteSubject, + + [Parameter()] + [System.Boolean] + $EnableAutoRelease, + + [Parameter()] + [System.Boolean] + $EnableResponseDetails, + + [Parameter()] + [System.Boolean] + $EnforceCapacity, + + [Parameter()] + [System.Boolean] + $EnforceSchedulingHorizon, + + [Parameter()] + [System.Boolean] + $ForwardRequestsToDelegates, + + [Parameter()] + [System.UInt32] + $MaximumConflictInstances, + + [Parameter()] + [System.UInt32] + $MaximumDurationInMinutes, + + [Parameter()] + [System.UInt32] + $MinimumDurationInMinutes, + + [Parameter()] + [System.Boolean] + $OrganizerInfo, + + [Parameter()] + [System.UInt32] + $PostReservationMaxClaimTimeInMinutes, + + [Parameter()] + [System.Boolean] + $ProcessExternalMeetingMessages, + + [Parameter()] + [System.Boolean] + $RemoveCanceledMeetings, + + [Parameter()] + [System.Boolean] + $RemoveForwardedMeetingNotifications, + + [Parameter()] + [System.Boolean] + $RemoveOldMeetingMessages, + + [Parameter()] + [System.Boolean] + $RemovePrivateProperty, + + [Parameter()] + [System.String[]] + $RequestInPolicy, + + [Parameter()] + [System.String[]] + $RequestOutOfPolicy, + + [Parameter()] + [System.String[]] + $ResourceDelegates, + + [Parameter()] + [System.Boolean] + $ScheduleOnlyDuringWorkHours, + + [Parameter()] + [System.Boolean] + $TentativePendingApproval, [Parameter()] [ValidateSet('Present', 'Absent')] @@ -353,31 +539,50 @@ function Set-TargetResource -Parameters $PSBoundParameters Add-M365DSCTelemetryEvent -Data $data #endregion - Write-Verbose -Message "Setting configuration of Availability Config for account $OrgWideAccount" - $currentAvailabilityConfig = Get-TargetResource @PSBoundParameters + $currentValues = Get-TargetResource @PSBoundParameters - $ConnectionMode = New-M365DSCConnection -Workload 'ExchangeOnline' ` - -InboundParameters $PSBoundParameters - - # CASE: Availability Config doesn't exist but should; - if ($Ensure -eq 'Present' -and $currentAvailabilityConfig.Ensure -eq 'Absent') + if ($null -ne $currentValues) { - Write-Verbose -Message "Availability Config '$($OrgWideAccount)' does not exist but it should. Create it." - New-AvailabilityConfig -OrgWideAccount $OrgWideAccount + Write-Verbose -Message "Setting configuration of Calendar Processing for $Identity" } - # CASE: Availability Config exists but it shouldn't; - elseif ($Ensure -eq 'Absent' -and $currentAvailabilityConfig.Ensure -eq 'Present') + else { - Write-Verbose -Message "Availability Config '$($OrgWideAccount)' exists but it shouldn't. Remove it." - Remove-AvailabilityConfig -Confirm:$false + return } - # CASE: Availability Config exists and it should, but has different values than the desired ones - elseif ($Ensure -eq 'Present' -and $currentAvailabilityConfig.Ensure -eq 'Present') + + $ConnectionMode = New-M365DSCConnection -Workload 'ExchangeOnline' ` + -InboundParameters $PSBoundParameters + + $UpdateParameters = ([Hashtable]$PSBoundParameters).Clone() + $UpdateParameters.Remove("Ensure") | Out-Null + $UpdateParameters.Remove("Credential") | Out-Null + $UpdateParameters.Remove("ApplicationId") | Out-Null + $UpdateParameters.Remove("TenantId") | Out-Null + $UpdateParameters.Remove("CertificateThumbprint") | Out-Null + $UpdateParameters.Remove("ApplicationSecret") | Out-Null + $UpdateParameters.Remove("CertificatePath") | Out-Null + $UpdateParameters.Remove("CertificatePassword") | Out-Null + $UpdateParameters.Remove("ManagedIdentity") | Out-Null + + # Some parameters can only be applied to Resource Mailboxes + if ($UpdateParameters.ContainsKey('AddNewRequestsTentatively')) { - Write-Verbose -Message "Availability Config '$($OrgWideAccount)' already exists, but needs updating." - Set-AvailabilityConfig -OrgWideAccount $OrgWideAccount -Confirm:$false + $mailbox = Get-Mailbox $UpdateParameters.Identity + if ($mailbox.RecipientTypeDetails -ne 'EquipmentMailbox' -and $mailbox.RecipientTypeDetails -ne 'RoomMailbox') + { + Write-Verbose -Message "Removing the AddNewRequestsTentatively parameter because the mailbox is not a resource one." + $UpdateParameters.Remove("AddNewRequestsTentatively") | Out-Null + + Write-Verbose -Message "Removing the BookingType parameter because the mailbox is not a resource one." + $UpdateParameters.Remove("BookingType") | Out-Null + + Write-Verbose -Message "Removing the ProcessExternalMeetingMessages parameter because the mailbox is not a resource one." + $UpdateParameters.Remove("ProcessExternalMeetingMessages") | Out-Null + } } + + Set-CalendarProcessing @UpdateParameters } function Test-TargetResource @@ -388,7 +593,162 @@ function Test-TargetResource ( [Parameter(Mandatory = $true)] [System.String] - $OrgWideAccount, + $Identity, + + [Parameter()] + [System.Boolean] + $AddAdditionalResponse, + + [Parameter()] + [System.String] + $AdditionalResponse, + + [Parameter()] + [System.Boolean] + $AddNewRequestsTentatively, + + [Parameter()] + [System.Boolean] + $AddOrganizerToSubject, + + [Parameter()] + [System.Boolean] + $AllBookInPolicy, + + [Parameter()] + [System.Boolean] + $AllowConflicts, + + [Parameter()] + [System.Boolean] + $AllowRecurringMeetings, + + [Parameter()] + [System.Boolean] + $AllRequestInPolicy, + + [Parameter()] + [System.Boolean] + $AllRequestOutOfPolicy, + + [Parameter()] + [ValidateSet("None", "AutoUpdate", "AutoAccept")] + [System.String] + $AutomateProcessing, + + [Parameter()] + [ValidateSet("Standard", "Reserved")] + [System.String] + $BookingType, + + [Parameter()] + [ValidateRange(0,1080)] + [System.UInt32] + $BookingWindowInDays = 180, + + [Parameter()] + [System.String[]] + $BookInPolicy, + + [Parameter()] + [System.UInt32] + $ConflictPercentageAllowed, + + [Parameter()] + [System.Boolean] + $DeleteAttachments, + + [Parameter()] + [System.Boolean] + $DeleteComments, + + [Parameter()] + [System.Boolean] + $DeleteNonCalendarItems, + + [Parameter()] + [System.Boolean] + $DeleteSubject, + + [Parameter()] + [System.Boolean] + $EnableAutoRelease, + + [Parameter()] + [System.Boolean] + $EnableResponseDetails, + + [Parameter()] + [System.Boolean] + $EnforceCapacity, + + [Parameter()] + [System.Boolean] + $EnforceSchedulingHorizon, + + [Parameter()] + [System.Boolean] + $ForwardRequestsToDelegates, + + [Parameter()] + [System.UInt32] + $MaximumConflictInstances, + + [Parameter()] + [System.UInt32] + $MaximumDurationInMinutes, + + [Parameter()] + [System.UInt32] + $MinimumDurationInMinutes, + + [Parameter()] + [System.Boolean] + $OrganizerInfo, + + [Parameter()] + [System.UInt32] + $PostReservationMaxClaimTimeInMinutes, + + [Parameter()] + [System.Boolean] + $ProcessExternalMeetingMessages, + + [Parameter()] + [System.Boolean] + $RemoveCanceledMeetings, + + [Parameter()] + [System.Boolean] + $RemoveForwardedMeetingNotifications, + + [Parameter()] + [System.Boolean] + $RemoveOldMeetingMessages, + + [Parameter()] + [System.Boolean] + $RemovePrivateProperty, + + [Parameter()] + [System.String[]] + $RequestInPolicy, + + [Parameter()] + [System.String[]] + $RequestOutOfPolicy, + + [Parameter()] + [System.String[]] + $ResourceDelegates, + + [Parameter()] + [System.Boolean] + $ScheduleOnlyDuringWorkHours, + + [Parameter()] + [System.Boolean] + $TentativePendingApproval, [Parameter()] [ValidateSet('Present', 'Absent')] @@ -515,9 +875,15 @@ function Export-TargetResource Write-Host $Global:M365DSCEmojiGreenCheckMark return '' } + else + { + Write-Host "`r`n" -NoNewline + } + $i = 1 foreach ($mailbox in $mailboxes) { + Write-Host " |---[$i/$($mailboxes.Count)] $($mailbox.Identity.Split('-')[0])" -NoNewline $Params = @{ Identity = $mailbox.UserPrincipalName Credential = $Credential @@ -541,6 +907,7 @@ function Export-TargetResource Save-M365DSCPartialExport -Content $currentDSCBlock ` -FileName $Global:PartialExportFileName Write-Host $Global:M365DSCEmojiGreenCheckMark + $i++ } diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/MSFT_EXOCalendarProcessing.schema.mof b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/MSFT_EXOCalendarProcessing.schema.mof index b95c945801..e6a16198d6 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/MSFT_EXOCalendarProcessing.schema.mof +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/MSFT_EXOCalendarProcessing.schema.mof @@ -3,14 +3,14 @@ class MSFT_EXOCalendarProcessing : OMI_BaseResource { [Key, Description("The Identity parameter specifies the resource mailbox that you want to view. You can use any value that uniquely identifies the mailbox.")] String Identity; [Write, Description("The AddAdditionalResponse parameter specifies whether additional information (the value of the AdditionalResponse parameter) is added to meeting request responses")] Boolean AddAdditionalResponse; - [Write, Description("The AdditionalResponse parameter specifies the additional information to be included in responses to meeting requests when the value of the AddAdditionalResponse parameter is $true. If the value contains spaces, enclose the value in quotation marks.")] String AdditionalResponse, - [Write, Description("The AddNewRequestsTentatively parameter specifies whether new meeting requests are added to the calendar as tentative")] Boolean AddNewRequestsTentatively, - [Write, Description("The AddOrganizerToSubject parameter specifies whether the meeting organizer's name is used as the subject of the meeting request.")] Boolean AddOrganizerToSubject, - [Write, Description("The AllBookInPolicy parameter specifies whether to automatically approve in-policy requests from all users to the resource mailbox.")] Boolean AllBookInPolicy, - [Write, Description("The AllowConflicts parameter specifies whether to allow conflicting meeting requests.")] Boolean AllowConflicts, - [Write, Description("The AllowRecurringMeetings parameter specifies whether to allow recurring meetings in meeting requests.")] Boolean AllowRecurringMeetings, - [Write, Description("The AllRequestInPolicy parameter specifies whether to allow all users to submit in-policy requests to the resource mailbox.")] Boolean AllRequestInPolicy, - [Write, Description("The AllRequestOutOfPolicy parameter specifies whether to allow all users to submit out-of-policy requests to the resource mailbox.")] Boolean AllRequestOutOfPolicy, + [Write, Description("The AdditionalResponse parameter specifies the additional information to be included in responses to meeting requests when the value of the AddAdditionalResponse parameter is $true. If the value contains spaces, enclose the value in quotation marks.")] String AdditionalResponse; + [Write, Description("The AddNewRequestsTentatively parameter specifies whether new meeting requests are added to the calendar as tentative")] Boolean AddNewRequestsTentatively; + [Write, Description("The AddOrganizerToSubject parameter specifies whether the meeting organizer's name is used as the subject of the meeting request.")] Boolean AddOrganizerToSubject; + [Write, Description("The AllBookInPolicy parameter specifies whether to automatically approve in-policy requests from all users to the resource mailbox.")] Boolean AllBookInPolicy; + [Write, Description("The AllowConflicts parameter specifies whether to allow conflicting meeting requests.")] Boolean AllowConflicts; + [Write, Description("The AllowRecurringMeetings parameter specifies whether to allow recurring meetings in meeting requests.")] Boolean AllowRecurringMeetings; + [Write, Description("The AllRequestInPolicy parameter specifies whether to allow all users to submit in-policy requests to the resource mailbox.")] Boolean AllRequestInPolicy; + [Write, Description("The AllRequestOutOfPolicy parameter specifies whether to allow all users to submit out-of-policy requests to the resource mailbox.")] Boolean AllRequestOutOfPolicy; [Write, Description("The AutomateProcessing parameter enables or disables calendar processing on the mailbox."), ValueMap{"None","AutoUpdate","AutoAccept"}, Values{"None","AutoUpdate","AutoAccept"}] String AutomateProcessing; [Write, Description("The BookingType parameter specifies how reservations work on the resource mailbox."), ValueMap{"Standard","Reserved"}, Values{"Standard","Reserved"}] String BookingType; [Write, Description("The BookingWindowInDays parameter specifies the maximum number of days in advance that the resource can be reserved. A valid value is an integer from 0 through 1080. The default value is 180 days. The value 0 means today.")] UInt32 BookingWindowInDays; @@ -22,7 +22,7 @@ class MSFT_EXOCalendarProcessing : OMI_BaseResource [Write, Description("The DeleteSubject parameter specifies whether to remove or keep the subject of incoming meeting requests. ")] Boolean DeleteSubject; [Write, Description("N/A")] Boolean EnableAutoRelease; [Write, Description("The EnableResponseDetails parameter specifies whether to include the reasons for accepting or declining a meeting in the response email message.")] Boolean EnableResponseDetails; - [Write, Description("The EnforceCapacity parameter specifies whether to restrict the number of attendees to the capacity of the workspace. For example, if capacity is set to 10, then only 10 people can book the workspace. ")] Boolean EnforceCapacity; + [Write, Description("The EnforceCapacity parameter specifies whether to restrict the number of attendees to the capacity of the workspace. For example, if capacity is set to 10, then only 10 people can book the workspace.")] Boolean EnforceCapacity; [Write, Description("The EnforceSchedulingHorizon parameter controls the behavior of recurring meetings that extend beyond the date specified by the BookingWindowInDays parameter.")] Boolean EnforceSchedulingHorizon; [Write, Description("The ForwardRequestsToDelegates parameter specifies whether to forward incoming meeting requests to the delegates that are configured for the resource mailbox.")] Boolean ForwardRequestsToDelegates; [Write, Description("The MaximumConflictInstances parameter specifies the maximum number of conflicts for new recurring meeting requests when the AllowRecurringMeetings parameter is set to $true. A valid value is an integer from 0 through INT32 (2147483647). The default value is 0.")] UInt32 MaximumConflictInstances; diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/readme.md b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/readme.md index 836a5e8222..ff85c4d1ca 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/readme.md +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/readme.md @@ -1,5 +1,5 @@ -# EXOAvailabilityConfig +# EXOCalendarProcessing ## Description -This resource configures the Availability Config in Exchange Online. +This resource configures the Calendar Processing settings Exchange Online. diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/settings.json b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/settings.json index 85fbff82d4..7fc3b9d5d9 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/settings.json +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOCalendarProcessing/settings.json @@ -1,5 +1,5 @@ { - "resourceName": "EXOAvailabilityConfig", + "resourceName": "EXOCalendarProcessing", "description": "", "roles": { "read": [ @@ -22,12 +22,13 @@ }, "exchange": { "requiredroles": [ - "Federated Sharing", - "Organization Configuration", - "Mail Tips", - "Message Tracking" + "Organization Management", + "Recipient Management" ], - "requiredrolegroups": "Organization Management" + "requiredrolegroups": [ + "Organization Management", + "Help Desk" + ] } } } diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOCalendarProcessing/1-ConfigureCalendarProcessing.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOCalendarProcessing/1-ConfigureCalendarProcessing.ps1 index 5058f07ff2..8dd79a6a6e 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOCalendarProcessing/1-ConfigureCalendarProcessing.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOCalendarProcessing/1-ConfigureCalendarProcessing.ps1 @@ -9,17 +9,53 @@ Configuration Example ( [Parameter(Mandatory = $true)] [PSCredential] - $credsGlobalAdmin + $credsCredential ) Import-DscResource -ModuleName Microsoft365DSC node localhost { - EXOAvailabilityConfig 'ConfigureAvailabilityConfig' + EXOCalendarProcessing "CalendarProcessing" { - OrgWideAccount = "admin@contoso.onmicrosoft.com" - Ensure = "Present" - Credential = $credsGlobalAdmin + AddAdditionalResponse = $False; + AddNewRequestsTentatively = $True; + AddOrganizerToSubject = $True; + AllBookInPolicy = $True; + AllowConflicts = $False; + AllowRecurringMeetings = $True; + AllRequestInPolicy = $False; + AllRequestOutOfPolicy = $False; + AutomateProcessing = "AutoUpdate"; + BookingType = "Standard"; + BookingWindowInDays = 180; + BookInPolicy = @(); + ConflictPercentageAllowed = 0; + Credential = $credsCredential; + DeleteAttachments = $True; + DeleteComments = $True; + DeleteNonCalendarItems = $True; + DeleteSubject = $True; + EnableAutoRelease = $False; + EnableResponseDetails = $True; + EnforceCapacity = $False; + EnforceSchedulingHorizon = $True; + Ensure = "Present"; + ForwardRequestsToDelegates = $True; + Identity = "John.Smith"; + MaximumConflictInstances = 0; + MaximumDurationInMinutes = 1440; + MinimumDurationInMinutes = 0; + OrganizerInfo = $True; + PostReservationMaxClaimTimeInMinutes = 10; + ProcessExternalMeetingMessages = $False; + RemoveCanceledMeetings = $False; + RemoveForwardedMeetingNotifications = $False; + RemoveOldMeetingMessages = $False; + RemovePrivateProperty = $True; + RequestInPolicy = @("Bob.Houle@$OrganizationName"); + ResourceDelegates = @(); + ScheduleOnlyDuringWorkHours = $False; + TentativePendingApproval = $True; } } } diff --git a/Tests/Unit/Microsoft365DSC/Microsoft365DSC.EXOCalendarProcessing.Tests.ps1 b/Tests/Unit/Microsoft365DSC/Microsoft365DSC.EXOCalendarProcessing.Tests.ps1 index 21f2a299cb..1e462b4268 100644 --- a/Tests/Unit/Microsoft365DSC/Microsoft365DSC.EXOCalendarProcessing.Tests.ps1 +++ b/Tests/Unit/Microsoft365DSC/Microsoft365DSC.EXOCalendarProcessing.Tests.ps1 @@ -15,7 +15,7 @@ Import-Module -Name (Join-Path -Path $M365DSCTestFolder ` -Resolve) $Global:DscHelper = New-M365DscUnitTestHelper -StubModule $CmdletModule ` - -DscResource 'EXOAvailabilityConfig' -GenericStubModule $GenericStubPath + -DscResource 'EXOCalendarProcessing' -GenericStubModule $GenericStubPath Describe -Name $Global:DscHelper.DescribeHeader -Fixture { InModuleScope -ModuleName $Global:DscHelper.ModuleName -ScriptBlock { Invoke-Command -ScriptBlock $Global:DscHelper.InitializeScript -NoNewScope @@ -40,28 +40,103 @@ Describe -Name $Global:DscHelper.DescribeHeader -Fixture { # Mock Write-Host to hide output during the tests Mock -CommandName Write-Host -MockWith { } + + Mock -CommandName Set-CalendarProcessing -MockWith { + return $null + } + + Mock -CommandName Get-User -MockWith { + return @{ + Id = '12345-12345-12345-12345-12345' + UserPrincipalName = "Bob.Houle@contoso.com" + } + } } # Test contexts - Context -Name 'AvailabilityConfig should exist. OrgWideAccount is missing. Test should fail.' -Fixture { + Context -Name 'Settings are not in the desired state' -Fixture { BeforeAll { $testParams = @{ - OrgWideAccount = 'johndoe' - Ensure = 'Present' - Credential = $Credential - } - - Mock -CommandName Get-AvailabilityConfig -MockWith { - return @{ - OrgWideAccount = 'meganb' - } + AddAdditionalResponse = $False; + AddNewRequestsTentatively = $True; + AddOrganizerToSubject = $True; + AllBookInPolicy = $True; + AllowConflicts = $False; + AllowRecurringMeetings = $True; + AllRequestInPolicy = $False; + AllRequestOutOfPolicy = $False; + AutomateProcessing = "AutoUpdate"; + BookingType = "Standard"; + BookingWindowInDays = 180; + BookInPolicy = @(); + ConflictPercentageAllowed = 0; + Credential = $Credential; + DeleteAttachments = $True; + DeleteComments = $True; + DeleteNonCalendarItems = $True; + DeleteSubject = $True; + EnableAutoRelease = $False; + EnableResponseDetails = $True; + EnforceCapacity = $False; + EnforceSchedulingHorizon = $True; + Ensure = "Present"; + ForwardRequestsToDelegates = $True; + Identity = "John.Smith"; + MaximumConflictInstances = 0; + MaximumDurationInMinutes = 1440; + MinimumDurationInMinutes = 0; + OrganizerInfo = $True; + PostReservationMaxClaimTimeInMinutes = 10; + ProcessExternalMeetingMessages = $False; + RemoveCanceledMeetings = $False; + RemoveForwardedMeetingNotifications = $False; + RemoveOldMeetingMessages = $False; + RemovePrivateProperty = $True; + RequestInPolicy = @("Bob.Houle@contoso.com"); + ResourceDelegates = @(); + ScheduleOnlyDuringWorkHours = $False; + TentativePendingApproval = $True; } - Mock -CommandName Set-AvailabilityConfig -MockWith { + Mock -CommandName Get-CalendarProcessing -MockWith { return @{ - OrgWideAccount = 'johndoe' - Ensure = 'Present' - Credential = $Credential + AddAdditionalResponse = $False; + AddNewRequestsTentatively = $True; + AddOrganizerToSubject = $True; + AllBookInPolicy = $True; + AllowConflicts = $False; + AllowRecurringMeetings = $True; + AllRequestInPolicy = $False; + AllRequestOutOfPolicy = $True; # Drift + AutomateProcessing = "AutoUpdate"; + BookingType = "Standard"; + BookingWindowInDays = 180; + BookInPolicy = @(); + ConflictPercentageAllowed = 0; + DeleteAttachments = $True; + DeleteComments = $True; + DeleteNonCalendarItems = $True; + DeleteSubject = $True; + EnableAutoRelease = $False; + EnableResponseDetails = $True; + EnforceCapacity = $False; + EnforceSchedulingHorizon = $True; + ForwardRequestsToDelegates = $True; + Identity = "John.Smith"; + MaximumConflictInstances = 0; + MaximumDurationInMinutes = 1440; + MinimumDurationInMinutes = 0; + OrganizerInfo = $True; + PostReservationMaxClaimTimeInMinutes = 10; + ProcessExternalMeetingMessages = $False; + RemoveCanceledMeetings = $False; + RemoveForwardedMeetingNotifications = $False; + RemoveOldMeetingMessages = $False; + RemovePrivateProperty = $True; + RequestInPolicy = @('12345-12345-12345-12345-12345'); + ResourceDelegates = @(); + ScheduleOnlyDuringWorkHours = $False; + TentativePendingApproval = $True; } } } @@ -72,54 +147,165 @@ Describe -Name $Global:DscHelper.DescribeHeader -Fixture { It 'Should call the Set method' { Set-TargetResource @testParams + Should -Invoke -CommandName Set-CalendarProcessing -Exactly 1 } - It 'Should return Absent from the Get method' { - (Get-TargetResource @testParams).Ensure | Should -Be 'Absent' + It 'Should return Present from the Get method' { + (Get-TargetResource @testParams).Ensure | Should -Be 'Present' } } - Context -Name "AvailabilityConfig doesn't exist." -Fixture { + Context -Name 'Settings are already in the desired state' -Fixture { BeforeAll { $testParams = @{ - OrgWideAccount = 'johndoe' - Ensure = 'Absent' - Credential = $Credential + AddAdditionalResponse = $False; + AddNewRequestsTentatively = $True; + AddOrganizerToSubject = $True; + AllBookInPolicy = $True; + AllowConflicts = $False; + AllowRecurringMeetings = $True; + AllRequestInPolicy = $False; + AllRequestOutOfPolicy = $False; + AutomateProcessing = "AutoUpdate"; + BookingType = "Standard"; + BookingWindowInDays = 180; + BookInPolicy = @(); + ConflictPercentageAllowed = 0; + Credential = $Credential; + DeleteAttachments = $True; + DeleteComments = $True; + DeleteNonCalendarItems = $True; + DeleteSubject = $True; + EnableAutoRelease = $False; + EnableResponseDetails = $True; + EnforceCapacity = $False; + EnforceSchedulingHorizon = $True; + Ensure = "Present"; + ForwardRequestsToDelegates = $True; + Identity = "John.Smith"; + MaximumConflictInstances = 0; + MaximumDurationInMinutes = 1440; + MinimumDurationInMinutes = 0; + OrganizerInfo = $True; + PostReservationMaxClaimTimeInMinutes = 10; + ProcessExternalMeetingMessages = $False; + RemoveCanceledMeetings = $False; + RemoveForwardedMeetingNotifications = $False; + RemoveOldMeetingMessages = $False; + RemovePrivateProperty = $True; + RequestInPolicy = @("Bob.Houle@contoso.com"); + ResourceDelegates = @(); + ScheduleOnlyDuringWorkHours = $False; + TentativePendingApproval = $True; } - Mock -CommandName Get-AvailabilityConfig -MockWith { + Mock -CommandName Get-CalendarProcessing -MockWith { return @{ - OrgWideAccount = 'meganb' + AddAdditionalResponse = $False; + AddNewRequestsTentatively = $True; + AddOrganizerToSubject = $True; + AllBookInPolicy = $True; + AllowConflicts = $False; + AllowRecurringMeetings = $True; + AllRequestInPolicy = $False; + AllRequestOutOfPolicy = $False; + AutomateProcessing = "AutoUpdate"; + BookingType = "Standard"; + BookingWindowInDays = 180; + BookInPolicy = @(); + ConflictPercentageAllowed = 0; + DeleteAttachments = $True; + DeleteComments = $True; + DeleteNonCalendarItems = $True; + DeleteSubject = $True; + EnableAutoRelease = $False; + EnableResponseDetails = $True; + EnforceCapacity = $False; + EnforceSchedulingHorizon = $True; + ForwardRequestsToDelegates = $True; + Identity = "John.Smith"; + MaximumConflictInstances = 0; + MaximumDurationInMinutes = 1440; + MinimumDurationInMinutes = 0; + OrganizerInfo = $True; + PostReservationMaxClaimTimeInMinutes = 10; + ProcessExternalMeetingMessages = $False; + RemoveCanceledMeetings = $False; + RemoveForwardedMeetingNotifications = $False; + RemoveOldMeetingMessages = $False; + RemovePrivateProperty = $True; + RequestInPolicy = @('12345-12345-12345-12345-12345'); + ResourceDelegates = @(); + ScheduleOnlyDuringWorkHours = $False; + TentativePendingApproval = $True; } } } - It 'Should return Absent from the Get method' { - (Get-TargetResource @testParams).Ensure | Should -Be 'Absent' + It 'Should return false from the Test method' { + Test-TargetResource @testParams | Should -Be $true + } + + It 'Should return Present from the Get method' { + (Get-TargetResource @testParams).Ensure | Should -Be 'Present' } } - Context -Name 'AvailabilityConfig should exist. AvailabilityConfig exists. Test should pass.' -Fixture { + Context -Name "User doesn't exist" -Fixture { BeforeAll { $testParams = @{ - OrgWideAccount = 'johndoe' - Ensure = 'Present' - Credential = $Credential + AddAdditionalResponse = $False; + AddNewRequestsTentatively = $True; + AddOrganizerToSubject = $True; + AllBookInPolicy = $True; + AllowConflicts = $False; + AllowRecurringMeetings = $True; + AllRequestInPolicy = $False; + AllRequestOutOfPolicy = $False; + AutomateProcessing = "AutoUpdate"; + BookingType = "Standard"; + BookingWindowInDays = 180; + BookInPolicy = @(); + ConflictPercentageAllowed = 0; + Credential = $Credential; + DeleteAttachments = $True; + DeleteComments = $True; + DeleteNonCalendarItems = $True; + DeleteSubject = $True; + EnableAutoRelease = $False; + EnableResponseDetails = $True; + EnforceCapacity = $False; + EnforceSchedulingHorizon = $True; + Ensure = "Present"; + ForwardRequestsToDelegates = $True; + Identity = "John.Smith"; + MaximumConflictInstances = 0; + MaximumDurationInMinutes = 1440; + MinimumDurationInMinutes = 0; + OrganizerInfo = $True; + PostReservationMaxClaimTimeInMinutes = 10; + ProcessExternalMeetingMessages = $False; + RemoveCanceledMeetings = $False; + RemoveForwardedMeetingNotifications = $False; + RemoveOldMeetingMessages = $False; + RemovePrivateProperty = $True; + RequestInPolicy = @("Bob.Houle@contoso.com"); + ResourceDelegates = @(); + ScheduleOnlyDuringWorkHours = $False; + TentativePendingApproval = $True; } - Mock -CommandName Get-AvailabilityConfig -MockWith { - return @{ - OrgWideAccount = 'johndoe' - } + Mock -CommandName Get-CalendarProcessing -MockWith { + return $null } } - It 'Should return true from the Test method' { - Test-TargetResource @testParams | Should -Be $true + It 'Should return false from the Test method' { + Test-TargetResource @testParams | Should -Be $false } - It 'Should return Present from the Get Method' { - (Get-TargetResource @testParams).Ensure | Should -Be 'Present' + It 'Should return Absent from the Get method' { + (Get-TargetResource @testParams).Ensure | Should -Be 'Absent' } } @@ -130,15 +316,59 @@ Describe -Name $Global:DscHelper.DescribeHeader -Fixture { $testParams = @{ Credential = $Credential } - - $AvailabilityConfig = @{ - OrgWideAccount = 'johndoe' + Mock -CommandName Get-CalendarProcessing -MockWith { + return @{ + AddAdditionalResponse = $False; + AddNewRequestsTentatively = $True; + AddOrganizerToSubject = $True; + AllBookInPolicy = $True; + AllowConflicts = $False; + AllowRecurringMeetings = $True; + AllRequestInPolicy = $False; + AllRequestOutOfPolicy = $False; + AutomateProcessing = "AutoUpdate"; + BookingType = "Standard"; + BookingWindowInDays = 180; + BookInPolicy = @(); + ConflictPercentageAllowed = 0; + DeleteAttachments = $True; + DeleteComments = $True; + DeleteNonCalendarItems = $True; + DeleteSubject = $True; + EnableAutoRelease = $False; + EnableResponseDetails = $True; + EnforceCapacity = $False; + EnforceSchedulingHorizon = $True; + ForwardRequestsToDelegates = $True; + Identity = "John.Smith"; + MaximumConflictInstances = 0; + MaximumDurationInMinutes = 1440; + MinimumDurationInMinutes = 0; + OrganizerInfo = $True; + PostReservationMaxClaimTimeInMinutes = 10; + ProcessExternalMeetingMessages = $False; + RemoveCanceledMeetings = $False; + RemoveForwardedMeetingNotifications = $False; + RemoveOldMeetingMessages = $False; + RemovePrivateProperty = $True; + RequestInPolicy = @('12345-12345-12345-12345-12345'); + ResourceDelegates = @(); + ScheduleOnlyDuringWorkHours = $False; + TentativePendingApproval = $True; + } } - Mock -CommandName Get-AvailabilityConfig -MockWith { - return $AvailabilityConfig + + Mock -CommandName Get-Mailbox -MockWith { + return @( + @{ + Identity = 'Bob.Houle' + UserPrincipalName = 'Bob.Houle' + } + ) } } + It 'Should Reverse Engineer resource from the Export method' { $result = Export-TargetResource @testParams $result | Should -Not -BeNullOrEmpty diff --git a/Tests/Unit/Stubs/Microsoft365.psm1 b/Tests/Unit/Stubs/Microsoft365.psm1 index 5ae21ddbc4..6446adf855 100644 --- a/Tests/Unit/Stubs/Microsoft365.psm1 +++ b/Tests/Unit/Stubs/Microsoft365.psm1 @@ -63600,294 +63600,191 @@ function Set-MgUserLicense } #endregion #region ExchangeOnlineManagement -function Get-AdminAuditLogConfig -{ - [CmdletBinding()] - param( - - ) -} -function Get-AuditConfig -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $DomainController - ) -} -function Get-AuditConfigurationPolicy +function Add-AvailabilityAddressSpace { [CmdletBinding()] param( [Parameter()] - [System.Object] - $Identity, + [System.Management.Automation.PSCredential] + $Credentials, [Parameter()] - [System.Object] - $DomainController - ) -} -function Get-AutoSensitivityLabelPolicy -{ - [CmdletBinding()] - param( + [System.String] + $ForestName, + [Parameter()] - [System.Management.Automation.SwitchParameter] - $ForceValidate, + [System.Uri] + $TargetAutodiscoverEpr, [Parameter()] - [System.Boolean] - $IncludeTestModeResults, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] - [System.Object] - $Identity, + [System.String] + $TargetTenantId, [Parameter()] - [System.Management.Automation.SwitchParameter] - $IncludeProgressFeedback, + [System.String] + $TargetServiceEpr, [Parameter()] - [System.Management.Automation.SwitchParameter] - $DistributionDetail + [System.Object] + $AccessMethod ) } -function Get-AutoSensitivityLabelRule +function Disable-JournalRule { [CmdletBinding()] param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $ForceValidate, - [Parameter()] [System.Management.Automation.SwitchParameter] $Confirm, [Parameter()] [System.Object] - $Identity, - - [Parameter()] - [System.Boolean] - $IncludeExecutionRuleInformation, - - [Parameter()] - [System.Object] - $Policy, - - [Parameter()] - [System.Boolean] - $IncludeExecutionRuleGuids + $Identity ) } -function Get-CaseHoldPolicy +function Enable-JournalRule { [CmdletBinding()] param( [Parameter()] [System.Management.Automation.SwitchParameter] - $IncludeBindingsOnly, - - [Parameter()] - [System.String] - $Case, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $IncludeBindings, + $Confirm, [Parameter()] [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $DistributionDetail + $Identity ) } -function Get-CaseHoldRule +function Enable-OrganizationCustomization { [CmdletBinding()] param( [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $Policy + [System.Management.Automation.SwitchParameter] + $Confirm ) } -function Get-ComplianceCase +function Get-AcceptedDomain { [CmdletBinding()] param( - [Parameter()] - [System.Object] - $CaseType, - - [Parameter()] - [System.String] - $RoleGroup, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $RecentOnly, - [Parameter()] [System.Object] $Identity, [Parameter()] [System.Object] - $DomainController + $ResultSize ) } -function Get-ComplianceRetentionEvent +function Get-ActiveSyncDevice { [CmdletBinding()] param( + [Parameter()] + [System.String] + $SortBy, + [Parameter()] [System.Object] - $BeginDateTime, + $Mailbox, [Parameter()] [System.Object] - $Identity, + $OrganizationalUnit, [Parameter()] - [System.Management.Automation.SwitchParameter] - $PreviewOnly, + [System.String] + $Filter, [Parameter()] [System.Object] - $EndDateTime, + $Identity, [Parameter()] [System.Object] - $DomainController + $ResultSize ) } -function Get-ComplianceRetentionEventType +function Get-ActiveSyncDeviceAccessRule { [CmdletBinding()] param( [Parameter()] [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $LoadTag + $Identity ) } -function Get-ComplianceSearch +function Get-AddressBookPolicy { [CmdletBinding()] param( - [Parameter()] - [System.String] - $Case, - - [Parameter()] - [System.Object] - $Identity, - [Parameter()] [System.Object] - $ResultSize + $Identity ) } -function Get-ComplianceSearchAction +function Get-AddressList { [CmdletBinding()] param( [Parameter()] [System.String] - $Case, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Purge, + $SearchText, [Parameter()] [System.Object] $Identity, - [Parameter()] - [System.Management.Automation.SwitchParameter] - $IncludeCredential, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Details, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Export, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Preview, - [Parameter()] [System.Object] - $ResultSize + $Container ) } -function Get-ComplianceTag +function Get-AdminAuditLogConfig { [CmdletBinding()] param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $IncludingLabelState, - [Parameter()] - [System.Object] - $Identity ) } -function Get-DeviceConditionalAccessPolicy +function Get-AntiPhishPolicy { [CmdletBinding()] param( [Parameter()] [System.Object] - $Identity + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Spoof ) } -function Get-DeviceConfigurationPolicy +function Get-AntiPhishRule { [CmdletBinding()] param( [Parameter()] [System.Object] - $Identity + $Identity, + + [Parameter()] + [System.Object] + $State ) } -function Get-DlpCompliancePolicy +function Get-App { [CmdletBinding()] param( [Parameter()] - [System.Management.Automation.SwitchParameter] - $Summary, - - [Parameter()] - [System.Boolean] - $IncludeRulesMetadata, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $ForceValidate, - - [Parameter()] - [System.Boolean] - $IncludeExtendedProperties, + [System.Object] + $Mailbox, [Parameter()] [System.Object] @@ -63895,40 +63792,30 @@ function Get-DlpCompliancePolicy [Parameter()] [System.Management.Automation.SwitchParameter] - $IRMUserRiskConfiguredAnyRule, + $OrganizationApp, [Parameter()] [System.Management.Automation.SwitchParameter] - $DistributionDetail + $PrivateCatalog ) } -function Get-DlpComplianceRule +function Get-ApplicationAccessPolicy { [CmdletBinding()] param( [Parameter()] [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $Policy, - - [Parameter()] - [System.Boolean] - $IncludeExecutionRuleGuids + $Identity ) } -function Get-FilePlanPropertyAuthority +function Get-AuditConfig { [CmdletBinding()] param( - [Parameter()] - [System.Object] - $Identity + ) } -function Get-FilePlanPropertyCategory +function Get-AuditConfigurationPolicy { [CmdletBinding()] param( @@ -63937,7 +63824,7 @@ function Get-FilePlanPropertyCategory $Identity ) } -function Get-FilePlanPropertyCitation +function Get-AuthenticationPolicy { [CmdletBinding()] param( @@ -63946,7 +63833,7 @@ function Get-FilePlanPropertyCitation $Identity ) } -function Get-FilePlanPropertyDepartment +function Get-AvailabilityAddressSpace { [CmdletBinding()] param( @@ -63955,7 +63842,7 @@ function Get-FilePlanPropertyDepartment $Identity ) } -function Get-FilePlanPropertyReferenceId +function Get-AvailabilityConfig { [CmdletBinding()] param( @@ -63964,138 +63851,188 @@ function Get-FilePlanPropertyReferenceId $Identity ) } -function Get-FilePlanPropertySubCategory +function Get-CalendarProcessing { [CmdletBinding()] param( [Parameter()] [System.Object] - $Identity + $Identity, + + [Parameter()] + [System.Object] + $ResultSize ) } -function Get-Label +function Get-CASMailbox { [CmdletBinding()] param( [Parameter()] [System.Management.Automation.SwitchParameter] - $SkipValidations, + $RecalculateHasActiveSyncDevicePartnership, [Parameter()] - [System.Object] - $Identity, + [System.String] + $SortBy, [Parameter()] [System.Management.Automation.SwitchParameter] - $IncludeDetailedLabelActions - ) -} -function Get-LabelPolicy -{ - [CmdletBinding()] - param( + $ProtocolSettings, + [Parameter()] [System.Management.Automation.SwitchParameter] - $ForceValidate, + $ReadIsOptimizedForAccessibility, [Parameter()] - [System.Object] - $Identity - ) -} -function Get-ManagementRole -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $RoleType, + [System.Management.Automation.PSCredential] + $Credential, [Parameter()] - [System.String[]] - $CmdletParameters, + [System.Object] + $OrganizationalUnit, [Parameter()] - [System.String[]] - $ScriptParameters, + [System.Management.Automation.SwitchParameter] + $ActiveSyncDebugLogging, [Parameter()] [System.Object] $Identity, [Parameter()] - [System.String] - $Cmdlet, + [System.Management.Automation.SwitchParameter] + $IgnoreDefaultScope, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Recurse, + [System.Object[]] + $RecipientTypeDetails, + + [Parameter()] + [System.Object] + $ResultSize, [Parameter()] [System.String] - $Script, + $Filter, [Parameter()] [System.Management.Automation.SwitchParameter] - $GetChildren + $ActiveSyncSuppressReadReceipt, + + [Parameter()] + [System.String] + $Anr ) } -function Get-ProtectionAlert +function Get-CASMailboxPlan { [CmdletBinding()] param( + [Parameter()] + [System.String] + $SortBy, + + [Parameter()] + [System.Management.Automation.PSCredential] + $Credential, + [Parameter()] [System.Object] - $Identity + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $IgnoreDefaultScope, + + [Parameter()] + [System.Object] + $ResultSize, + + [Parameter()] + [System.String] + $Filter ) } -function Get-RetentionCompliancePolicy +function Get-ClientAccessRule { [CmdletBinding()] param( [Parameter()] [System.Management.Automation.SwitchParameter] - $IncludeTestModeResults, + $Confirm, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ExcludeTeamsPolicy, + [System.Object] + $Identity, + [Parameter()] + [System.Object] + $DomainController + ) +} +function Get-ComplianceTag +{ + [CmdletBinding()] + param( [Parameter()] [System.Management.Automation.SwitchParameter] - $RetentionRuleTypes, + $IncludingLabelState, + [Parameter()] + [System.Object] + $Identity + ) +} +function Get-DataClassification +{ + [CmdletBinding()] + param( [Parameter()] [System.Object] $Identity, + [Parameter()] + [System.Object] + $ClassificationRuleCollectionIdentity + ) +} +function Get-DataEncryptionPolicy +{ + [CmdletBinding()] + param( [Parameter()] [System.Management.Automation.SwitchParameter] - $ErrorPolicyOnly, + $Confirm, [Parameter()] - [System.Management.Automation.SwitchParameter] - $DistributionDetail, + [System.Object] + $Identity, [Parameter()] - [System.Management.Automation.SwitchParameter] - $TeamsPolicyOnly + [System.Object] + $DomainController ) } -function Get-RetentionComplianceRule +function Get-DeviceConditionalAccessPolicy { [CmdletBinding()] param( [Parameter()] [System.Object] - $Identity, - + $Identity + ) +} +function Get-DeviceConfigurationPolicy +{ + [CmdletBinding()] + param( [Parameter()] [System.Object] - $Policy + $Identity ) } -function Get-RoleGroup +function Get-DistributionGroup { [CmdletBinding()] param( @@ -64104,40 +64041,57 @@ function Get-RoleGroup $SortBy, [Parameter()] - [System.String] - $Filter, + [System.Management.Automation.PSCredential] + $Credential, + + [Parameter()] + [System.Object] + $OrganizationalUnit, [Parameter()] [System.Object] $Identity, + [Parameter()] + [System.Object[]] + $RecipientTypeDetails, + [Parameter()] [System.Object] - $Organization, + $ManagedBy, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ShowPartnerLinked, + [System.String] + $Filter, [Parameter()] [System.Object] - $ResultSize + $ResultSize, + + [Parameter()] + [System.String] + $Anr ) } -function Get-RoleGroupMember +function Get-DkimSigningConfig { [CmdletBinding()] param( [Parameter()] [System.Object] - $Identity, - + $Identity + ) +} +function Get-EmailAddressPolicy +{ + [CmdletBinding()] + param( [Parameter()] [System.Object] - $ResultSize + $Identity ) } -function Get-ServicePrincipal +function Get-GlobalAddressList { [CmdletBinding()] param( @@ -64145,12 +64099,30 @@ function Get-ServicePrincipal [System.Object] $Identity, + [Parameter()] + [System.Management.Automation.SwitchParameter] + $DefaultOnly + ) +} +function Get-HostedConnectionFilterPolicy +{ + [CmdletBinding()] + param( [Parameter()] [System.Object] - $Organization + $Identity + ) +} +function Get-HostedContentFilterPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $Identity ) } -function Get-SupervisoryReviewPolicy +function Get-HostedContentFilterRule { [CmdletBinding()] param( @@ -64160,10 +64132,10 @@ function Get-SupervisoryReviewPolicy [Parameter()] [System.Object] - $ResultSize + $State ) } -function Get-SupervisoryReviewPolicyV2 +function Get-HostedOutboundSpamFilterPolicy { [CmdletBinding()] param( @@ -64172,7 +64144,7 @@ function Get-SupervisoryReviewPolicyV2 $Identity ) } -function Get-SupervisoryReviewRule +function Get-HostedOutboundSpamFilterRule { [CmdletBinding()] param( @@ -64182,1195 +64154,1289 @@ function Get-SupervisoryReviewRule [Parameter()] [System.Object] - $Policy + $State ) } -function Get-User +function Get-InboundConnector { [CmdletBinding()] param( - [Parameter()] - [System.String] - $SortBy, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $PublicFolder, - [Parameter()] [System.Object] $Identity, - [Parameter()] - [System.Object[]] - $RecipientTypeDetails, - [Parameter()] [System.Object] - $ResultSize, - - [Parameter()] - [System.String] - $Filter + $ResultSize ) } -function New-AuditConfigurationPolicy +function Get-IntraOrganizationConnector { [CmdletBinding()] param( [Parameter()] [System.Object] - $Workload, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + $Identity + ) +} +function Get-IRMConfiguration +{ + [CmdletBinding()] + param( + ) +} +function Get-JournalRule +{ + [CmdletBinding()] + param( [Parameter()] [System.Object] - $DomainController + $Identity ) } -function New-AutoSensitivityLabelPolicy +function Get-Mailbox { [CmdletBinding()] param( [Parameter()] - [System.Object[]] - $OneDriveSharedBy, - - [Parameter()] - [System.Object] - $PolicyTemplateInfo, + [System.Management.Automation.SwitchParameter] + $ServiceSafetyConfiguration, [Parameter()] [System.String] - $Name, + $SortBy, [Parameter()] [System.Object] - $PolicyRBACScopes, + $Identity, [Parameter()] - [System.Object] - $ExchangeLocation, + [System.Management.Automation.SwitchParameter] + $InactiveMailboxOnly, [Parameter()] - [System.Object] - $SharePointLocation, + [System.Management.Automation.SwitchParameter] + $PublicFolder, [Parameter()] - [System.Object] - $Priority, + [System.String] + $Anr, [Parameter()] - [System.Object[]] - $ExchangeSenderException, + [System.Management.Automation.SwitchParameter] + $Archive, [Parameter()] - [System.Object[]] - $ExceptIfOneDriveSharedBy, + [System.Management.Automation.SwitchParameter] + $SoftDeletedMailbox, [Parameter()] [System.Object] - $OneDriveLocationException, + $ResultSize, [Parameter()] - [System.String] - $Comment, + [System.Object] + $MailboxPlan, [Parameter()] - [System.Boolean] - $UnifiedAuditLogEnabled, + [System.Object[]] + $RecipientTypeDetails, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Migration, [Parameter()] [System.String] - $ApplySensitivityLabel, + $Filter, [Parameter()] [System.Management.Automation.SwitchParameter] - $Confirm, + $GroupMailbox, [Parameter()] - [System.Object[]] - $ExchangeSender, + [System.Management.Automation.SwitchParameter] + $IncludeInactiveMailbox, [Parameter()] [System.Object] - $OneDriveLocation, + $OrganizationalUnit, [Parameter()] - [System.Object[]] - $ExchangeSenderMemberOf, + [System.Management.Automation.SwitchParameter] + $IncludeEmailAddressDisplayNames + ) +} +function Get-MailboxPlan +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $SortBy, [Parameter()] - [System.Object[]] - $ExchangeSenderMemberOfException, + [System.Management.Automation.PSCredential] + $Credential, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force, + [System.String] + $Filter, [Parameter()] - [System.Object] - $SharePointLocationException, + [System.Management.Automation.SwitchParameter] + $IgnoreDefaultScope, [Parameter()] [System.Object] - $Mode, + $ResultSize, [Parameter()] - [System.Boolean] - $OverwriteLabel, + [System.Object] + $Identity, [Parameter()] - [System.Object] - $ExternalMailRightsManagementOwner + [System.Management.Automation.SwitchParameter] + $AllMailboxPlanReleases ) } -function New-AutoSensitivityLabelRule +function Get-MailboxRegionalConfiguration { [CmdletBinding()] param( [Parameter()] - [System.Object[]] - $SentToMemberOf, + [System.Management.Automation.SwitchParameter] + $VerifyDefaultFolderNameLanguage, [Parameter()] - [System.Object] - $ExceptIfRecipientDomainIs, + [System.Management.Automation.SwitchParameter] + $UseCustomRouting, [Parameter()] - [System.Object[]] - $ExceptIfContentContainsSensitiveInformation, + [System.Management.Automation.SwitchParameter] + $Archive, [Parameter()] [System.Object] - $ExceptIfFromAddressContainsWords, + $Identity, [Parameter()] - [System.Boolean] - $ExceptIfProcessingLimitExceeded, + [System.Object] + $MailboxLocation + ) +} +function Get-MailContact +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $SortBy, [Parameter()] [System.Object] - $AnyOfRecipientAddressMatchesPatterns, + $OrganizationalUnit, [Parameter()] [System.Object] - $DocumentNameMatchesWords, + $Identity, [Parameter()] - [System.Object] - $ReportSeverityLevel, + [System.Object[]] + $RecipientTypeDetails, [Parameter()] [System.Object] - $ExceptIfSenderDomainIs, + $ResultSize, [Parameter()] - [System.Boolean] - $ProcessingLimitExceeded, + [System.String] + $Filter, + [Parameter()] + [System.String] + $Anr + ) +} +function Get-MalwareFilterPolicy +{ + [CmdletBinding()] + param( [Parameter()] [System.Object] - $ExceptIfAnyOfRecipientAddressContainsWords, - + $Identity + ) +} +function Get-MalwareFilterRule +{ + [CmdletBinding()] + param( [Parameter()] [System.Object] - $ExceptIfSenderIPRanges, + $Identity, [Parameter()] [System.Object] - $FromAddressMatchesPatterns, - + $State + ) +} +function Get-ManagementRole +{ + [CmdletBinding()] + param( [Parameter()] - [System.Object[]] - $ExceptIfFrom, + [System.Object] + $RoleType, [Parameter()] - [System.Boolean] - $DocumentIsPasswordProtected, + [System.String[]] + $CmdletParameters, [Parameter()] - [System.Object] - $ExceptIfSubjectMatchesPatterns, + [System.String[]] + $ScriptParameters, [Parameter()] [System.Object] - $ContentExtensionMatchesWords, + $Identity, [Parameter()] - [System.Object] - $ImmutableId, + [System.String] + $Cmdlet, [Parameter()] - [System.Object] - $AnyOfRecipientAddressContainsWords, + [System.Management.Automation.SwitchParameter] + $Recurse, [Parameter()] - [System.Object[]] - $ExceptIfFromMemberOf, + [System.String] + $Script, + [Parameter()] + [System.Management.Automation.SwitchParameter] + $GetChildren + ) +} +function Get-ManagementRoleAssignment +{ + [CmdletBinding()] + param( [Parameter()] [System.Object] - $ExceptIfFromAddressMatchesPatterns, + $RoleAssigneeType, [Parameter()] [System.Object] - $ExceptIfAccessScope, + $CustomRecipientWriteScope, [Parameter()] [System.Object] - $ExceptIfHeaderMatchesPatterns, + $Identity, [Parameter()] [System.Object] - $RecipientDomainIs, + $RecipientGroupScope, [Parameter()] - [System.String] - $Comment, + [System.Boolean] + $Enabled, [Parameter()] - [System.Object[]] - $From, + [System.Object] + $RecipientWriteScope, [Parameter()] [System.Object] - $AccessScope, + $WritableRecipient, [Parameter()] [System.Object] - $ActivationDate, + $ConfigWriteScope, [Parameter()] - [System.Object] - $ExceptIfContentPropertyContainsWords, + [System.Boolean] + $Delegating, [Parameter()] [System.Boolean] - $ExceptIfDocumentIsPasswordProtected, + $Exclusive, [Parameter()] [System.Object[]] - $ExceptIfSentToMemberOf, + $AssignmentMethod, [Parameter()] - [System.Object] - $DocumentCreatedBy, + [System.Management.Automation.SwitchParameter] + $GetEffectiveUsers, [Parameter()] [System.Object] - $ExceptIfDocumentSizeOver, + $Role, [Parameter()] [System.Object] - $ExceptIfDocumentNameMatchesWords, + $RecipientAdministrativeUnitScope, [Parameter()] [System.Object] - $Priority, + $ExclusiveRecipientWriteScope, [Parameter()] [System.Object] - $Policy, + $RecipientOrganizationalUnitScope, [Parameter()] [System.Object] - $SenderIPRanges, - + $RoleAssignee + ) +} +function Get-MessageClassification +{ + [CmdletBinding()] + param( [Parameter()] [System.Object] - $SenderDomainIs, - - [Parameter()] - [System.Object[]] - $ContentContainsSensitiveInformation, - - [Parameter()] - [System.Object[]] - $FromMemberOf, + $Identity, [Parameter()] [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Boolean] - $Disabled, - - [Parameter()] - [System.Boolean] - $ExceptIfDocumentIsUnsupported, - + $IncludeLocales + ) +} +function Get-MobileDevice +{ + [CmdletBinding()] + param( [Parameter()] - [System.Object] - $RuleErrorAction, + [System.Management.Automation.SwitchParameter] + $OWAforDevices, [Parameter()] - [System.Object] - $ContentPropertyContainsWords, + [System.String] + $SortBy, [Parameter()] - [System.Object] - $SentTo, + [System.Management.Automation.SwitchParameter] + $UniversalOutlook, [Parameter()] - [System.Boolean] - $DocumentIsUnsupported, + [System.Management.Automation.SwitchParameter] + $ActiveSync, [Parameter()] [System.Object] - $SubjectMatchesPatterns, + $Mailbox, [Parameter()] [System.Object] - $HeaderMatchesPatterns, + $OrganizationalUnit, [Parameter()] [System.Object] - $ExceptIfSentTo, + $Identity, [Parameter()] - [System.Object] - $ExpiryDate, + [System.Management.Automation.SwitchParameter] + $RestApi, [Parameter()] [System.Object] - $ExceptIfContentExtensionMatchesWords, + $ResultSize, [Parameter()] [System.String] - $Name, - + $Filter + ) +} +function Get-MobileDeviceMailboxPolicy +{ + [CmdletBinding()] + param( [Parameter()] [System.Object] - $FromAddressContainsWords, - + $Identity + ) +} +function Get-OfflineAddressBook +{ + [CmdletBinding()] + param( [Parameter()] [System.Object] - $DocumentSizeOver, - + $Identity + ) +} +function Get-OMEConfiguration +{ + [CmdletBinding()] + param( [Parameter()] [System.Object] - $ExceptIfDocumentCreatedBy, - + $Identity + ) +} +function Get-OnPremisesOrganization +{ + [CmdletBinding()] + param( [Parameter()] [System.Object] - $ExceptIfAnyOfRecipientAddressMatchesPatterns, + $Identity + ) +} +function Get-OrganizationConfig +{ + [CmdletBinding()] + param( + ) +} +function Get-OrganizationRelationship +{ + [CmdletBinding()] + param( [Parameter()] [System.Object] - $Workload + $Identity ) } -function New-CaseHoldPolicy +function Get-OutboundConnector { [CmdletBinding()] param( [Parameter()] - [System.String] - $Name, + [System.Boolean] + $IncludeTestModeConnectors, [Parameter()] [System.Object] - $PublicFolderLocation, - - [Parameter()] - [System.String] - $Case, - - [Parameter()] - [System.Object] - $ExchangeLocation, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.String] - $Comment, + $Identity, [Parameter()] [System.Object] - $SharePointLocation, + $ResultSize, [Parameter()] [System.Boolean] - $Enabled, - + $IsTransportRuleScoped + ) +} +function Get-OwaMailboxPolicy +{ + [CmdletBinding()] + param( [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force + [System.Object] + $Identity ) } -function New-CaseHoldRule +function Get-PartnerApplication { [CmdletBinding()] param( [Parameter()] - [System.String] - $Name, - + [System.Object] + $Identity + ) +} +function Get-PerimeterConfig +{ + [CmdletBinding()] + param( [Parameter()] - [System.Boolean] - $Disabled, - + [System.Object] + $Identity + ) +} +function Get-PolicyTipConfig +{ + [CmdletBinding()] + param( [Parameter()] [System.Object] - $Policy, + $Action, [Parameter()] [System.Management.Automation.SwitchParameter] - $Confirm, + $Original, [Parameter()] - [System.String] - $Comment, + [System.Globalization.CultureInfo] + $Locale, [Parameter()] - [System.String] - $ContentMatchQuery + [System.Object] + $Identity ) } -function New-ComplianceCase +function Get-QuarantinePolicy { [CmdletBinding()] param( [Parameter()] [System.Object] - $CaseType, - - [Parameter()] - [System.String] - $Description, - - [Parameter()] - [System.String] - $SourceCaseType, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.String] - $ExternalId, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + $Identity, [Parameter()] [System.Object] - $DomainController, - - [Parameter()] - [System.String] - $SecondaryCaseType + $QuarantinePolicyType ) } -function New-ComplianceRetentionEvent +function Get-RemoteDomain { [CmdletBinding()] param( [Parameter()] [System.Object] - $EventType, + $Identity, [Parameter()] - [System.String] - $Name, + [System.Object] + $ResultSize + ) +} +function Get-ResourceConfig +{ + [CmdletBinding()] + param( + ) +} +function Get-RoleAssignmentPolicy +{ + [CmdletBinding()] + param( [Parameter()] [System.Object] - $EventDateTime, - + $Identity + ) +} +function Get-RoleGroup +{ + [CmdletBinding()] + param( [Parameter()] [System.String] - $AssetId, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + $SortBy, [Parameter()] [System.String] - $Comment, + $Filter, [Parameter()] [System.Object] - $DomainController, + $ResultSize, [Parameter()] [System.Management.Automation.SwitchParameter] - $PreviewOnly, + $ShowPartnerLinked, [Parameter()] [System.Object] - $EventTags, - + $Identity + ) +} +function Get-RoleGroupMember +{ + [CmdletBinding()] + param( [Parameter()] - [System.String] - $SharePointAssetIdQuery, + [System.Object] + $Identity, [Parameter()] - [System.String] - $ExchangeAssetIdQuery + [System.Object] + $ResultSize ) } -function New-ComplianceRetentionEventType +function Get-ServicePrincipal { [CmdletBinding()] param( [Parameter()] - [System.String] - $Name, + [System.Object] + $Identity, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - + [System.Object] + $Organization + ) +} +function Get-SharingPolicy +{ + [CmdletBinding()] + param( [Parameter()] - [System.String] - $Comment + [System.Object] + $Identity ) } -function New-ComplianceSearch +function Get-SupervisoryReviewPolicyV2 { [CmdletBinding()] param( [Parameter()] - [System.String[]] - $RefinerNames, - + [System.Object] + $Identity + ) +} +function Get-SupervisoryReviewRule +{ + [CmdletBinding()] + param( [Parameter()] - [System.String] - $Description, + [System.Object] + $Identity, [Parameter()] - [System.String] - $Name, + [System.Object] + $Policy + ) +} +function Get-TransportConfig +{ + [CmdletBinding()] + param( + ) +} +function Get-TransportRule +{ + [CmdletBinding()] + param( [Parameter()] - [System.Boolean] - $IncludeUserAppContent, + [System.String] + $DlpPolicy, [Parameter()] - [System.String[]] - $SharePointLocationExclusion, + [System.Object] + $ResultSize, [Parameter()] [System.Boolean] - $AllowNotFoundExchangeLocationsEnabled, + $ExcludeConditionActionDetails, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force, + [System.String] + $Filter, [Parameter()] - [System.String[]] - $SharePointLocation, + [System.Object] + $State, [Parameter()] - [System.String[]] - $ExchangeLocation, - + [System.Object] + $Identity + ) +} +function Get-UnifiedGroup +{ + [CmdletBinding()] + param( [Parameter()] [System.String] - $Case, - - [Parameter()] - [System.String[]] - $PublicFolderLocation, + $SortBy, [Parameter()] - [System.Boolean] - $IncludeOrgContent, + [System.Management.Automation.SwitchParameter] + $IncludeSoftDeletedGroups, [Parameter()] - [System.String[]] - $HoldNames, + [System.Management.Automation.SwitchParameter] + $IncludeAllProperties, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.String] + $Filter, [Parameter()] - [System.Globalization.CultureInfo] - $Language, + [System.Object] + $Identity, [Parameter()] - [System.String[]] - $ExchangeLocationExclusion, + [System.Object] + $ResultSize, [Parameter()] [System.String] - $ContentMatchQuery + $Anr ) } -function New-ComplianceSearchAction +function Get-User { [CmdletBinding()] param( [Parameter()] [System.String] - $ReferenceActionName, + $SortBy, [Parameter()] [System.Management.Automation.SwitchParameter] - $IncludeCredential, - - [Parameter()] - [System.Boolean] - $IncludeSharePointDocumentVersions, + $PublicFolder, [Parameter()] [System.Management.Automation.SwitchParameter] - $Force, + $IsVIP, [Parameter()] - [System.String[]] - $FileTypeExclusionsForUnindexedItems, + [System.Object] + $OrganizationalUnit, [Parameter()] - [System.Management.Automation.SwitchParameter] - $RetryOnError, + [System.Object] + $Identity, [Parameter()] - [System.String] - $Version, + [System.Object[]] + $RecipientTypeDetails, [Parameter()] - [System.Int32] - $JobOptions, + [System.Object] + $ResultSize, [Parameter()] - [System.Management.Automation.SwitchParameter] - $RetentionReport, + [System.String] + $Filter, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Purge, + [System.String] + $Anr + ) +} +function New-ActiveSyncDeviceAccessRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $QueryString, [Parameter()] [System.Object] - $PurgeType, + $Characteristic, [Parameter()] [System.Management.Automation.SwitchParameter] - $Report, + $Confirm, + + [Parameter()] + [System.Object] + $AccessLevel + ) +} +function New-AddressBookPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $RoomList, [Parameter()] [System.String] - $Region, + $Name, [Parameter()] [System.Management.Automation.SwitchParameter] $Confirm, - [Parameter()] - [System.Boolean] - $EnableDedupe, - [Parameter()] [System.Object] - $Scope, - - [Parameter()] - [System.String[]] - $SearchNames, + $GlobalAddressList, [Parameter()] - [System.String[]] - $SearchName, + [System.Object[]] + $AddressLists, [Parameter()] - [System.String] - $ActionName + [System.Object] + $OfflineAddressBook ) } -function New-ComplianceTag +function New-AddressList { [CmdletBinding()] param( - [Parameter()] - [System.Object] - $AutoApprovalPeriod, - [Parameter()] [System.String] - $Comment, + $RecipientFilter, [Parameter()] - [System.String] - $RetentionType, + [System.Object] + $ConditionalCustomAttribute8, [Parameter()] - [System.Boolean] - $Regulatory, + [System.String] + $DisplayName, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object] + $ConditionalCustomAttribute10, [Parameter()] [System.String] $Name, [Parameter()] - [System.String] - $FilePlanProperty, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force, + [System.Object] + $ConditionalCustomAttribute9, [Parameter()] - [System.String] - $RetentionAction, + [System.Object] + $ConditionalCustomAttribute2, [Parameter()] [System.Object] - $FlowId, + $IncludedRecipients, [Parameter()] - [System.Boolean] - $IsRecordUnlockedAsDefault, + [System.Object] + $ConditionalCompany, [Parameter()] - [System.String] - $ComplianceTagForNextStage, + [System.Object] + $ConditionalCustomAttribute6, [Parameter()] - [System.String] - $Notes, + [System.Object] + $ConditionalCustomAttribute3, [Parameter()] [System.Object] - $EventType, + $ConditionalCustomAttribute12, [Parameter()] [System.Object] - $IsRecordLabel, + $Container, [Parameter()] - [System.Object[]] - $ReviewerEmail, + [System.Object] + $ConditionalCustomAttribute13, [Parameter()] [System.Object] - $RetentionDuration, + $ConditionalCustomAttribute15, [Parameter()] - [System.String] - $MultiStageReviewProperty - ) -} -function New-DeviceConditionalAccessPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force, + [System.Object] + $ConditionalDepartment, [Parameter()] - [System.String] - $Name, + [System.Object] + $ConditionalStateOrProvince, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object] + $ConditionalCustomAttribute7, [Parameter()] - [System.String] - $Comment, + [System.Object] + $ConditionalCustomAttribute14, - [Parameter()] - [System.Boolean] - $Enabled - ) -} -function New-DeviceConfigurationPolicy -{ - [CmdletBinding()] - param( [Parameter()] [System.Management.Automation.SwitchParameter] - $Force, + $Confirm, [Parameter()] - [System.String] - $Name, + [System.Object] + $ConditionalCustomAttribute4, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object] + $ConditionalCustomAttribute11, [Parameter()] - [System.String] - $Comment, + [System.Object] + $ConditionalCustomAttribute1, [Parameter()] - [System.Boolean] - $Enabled + [System.Object] + $ConditionalCustomAttribute5 ) } -function New-DlpCompliancePolicy +function New-AntiPhishPolicy { [CmdletBinding()] param( [Parameter()] - [System.Object] - $PowerBIDlpLocationException, - - [Parameter()] - [System.Object] - $Priority, + [System.Boolean] + $EnableFirstContactSafetyTips, [Parameter()] [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $PolicyTemplateInfo, + $MakeDefault, [Parameter()] - [System.Object] - $EndpointDlpLocationException, + [System.Boolean] + $EnableUnauthenticatedSender, [Parameter()] - [System.Object] - $PolicyRBACScopes, + [System.Boolean] + $HonorDmarcPolicy, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force, + [System.Boolean] + $Enabled, [Parameter()] - [System.Object] - $SharePointLocation, + [System.Boolean] + $EnableViaTag, [Parameter()] - [System.Object[]] - $ExceptIfOneDriveSharedBy, + [System.String] + $Name, [Parameter()] - [System.Object] - $ThirdPartyAppDlpLocationException, + [System.Boolean] + $EnableSpoofIntelligence, [Parameter()] [System.Object] - $ExchangeLocation, + $DmarcQuarantineAction, [Parameter()] [System.Object] - $OneDriveLocationException, + $RecommendedPolicyType, [Parameter()] - [System.String] - $Name, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] [System.String] - $Comment, - - [Parameter()] - [System.Object] - $TeamsLocation, + $SpoofQuarantineTag, [Parameter()] [System.Object] - $TeamsLocationException, + $DmarcRejectAction, [Parameter()] - [System.Object[]] - $OneDriveSharedBy, + [System.String] + $AdminDisplayName, [Parameter()] [System.Object] - $OnPremisesScannerDlpLocation, + $AuthenticationFailAction + ) +} +function New-AntiPhishRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Int32] + $Priority, [Parameter()] - [System.Object] - $EndpointDlpLocation, + [System.String] + $Name, [Parameter()] [System.Object[]] - $ExceptIfOneDriveSharedByMemberOf, + $SentToMemberOf, [Parameter()] [System.Object] - $PowerBIDlpLocation, + $AntiPhishPolicy, [Parameter()] [System.Object[]] - $OneDriveSharedByMemberOf, + $SentTo, [Parameter()] - [System.Object] - $ThirdPartyAppDlpLocation, + [System.String] + $Comments, [Parameter()] - [System.Object] - $OneDriveLocation, + [System.Object[]] + $RecipientDomainIs, [Parameter()] - [System.Object] - $OnPremisesScannerDlpLocationException, + [System.Object[]] + $ExceptIfRecipientDomainIs, [Parameter()] [System.Object[]] - $ExchangeSenderMemberOf, + $ExceptIfSentTo, [Parameter()] - [System.Object[]] - $ExchangeSenderMemberOfException, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] - [System.Object] - $SharePointLocationException, + [System.Object[]] + $ExceptIfSentToMemberOf, [Parameter()] - [System.Object] - $Mode + [System.Boolean] + $Enabled ) } -function New-DlpComplianceRule +function New-App { [CmdletBinding()] param( [Parameter()] - [System.Boolean] - $ExceptIfDocumentIsUnsupported, + [System.String] + $Etoken, [Parameter()] - [System.Boolean] - $ProcessingLimitExceeded, + [System.IO.Stream] + $FileStream, [Parameter()] - [System.Object] - $ImmutableId, + [System.Boolean] + $Enabled, [Parameter()] - [System.Object] - $ActivationDate, + [System.Uri] + $Url, [Parameter()] [System.Object] - $NotifyUser, + $Mailbox, [Parameter()] - [System.Boolean] - $ExceptIfDocumentIsPasswordProtected, + [System.String] + $MarketplaceServicesUrl, [Parameter()] - [System.Object] - $ExceptIfRecipientADAttributeContainsWords, + [System.Management.Automation.SwitchParameter] + $PrivateCatalog, [Parameter()] - [System.Object] - $ExceptIfDocumentNameMatchesPatterns, + [System.String] + $MarketplaceCorrelationID, [Parameter()] [System.Object] - $NotifyEndpointUser, + $DefaultStateForUser, [Parameter()] - [System.Object] - $ExceptIfSenderADAttributeContainsWords, + [System.String] + $MarketplaceQueryMarket, [Parameter()] [System.String] - $NotifyEmailCustomSubject, + $MarketplaceUserProfileType, [Parameter()] - [System.Object[]] - $FromMemberOf, + [System.Management.Automation.SwitchParameter] + $DownloadOnly, [Parameter()] - [System.Boolean] - $ContentIsShared, + [System.Object] + $ProvidedTo, [Parameter()] - [System.Object[]] - $ExceptIfSentToMemberOf, + [System.Object] + $UserList, [Parameter()] - [System.Object] - $AddRecipients, + [System.Management.Automation.SwitchParameter] + $OrganizationApp, [Parameter()] - [System.Object] - $ExceptIfUnscannableDocumentExtensionIs, + [System.String] + $MarketplaceAssetID, [Parameter()] - [System.Object] - $RecipientDomainIs, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] - [System.Object] - $SenderADAttributeContainsWords, + [System.Byte[]] + $FileData, [Parameter()] - [System.Object] - $ExceptIfHeaderMatchesPatterns, + [System.Management.Automation.SwitchParameter] + $AllowReadWriteMailbox + ) +} +function New-ApplicationAccessPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $Description, [Parameter()] [System.Object] - $ExceptIfFromScope, + $PolicyScopeGroupId, [Parameter()] - [System.Object] - $ExceptIfHeaderContainsWords, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] [System.Object] - $HeaderMatchesPatterns, + $AccessRight, [Parameter()] - [System.Object] - $ContentPropertyContainsWords, + [System.String[]] + $AppId + ) +} +function New-AuthenticationPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $Name, [Parameter()] - [System.Boolean] - $HasSenderOverride, + [System.Management.Automation.SwitchParameter] + $AllowBasicAuthPop, [Parameter()] - [System.Object] - $SetHeader, + [System.Management.Automation.SwitchParameter] + $AllowBasicAuthSmtp, [Parameter()] - [System.Object] - $ExceptIfSubjectOrBodyMatchesPatterns, + [System.Management.Automation.SwitchParameter] + $AllowBasicAuthMapi, [Parameter()] - [System.Boolean] - $ExceptIfHasSenderOverride, + [System.Management.Automation.SwitchParameter] + $AllowBasicAuthImap, [Parameter()] - [System.Boolean] - $Quarantine, + [System.Management.Automation.SwitchParameter] + $AllowBasicAuthAutodiscover, [Parameter()] - [System.Object] - $ExceptIfAnyOfRecipientAddressMatchesPatterns, + [System.Management.Automation.SwitchParameter] + $AllowBasicAuthPowershell, [Parameter()] - [System.Object] - $ExceptIfContentCharacterSetContainsWords, + [System.Management.Automation.SwitchParameter] + $AllowBasicAuthRpc, [Parameter()] - [System.Object] - $EncryptRMSTemplate, + [System.Management.Automation.SwitchParameter] + $AllowBasicAuthOfflineAddressBook, [Parameter()] - [System.Object] - $ExceptIfAccessScope, + [System.Management.Automation.SwitchParameter] + $AllowBasicAuthReportingWebServices, [Parameter()] - [System.Object] - $ExceptIfMessageTypeMatches, + [System.Management.Automation.SwitchParameter] + $AllowBasicAuthOutlookService, [Parameter()] - [System.Object] - $SenderIPRanges, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] - [System.Object] - $ExceptIfDocumentNameMatchesWords, + [System.Management.Automation.SwitchParameter] + $AllowBasicAuthActiveSync, [Parameter()] - [System.Object] - $ExceptIfContentFileTypeMatches, + [System.Management.Automation.SwitchParameter] + $AllowBasicAuthWebServices + ) +} +function New-AvailabilityConfig +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] [System.Object] - $ExceptIfContentExtensionMatchesWords, + $OrgWideAccount, [Parameter()] [System.Object] - $RemoveHeader, - + $AllowedTenantIds + ) +} +function New-ClientAccessRule +{ + [CmdletBinding()] + param( [Parameter()] [System.Object] - $ApplyHtmlDisclaimer, + $ExceptAnyOfClientIPAddressesOrRanges, [Parameter()] - [System.Object[]] - $ExceptIfFromMemberOf, + [System.Object] + $Action, [Parameter()] [System.Object] - $Moderate, + $AnyOfClientIPAddressesOrRanges, [Parameter()] - [System.Object] - $GenerateAlert, + [System.Boolean] + $Enabled, [Parameter()] - [System.String] - $PrependSubject, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] - [System.Object[]] - $From, + [System.String] + $Name, [Parameter()] - [System.Object] - $ExceptIfWithImportance, + [System.String] + $UserRecipientFilter, [Parameter()] [System.Object] - $ContentCharacterSetContainsWords, + $ExceptAnyOfProtocols, [Parameter()] - [System.Object[]] - $ContentContainsSensitiveInformation, + [System.Int32] + $Priority, [Parameter()] [System.Object] - $SubjectContainsWords, - - [Parameter()] - [System.Object[]] - $EndpointDlpRestrictions, + $ExceptUsernameMatchesAnyOfPatterns, [Parameter()] [System.Object] - $SenderADAttributeMatchesPatterns, + $UsernameMatchesAnyOfPatterns, [Parameter()] [System.Object] - $ExceptIfSenderADAttributeMatchesPatterns, + $AnyOfAuthenticationTypes, [Parameter()] - [System.Object[]] - $IncidentReportContent, + [System.Object] + $AnyOfProtocols, [Parameter()] [System.Object] - $DocumentContainsWords, + $ExceptAnyOfAuthenticationTypes, [Parameter()] - [System.Object[]] - $ExceptIfFrom, - + [System.Object] + $Scope + ) +} +function New-DataClassification +{ + [CmdletBinding()] + param( [Parameter()] - [System.Boolean] - $RestrictBrowserAccess, + [System.String] + $Description, [Parameter()] - [System.Object] - $ExceptIfDocumentCreatedBy, + [System.String] + $Name, [Parameter()] - [System.String] - $NotifyPolicyTipUrl, + [System.Globalization.CultureInfo] + $Locale, [Parameter()] [System.Management.Automation.SwitchParameter] @@ -65378,4267 +65444,9663 @@ function New-DlpComplianceRule [Parameter()] [System.Object] - $RuleErrorAction, - - [Parameter()] - [System.Object] - $FromScope, + $Fingerprints, [Parameter()] [System.Object] - $SentTo, - + $ClassificationRuleCollectionIdentity + ) +} +function New-DistributionGroup +{ + [CmdletBinding()] + param( [Parameter()] [System.Object] - $ExceptIfFromAddressMatchesPatterns, + $ModeratedBy, [Parameter()] - [System.String] - $NotifyPolicyTipCustomText, + [System.Boolean] + $RequireSenderAuthenticationEnabled, [Parameter()] - [System.Object] - $ExceptIfFromAddressContainsWords, + [System.Boolean] + $ModerationEnabled, [Parameter()] - [System.Boolean] - $ExceptIfProcessingLimitExceeded, + [System.String] + $DisplayName, [Parameter()] [System.Object] - $DocumentNameMatchesPatterns, + $MemberDepartRestriction, [Parameter()] - [System.Object] - $Priority, + [System.String] + $Name, [Parameter()] - [System.Object[]] - $OnPremisesScannerDlpRestrictions, + [System.Management.Automation.SwitchParameter] + $IgnoreNamingPolicy, [Parameter()] - [System.Object] - $ExceptIfSenderDomainIs, + [System.Management.Automation.SwitchParameter] + $RoomList, [Parameter()] - [System.Object[]] - $RedirectMessageTo, + [System.Management.Automation.SwitchParameter] + $HiddenGroupMembershipEnabled, [Parameter()] [System.Boolean] - $RemoveRMSTemplate, + $BypassNestedModerationEnabled, [Parameter()] - [System.Object] - $UnscannableDocumentExtensionIs, + [System.Management.Automation.SwitchParameter] + $CopyOwnerToMember, [Parameter()] - [System.Object] - $DocumentCreatedBy, + [System.Boolean] + $BccBlocked, [Parameter()] [System.Object] - $ReportSeverityLevel, + $Members, [Parameter()] [System.Object] - $SenderDomainIs, + $Description, [Parameter()] - [System.Object] - $ExceptIfDocumentMatchesPatterns, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] - [System.Object] - $RecipientADAttributeMatchesPatterns, + [System.String] + $Notes, [Parameter()] [System.Object] - $DocumentNameMatchesWords, + $MemberJoinRestriction, [Parameter()] [System.Object] - $ExceptIfContentPropertyContainsWords, + $Type, [Parameter()] [System.Object] - $GenerateIncidentReport, + $ManagedBy, [Parameter()] - [System.Object] - $FromAddressContainsWords, + [System.String] + $Alias, [Parameter()] [System.Object] - $AnyOfRecipientAddressMatchesPatterns, + $PrimarySmtpAddress, [Parameter()] [System.Object] - $ExceptIfSubjectContainsWords, + $SendModerationNotifications, [Parameter()] [System.Object] - $SubjectOrBodyMatchesPatterns, - + $OrganizationalUnit + ) +} +function New-DkimSigningConfig +{ + [CmdletBinding()] + param( [Parameter()] [System.String] - $AdvancedRule, + $AdminDisplayName, [Parameter()] [System.Object] - $DocumentMatchesPatterns, + $BodyCanonicalization, [Parameter()] [System.Object] - $SharedByIRMUserRisk, + $HeaderCanonicalization, [Parameter()] - [System.Object[]] - $EndpointDlpBrowserRestrictions, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] - [System.Object] - $SubjectMatchesPatterns, + [System.UInt16] + $KeySize, [Parameter()] [System.Object] - $ExceptIfSubjectMatchesPatterns, + $DomainName, [Parameter()] [System.Boolean] - $ExceptIfContentIsShared, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object] - $ExceptIfAnyOfRecipientAddressContainsWords, - - [Parameter()] - [System.Object] - $AnyOfRecipientAddressContainsWords, - - [Parameter()] - [System.Object] - $HeaderContainsWords, - - [Parameter()] - [System.Object] - $AlertProperties, - - [Parameter()] - [System.Object] - $ContentExtensionMatchesWords, - - [Parameter()] - [System.Object] - $WithImportance, - - [Parameter()] - [System.Object] - $MessageSizeOver, - + $Enabled + ) +} +function New-EmailAddressPolicy +{ + [CmdletBinding()] + param( [Parameter()] [System.Object] - $ExceptIfSentTo, - - [Parameter()] - [System.Boolean] - $DocumentIsUnsupported, - - [Parameter()] - [System.Object[]] - $DocumentCreatedByMemberOf, + $Priority, [Parameter()] - [System.Boolean] - $ContentIsNotLabeled, + [System.String] + $Name, [Parameter()] [System.Object] - $AccessScope, + $EnabledEmailAddressTemplates, [Parameter()] - [System.Object] - $ExceptIfDocumentSizeOver, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] [System.String] - $Comment, + $EnabledPrimarySMTPAddressTemplate, [Parameter()] - [System.Object[]] - $NotifyAllowOverride, + [System.String] + $ManagedByFilter, [Parameter()] - [System.Object] - $NotifyOverrideRequirements, - + [System.Management.Automation.SwitchParameter] + $IncludeUnifiedGroupRecipients + ) +} +function New-GlobalAddressList +{ + [CmdletBinding()] + param( [Parameter()] - [System.Object] - $ExceptIfSenderIPRanges, + [System.String] + $RecipientFilter, [Parameter()] [System.Object] - $ExceptIfRecipientADAttributeMatchesPatterns, + $ConditionalCustomAttribute8, [Parameter()] [System.Object] - $RecipientADAttributeContainsWords, + $ConditionalCustomAttribute10, [Parameter()] - [System.Object[]] - $ThirdPartyAppDlpRestrictions, + [System.String] + $Name, [Parameter()] [System.Object] - $ExpiryDate, - - [Parameter()] - [System.Boolean] - $StopPolicyProcessing, - - [Parameter()] - [System.Object[]] - $ExceptIfContentContainsSensitiveInformation, - - [Parameter()] - [System.Object[]] - $SentToMemberOf, + $ConditionalCustomAttribute9, [Parameter()] [System.Object] - $DocumentSizeOver, + $ConditionalCustomAttribute2, [Parameter()] [System.Object] - $MessageTypeMatches, + $IncludedRecipients, [Parameter()] [System.Object] - $ModifySubject, - - [Parameter()] - [System.Boolean] - $Disabled, + $ConditionalCompany, [Parameter()] [System.Object] - $ContentFileTypeMatches, - - [Parameter()] - [System.String] - $NotifyEmailCustomText, - - [Parameter()] - [System.Boolean] - $BlockAccess, + $ConditionalCustomAttribute6, [Parameter()] [System.Object] - $SenderAddressLocation, + $ConditionalCustomAttribute3, [Parameter()] [System.Object] - $SubjectOrBodyContainsWords, + $ConditionalCustomAttribute12, [Parameter()] [System.Object] - $NotifyPolicyTipCustomTextTranslations, + $ConditionalCustomAttribute13, [Parameter()] [System.Object] - $Policy, + $ConditionalCustomAttribute15, [Parameter()] [System.Object] - $NotifyPolicyTipDisplayOption, + $ConditionalDepartment, [Parameter()] [System.Object] - $NonBifurcatingAccessScope, - - [Parameter()] - [System.Boolean] - $DocumentIsPasswordProtected, + $ConditionalStateOrProvince, [Parameter()] [System.Object] - $ExceptIfRecipientDomainIs, + $ConditionalCustomAttribute7, [Parameter()] [System.Object] - $ExceptIfDocumentContainsWords, + $ConditionalCustomAttribute14, [Parameter()] - [System.Object] - $FromAddressMatchesPatterns, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] [System.Object] - $BlockAccessScope, - - [Parameter()] - [System.Object[]] - $ExceptIfDocumentCreatedByMemberOf, + $ConditionalCustomAttribute4, [Parameter()] [System.Object] - $ExceptIfSubjectOrBodyContainsWords, + $ConditionalCustomAttribute11, [Parameter()] [System.Object] - $NotifyUserType, + $ConditionalCustomAttribute1, [Parameter()] [System.Object] - $ExceptIfMessageSizeOver + $ConditionalCustomAttribute5 ) } -function New-FilePlanPropertyAuthority +function New-HostedConnectionFilterPolicy { [CmdletBinding()] param( [Parameter()] [System.String] - $Name, + $ConfigurationXmlRaw, - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm - ) -} -function New-FilePlanPropertyCategory -{ - [CmdletBinding()] - param( [Parameter()] [System.String] $Name, - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm - ) -} -function New-FilePlanPropertyCitation -{ - [CmdletBinding()] - param( [Parameter()] [System.String] - $CitationUrl, + $AdminDisplayName, [Parameter()] - [System.String] - $Name, + [System.Boolean] + $EnableSafeList, [Parameter()] [System.Management.Automation.SwitchParameter] $Confirm, [Parameter()] - [System.String] - $CitationJurisdiction + [System.Object] + $IPBlockList, + + [Parameter()] + [System.Object] + $IPAllowList ) } -function New-FilePlanPropertyDepartment +function New-HostedContentFilterPolicy { [CmdletBinding()] param( [Parameter()] - [System.String] - $Name, + [System.Boolean] + $InlineSafetyTipsEnabled, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm - ) -} -function New-FilePlanPropertyReferenceId -{ - [CmdletBinding()] - param( + [System.Object] + $RegionBlockList, + [Parameter()] [System.String] - $Name, + $HighConfidencePhishQuarantineTag, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm - ) -} -function New-FilePlanPropertySubCategory -{ - [CmdletBinding()] - param( + [System.Int32] + $EndUserSpamNotificationFrequency, + [Parameter()] - [System.Object] - $ParentId, + [System.Int32] + $QuarantineRetentionPeriod, [Parameter()] - [System.String] - $Name, + [System.Int32] + $EndUserSpamNotificationLimit, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm - ) -} -function New-Label -{ - [CmdletBinding()] - param( + [System.Int32] + $BulkThreshold, + [Parameter()] [System.Object] - $EncryptionEncryptOnly, + $TestModeBccToRecipients, [Parameter()] [System.String] - $EncryptionDoubleKeyEncryptionUrl, + $PhishQuarantineTag, [Parameter()] [System.String] - $ApplyContentMarkingHeaderText, + $AddXHeaderValue, [Parameter()] [System.Object] - $Setting, + $MarkAsSpamEmbedTagsInHtml, [Parameter()] [System.Object] - $ApplyContentMarkingFooterEnabled, + $MarkAsSpamFramesInHtml, [Parameter()] [System.Object] - $EncryptionEnabled, + $IncreaseScoreWithImageLinks, [Parameter()] - [System.Object] - $SiteAndGroupProtectionEnabled, + [System.Boolean] + $EnableLanguageBlockList, [Parameter()] [System.Object] - $SiteAndGroupProtectionAllowFullAccess, + $PhishSpamAction, [Parameter()] [System.String] - $EncryptionAipTemplateScopes, - - [Parameter()] - [System.Object] - $TeamsEndToEndEncryptionEnabled, + $EndUserSpamNotificationCustomFromName, [Parameter()] [System.Object] - $ApplyContentMarkingFooterFontSize, + $MarkAsSpamSensitiveWordList, [Parameter()] [System.String] - $ColumnAssetCondition, + $SpamQuarantineTag, [Parameter()] [System.Object] - $ApplyWaterMarkingFontSize, - - [Parameter()] - [System.String] - $ApplyContentMarkingHeaderFontColor, + $MarkAsSpamNdrBackscatter, [Parameter()] - [System.String] - $EncryptionContentExpiredOnDateInDaysOrNever, + [System.Object] + $BlockedSenders, [Parameter()] - [System.String] - $ApplyWaterMarkingText, + [System.Object] + $LanguageBlockList, [Parameter()] [System.Object] - $ApplyWaterMarkingLayout, + $HighConfidenceSpamAction, [Parameter()] - [System.String] - $DefaultContentLabel, + [System.Object] + $AllowedSenderDomains, [Parameter()] - [System.String] - $ApplyWaterMarkingFontName, + [System.Object] + $IncreaseScoreWithBizOrInfoUrls, [Parameter()] [System.Object] - $SiteAndGroupProtectionLevel, + $MarkAsSpamWebBugsInHtml, [Parameter()] [System.String] - $ApplyContentMarkingFooterText, + $AdminDisplayName, [Parameter()] [System.Object] - $TeamsLobbyRestrictionEnforced, + $IntraOrgFilterState, [Parameter()] [System.Object] - $SiteAndGroupProtectionAllowEmailFromGuestUsers, + $MarkAsSpamFromAddressAuthFail, [Parameter()] - [System.Object] - $TeamsLobbyBypassScope, + [System.String] + $Name, [Parameter()] [System.Object] - $SiteAndGroupProtectionAllowLimitedAccess, - - [Parameter()] - [System.Object] - $EncryptionDoNotForward, - - [Parameter()] - [System.Object] - $TeamsProtectionEnabled, - - [Parameter()] - [System.Object] - $ParentId, - - [Parameter()] - [System.String] - $DisplayName, - - [Parameter()] - [System.String] - $SchematizedDataCondition, + $MarkAsSpamEmptyMessages, [Parameter()] [System.String] - $Comment, + $BulkQuarantineTag, [Parameter()] [System.Object] - $ApplyContentMarkingFooterMargin, + $MarkAsSpamFormTagsInHtml, [Parameter()] [System.Object] - $Settings, - - [Parameter()] - [System.String] - $MigrationId, + $MarkAsSpamObjectTagsInHtml, [Parameter()] [System.Object] - $TeamsWhoCanRecord, - - [Parameter()] - [System.String] - $ApplyContentMarkingFooterFontColor, - - [Parameter()] - [System.String] - $ApplyContentMarkingFooterFontName, + $BulkSpamAction, [Parameter()] [System.Object] - $TeamsVideoWatermark, + $EndUserSpamNotificationLanguage, [Parameter()] [System.Object] - $ApplyContentMarkingHeaderMargin, + $IncreaseScoreWithRedirectToOtherPort, [Parameter()] - [System.String] - $EncryptionLinkedTemplateId, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] [System.Object] - $EncryptionRightsDefinitions, + $HighConfidencePhishAction, [Parameter()] [System.Object] - $TeamsCopyRestrictionEnforced, + $RedirectToRecipients, [Parameter()] - [System.Object] - $ApplyContentMarkingHeaderAlignment, + [System.Boolean] + $SpamZapEnabled, [Parameter()] [System.Object] - $LabelActions, + $TestModeAction, [Parameter()] - [System.Object] - $TeamsBypassLobbyForDialInUsers, + [System.Boolean] + $EnableRegionBlockList, [Parameter()] - [System.Object] - $ApplyContentMarkingHeaderFontSize, + [System.String] + $EndUserSpamNotificationCustomSubject, [Parameter()] [System.Object] - $LocaleSettings, + $MarkAsSpamSpfRecordHardFail, [Parameter()] [System.Object] - $TeamsAllowedPresenters, + $EndUserSpamNotificationCustomFromAddress, [Parameter()] - [System.Object] - $AdvancedSettings, + [System.Boolean] + $DownloadLink, [Parameter()] [System.Object] - $EncryptionProtectionType, + $SpamAction, [Parameter()] [System.String] - $ApplyContentMarkingHeaderFontName, + $ModifySubjectValue, [Parameter()] [System.Object] - $ApplyContentMarkingFooterAlignment, + $IncreaseScoreWithNumericIps, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object] + $AllowedSenders, [Parameter()] [System.Object] - $SiteExternalSharingControlType, + $MarkAsSpamJavaScriptInHtml, [Parameter()] [System.Object] - $TeamsPresentersRestrictionEnforced, + $MarkAsSpamBulkMail, [Parameter()] [System.Object] - $TeamsAllowMeetingChat, + $BlockedSenderDomains, [Parameter()] [System.Object] - $SiteAndGroupProtectionAllowAccessToGuestUsers, + $RecommendedPolicyType, [Parameter()] - [System.Object] - $SiteAndGroupProtectionPrivacy, + [System.Boolean] + $PhishZapEnabled, [Parameter()] - [System.Object] - $EncryptionPromptUser, + [System.Boolean] + $EnableEndUserSpamNotifications, [Parameter()] [System.String] - $Tooltip, + $HighConfidenceSpamQuarantineTag + ) +} +function New-HostedContentFilterRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Int32] + $Priority, [Parameter()] - [System.Object] - $SiteAndGroupProtectionBlockAccess, + [System.String] + $Name, [Parameter()] - [System.Object] - $EncryptionOfflineAccessDays, + [System.Object[]] + $SentToMemberOf, [Parameter()] [System.Object] - $ApplyContentMarkingHeaderEnabled, + $HostedContentFilterPolicy, [Parameter()] - [System.String] - $EncryptionTemplateId, + [System.Object[]] + $SentTo, [Parameter()] [System.String] - $Name, - - [Parameter()] - [System.Object] - $ContentType, + $Comments, [Parameter()] - [System.String] - $ApplyWaterMarkingFontColor, + [System.Object[]] + $RecipientDomainIs, [Parameter()] - [System.String] - $EncryptionRightsUrl, + [System.Object[]] + $ExceptIfRecipientDomainIs, [Parameter()] - [System.Object] - $Conditions, + [System.Object[]] + $ExceptIfSentTo, [Parameter()] - [System.Object] - $Identity, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] - [System.Object] - $ApplyWaterMarkingEnabled, + [System.Object[]] + $ExceptIfSentToMemberOf, [Parameter()] - [System.Object] - $TeamsRecordAutomatically + [System.Boolean] + $Enabled ) } -function New-LabelPolicy +function New-HostedOutboundSpamFilterPolicy { [CmdletBinding()] param( [Parameter()] [System.Object] - $Labels, - - [Parameter()] - [System.Object] - $ModernGroupLocationException, + $RecommendedPolicyType, [Parameter()] - [System.Object] - $Settings, + [System.String] + $Name, [Parameter()] [System.String] - $Name, + $AdminDisplayName, [Parameter()] [System.Object] - $AdvancedSettings, + $BccSuspiciousOutboundAdditionalRecipients, [Parameter()] [System.Object] - $PolicyRBACScopes, + $NotifyOutboundSpamRecipients, [Parameter()] - [System.Object] - $ExchangeLocation, + [System.UInt32] + $RecipientLimitPerDay, [Parameter()] [System.Object] - $SharePointLocation, + $ActionWhenThresholdReached, [Parameter()] [System.Object] - $Setting, + $AutoForwardingMode, [Parameter()] - [System.Object] - $OneDriveLocationException, + [System.Boolean] + $NotifyOutboundSpam, [Parameter()] - [System.Object] - $PublicFolderLocation, + [System.Boolean] + $BccSuspiciousOutboundMail, [Parameter()] - [System.String] - $Comment, + [System.UInt32] + $RecipientLimitInternalPerHour, + + [Parameter()] + [System.UInt32] + $RecipientLimitExternalPerHour + ) +} +function New-HostedOutboundSpamFilterRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Int32] + $Priority, [Parameter()] [System.String] - $MigrationId, + $Name, [Parameter()] - [System.Object] - $ModernGroupLocation, + [System.Object[]] + $ExceptIfFromMemberOf, [Parameter()] - [System.Object] - $ExchangeLocationException, + [System.Object[]] + $ExceptIfFrom, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object[]] + $ExceptIfSenderDomainIs, [Parameter()] - [System.Object] - $OneDriveLocation, + [System.String] + $Comments, [Parameter()] - [System.Object] - $SkypeLocation, + [System.Object[]] + $FromMemberOf, + + [Parameter()] + [System.Object[]] + $SenderDomainIs, [Parameter()] [System.Object] - $SkypeLocationException, + $HostedOutboundSpamFilterPolicy, + + [Parameter()] + [System.Object[]] + $From, [Parameter()] [System.Management.Automation.SwitchParameter] - $Force, + $Confirm, [Parameter()] - [System.Object] - $SharePointLocationException + [System.Boolean] + $Enabled ) } -function New-ProtectionAlert +function New-InboundConnector { [CmdletBinding()] param( [Parameter()] [System.Boolean] - $NotificationEnabled, + $RestrictDomainsToIPAddresses, [Parameter()] - [System.Object] - $NotifyUserThrottleWindow, + [System.Boolean] + $CloudServicesMailEnabled, + + [Parameter()] + [System.Boolean] + $Enabled, [Parameter()] [System.Object] - $Threshold, + $EFSkipMailGateway, [Parameter()] [System.Boolean] - $Disabled, + $EFTestMode, [Parameter()] - [System.String] - $Description, + [System.Object] + $TrustedOrganizations, [Parameter()] [System.Object] - $Operation, + $TlsSenderCertificateName, [Parameter()] [System.Object] - $NotifyUser, + $ScanAndDropRecipients, [Parameter()] [System.Object] - $AlertBy, + $AssociatedAcceptedDomains, [Parameter()] - [System.Object] - $NotifyUserThrottleThreshold, + [System.String] + $Comment, [Parameter()] - [System.Object] - $PrivacyManagementScopedSensitiveInformationTypesForCounting, + [System.Boolean] + $RequireTls, [Parameter()] [System.Object] - $AggregationType, + $SenderDomains, [Parameter()] [System.Object] - $UseCreatedDateTime, + $SenderIPAddresses, [Parameter()] - [System.Object] - $NotifyUserSuppressionExpiryDate, + [System.Boolean] + $EFSkipLastIP, [Parameter()] [System.Object] - $VolumeThreshold, + $EFUsers, [Parameter()] - [System.Object] - $TimeWindow, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] [System.Object] - $PrivacyManagementScopedSensitiveInformationTypes, + $ConnectorType, [Parameter()] - [System.String] - $Comment, + [System.Boolean] + $RestrictDomainsToCertificate, [Parameter()] [System.Object] - $Category, + $EFSkipIPs, [Parameter()] - [System.String] - $Name, + [System.Boolean] + $TreatMessagesAsInternal, [Parameter()] [System.Object] - $AlertFor, + $ConnectorSource, [Parameter()] - [System.Object] - $CorrelationPolicyId, - + [System.String] + $Name + ) +} +function New-IntraOrganizationConnector +{ + [CmdletBinding()] + param( [Parameter()] [System.String] - $LogicalOperationName, + $Name, + + [Parameter()] + [System.Object] + $TargetAddressDomains, [Parameter()] [System.Management.Automation.SwitchParameter] $Confirm, [Parameter()] - [System.Object] - $Severity, + [System.Uri] + $TargetSharingEpr, [Parameter()] - [System.Object] - $CustomProperties, - - [Parameter()] - [System.String] - $Filter, + [System.Uri] + $DiscoveryEndpoint, [Parameter()] [System.Boolean] - $NotifyUserOnFilterMatch, + $Enabled + ) +} +function New-JournalRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $Name, [Parameter()] [System.Object] - $ThreatType, + $Scope, [Parameter()] - [System.Globalization.CultureInfo] - $NotificationCulture, + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $JournalEmailAddress, [Parameter()] [System.Object] - $PrivacyManagementScopedSensitiveInformationTypesThreshold + $Recipient, + + [Parameter()] + [System.Boolean] + $Enabled ) } -function New-RetentionCompliancePolicy +function New-Mailbox { [CmdletBinding()] param( [Parameter()] - [System.Object] - $TeamsChannelLocation, + [System.String] + $MailboxRegion, [Parameter()] [System.Object] - $ModernGroupLocationException, + $ModeratedBy, [Parameter()] - [System.Object] - $Applications, + [System.Boolean] + $ModerationEnabled, [Parameter()] - [System.Boolean] - $Enabled, + [System.String] + $Office, [Parameter()] - [System.Object] - $PolicyTemplateInfo, + [System.String] + $DisplayName, [Parameter()] - [System.Object] - $PolicyRBACScopes, + [System.Security.SecureString] + $Password, [Parameter()] - [System.Object] - $ExchangeLocation, + [System.String] + $Name, [Parameter()] [System.Object] - $SharePointLocation, + $RemovedMailbox, [Parameter()] [System.Management.Automation.SwitchParameter] - $IsSimulation, - - [Parameter()] - [System.Object] - $OneDriveLocationException, + $PublicFolder, [Parameter()] - [System.Object] - $PublicFolderLocation, + [System.Management.Automation.SwitchParameter] + $Force, [Parameter()] [System.String] - $Comment, + $LastName, [Parameter()] - [System.Boolean] - $RetainCloudAttachment, + [System.Management.Automation.SwitchParameter] + $TargetAllMDBs, [Parameter()] [System.Object] - $ModernGroupLocation, + $RoleAssignmentPolicy, [Parameter()] [System.Object] - $ExchangeLocationException, + $ResourceCapacity, [Parameter()] - [System.Object] - $TeamsChatLocationException, + [System.Management.Automation.SwitchParameter] + $Archive, [Parameter()] [System.Management.Automation.SwitchParameter] - $Confirm, + $Equipment, [Parameter()] [System.String] - $Name, + $ImmutableId, [Parameter()] - [System.Object] - $TeamsChatLocation, + [System.Security.SecureString] + $RoomMailboxPassword, [Parameter()] - [System.Object] - $OneDriveLocation, + [System.Management.Automation.SwitchParameter] + $Shared, [Parameter()] - [System.Object] - $SkypeLocation, + [System.Boolean] + $IsExcludedFromServingHierarchy, [Parameter()] [System.Object] - $TeamsChannelLocationException, + $MailboxPlan, [Parameter()] [System.Object] - $SkypeLocationException, + $MicrosoftOnlineServicesID, [Parameter()] [System.Management.Automation.SwitchParameter] - $Force, + $Migration, [Parameter()] - [System.Object] - $SharePointLocationException, + [System.Management.Automation.SwitchParameter] + $Room, [Parameter()] - [System.Object] - $AdaptiveScopeLocation, + [System.String] + $Initials, - [Parameter()] - [System.Boolean] - $RestrictiveRetention - ) -} -function New-RetentionComplianceRule -{ - [CmdletBinding()] - param( [Parameter()] [System.Object] - $RetentionDuration, + $InactiveMailbox, [Parameter()] - [System.Object] - $ExcludedItemClasses, + [System.String] + $FederatedIdentity, [Parameter()] - [System.String] - $PublishComplianceTag, + [System.Object] + $ActiveSyncMailboxPolicy, [Parameter()] - [System.String] - $RetentionComplianceAction, + [System.Object] + $OrganizationalUnit, [Parameter()] - [System.String] - $ContentMatchQuery, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] - [System.String] - $ApplyComplianceTag, + [System.Management.Automation.SwitchParameter] + $HoldForMigration, [Parameter()] [System.Management.Automation.SwitchParameter] - $Confirm, + $Discovery, [Parameter()] - [System.String] - $ExpirationDateOption, + [System.Boolean] + $ResetPasswordOnNextLogon, + + [Parameter()] + [System.Boolean] + $EnableRoomMailboxAccount, [Parameter()] [System.String] - $Comment, + $FirstName, [Parameter()] [System.String] - $Name, + $Phone, [Parameter()] [System.Object] - $MachineLearningModelIDs, + $PrimarySmtpAddress, [Parameter()] [System.Object] - $Policy, + $SendModerationNotifications, [Parameter()] - [System.Object] - $RetentionDurationDisplayHint, + [System.String] + $Alias, [Parameter()] - [System.Object[]] - $ContentContainsSensitiveInformation + [System.Boolean] + $RemotePowerShellEnabled ) } -function New-RoleGroup +function New-MailContact { [CmdletBinding()] param( [Parameter()] - [System.String] - $Description, + [System.Object] + $ModeratedBy, [Parameter()] - [System.Object[]] - $Roles, + [System.Boolean] + $ModerationEnabled, [Parameter()] - [System.String] - $DisplayName, + [System.Object] + $MacAttachmentFormat, [Parameter()] - [System.Object] - $Members, + [System.String] + $DisplayName, [Parameter()] [System.String] $Name, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.String] + $LastName, [Parameter()] - [System.Guid] - $Id, + [System.Boolean] + $UsePreferMessageFormat, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force - ) -} -function New-SupervisoryReviewPolicy -{ - [CmdletBinding()] - param( + [System.Object] + $MessageBodyFormat, + [Parameter()] [System.String] - $Description, + $Initials, [Parameter()] - [System.Double] - $SamplingRate, + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $ExternalEmailAddress, [Parameter()] [System.String] - $Name, + $Alias, + + [Parameter()] + [System.Object] + $MessageFormat, [Parameter()] [System.String] - $Condition, + $FirstName, [Parameter()] [System.Object] - $PolicyType, + $SendModerationNotifications, [Parameter()] - [System.String[]] - $Reviewers + [System.Object] + $OrganizationalUnit ) } -function New-SupervisoryReviewPolicyV2 +function New-MalwareFilterPolicy { [CmdletBinding()] param( [Parameter()] [System.String] - $Name, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + $CustomFromName, [Parameter()] [System.String] - $Comment, + $AdminDisplayName, [Parameter()] - [System.String[]] - $UserReportingWorkloads, + [System.String] + $Name, [Parameter()] - [System.Boolean] - $Enabled, + [System.String] + $CustomExternalBody, [Parameter()] - [System.String[]] - $Reviewers, + [System.String] + $QuarantineTag, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force - ) -} -function New-SupervisoryReviewRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $ExceptIfFrom, + [System.Boolean] + $CustomNotifications, [Parameter()] [System.Boolean] - $DayXInsights, + $EnableExternalSenderAdminNotifications, [Parameter()] - [System.String] - $Name, + [System.Object] + $InternalSenderAdminAddress, [Parameter()] [System.String[]] - $ContentSources, + $FileTypes, [Parameter()] - [System.Object] - $ExceptIfRevieweeIs, + [System.Boolean] + $EnableInternalSenderAdminNotifications, [Parameter()] - [System.String] - $CcsiDataModelOperator, + [System.Object] + $CustomFromAddress, [Parameter()] - [System.Object[]] - $ContentContainsSensitiveInformation, + [System.String] + $CustomExternalSubject, [Parameter()] - [System.String] - $InPurviewFilter, + [System.Boolean] + $ZapEnabled, [Parameter()] - [System.Object] - $Policy, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] [System.Object] - $ExceptIfSentTo, + $ExternalSenderAdminAddress, [Parameter()] [System.Object] - $ExceptIfSubjectOrBodyContainsWords, + $RecommendedPolicyType, [Parameter()] [System.Object] - $ExceptIfRecipientDomainIs, + $FileTypeAction, [Parameter()] [System.String] - $AdvancedRule, - - [Parameter()] - [System.Object] - $From, + $CustomInternalSubject, [Parameter()] [System.String] - $ContentMatchesDataModel, + $CustomInternalBody, [Parameter()] - [System.Object] - $SentTo, + [System.Boolean] + $EnableFileFilter + ) +} +function New-MalwareFilterRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Int32] + $Priority, [Parameter()] [System.String] - $Condition, + $Name, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object[]] + $SentToMemberOf, [Parameter()] - [System.Object] - $ExceptIfSenderDomainIs, + [System.Object[]] + $SentTo, [Parameter()] - [System.Boolean] - $Ocr, + [System.String] + $Comments, [Parameter()] - [System.Int32] - $SamplingRate, + [System.Object[]] + $RecipientDomainIs, [Parameter()] - [System.String[]] - $IncludeAdaptiveScopes - ) -} -function Remove-AuditConfigurationPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object[]] + $ExceptIfRecipientDomainIs, [Parameter()] [System.Object] - $Identity, + $MalwareFilterPolicy, [Parameter()] - [System.Object] - $DomainController - ) -} -function Remove-AutoSensitivityLabelPolicy -{ - [CmdletBinding()] - param( + [System.Object[]] + $ExceptIfSentTo, + [Parameter()] [System.Management.Automation.SwitchParameter] $Confirm, [Parameter()] - [System.Object] - $Identity + [System.Object[]] + $ExceptIfSentToMemberOf, + + [Parameter()] + [System.Boolean] + $Enabled ) } -function Remove-AutoSensitivityLabelRule +function New-ManagementRole { [CmdletBinding()] param( [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.String] + $Description, [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-CaseHoldPolicy -{ - [CmdletBinding()] - param( + [System.String[]] + $EnabledCmdlets, + + [Parameter()] + [System.String] + $Name, + [Parameter()] [System.Management.Automation.SwitchParameter] $Confirm, [Parameter()] [System.Object] - $Identity, + $Parent, [Parameter()] [System.Management.Automation.SwitchParameter] - $ForceDeletion + $Force ) } -function Remove-CaseHoldRule +function New-ManagementRoleAssignment { [CmdletBinding()] param( [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object] + $CustomRecipientWriteScope, [Parameter()] [System.Object] - $Identity, + $RecipientGroupScope, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ForceDeletion - ) -} -function Remove-ComplianceCase -{ - [CmdletBinding()] - param( + [System.String] + $Name, + [Parameter()] [System.Management.Automation.SwitchParameter] - $Confirm, + $Force, [Parameter()] [System.Object] - $Identity, + $RecipientAdministrativeUnitScope, [Parameter()] [System.Object] - $DomainController - ) -} -function Remove-ComplianceRetentionEvent -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + $SecurityGroup, [Parameter()] [System.Object] - $Identity, + $ExclusiveRecipientWriteScope, [Parameter()] [System.Management.Automation.SwitchParameter] - $PreviewOnly, + $Delegating, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ForceDeletion - ) -} -function Remove-ComplianceRetentionEventType -{ - [CmdletBinding()] - param( + [System.Object] + $User, + [Parameter()] [System.Management.Automation.SwitchParameter] $Confirm, [Parameter()] [System.Object] - $Identity, + $App, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ForceDeletion - ) -} -function Remove-ComplianceSearch -{ - [CmdletBinding()] - param( + [System.Object] + $Role, + [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object] + $CustomResourceScope, [Parameter()] [System.Object] - $Identity - ) -} -function Remove-ComplianceSearchAction -{ - [CmdletBinding()] - param( + $Policy, + [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object] + $RecipientOrganizationalUnitScope, [Parameter()] [System.Object] - $Identity + $RecipientRelativeWriteScope ) } -function Remove-ComplianceTag +function New-MessageClassification { [CmdletBinding()] param( [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.String] + $SenderDescription, [Parameter()] - [System.Object] - $Identity, + [System.String] + $DisplayName, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ForceDeletion - ) -} -function Remove-DeviceConditionalAccessPolicy -{ - [CmdletBinding()] - param( + [System.String] + $RecipientDescription, + [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.String] + $Name, [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-DeviceConfigurationPolicy -{ - [CmdletBinding()] - param( + [System.Globalization.CultureInfo] + $Locale, + [Parameter()] [System.Management.Automation.SwitchParameter] $Confirm, [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-DlpCompliancePolicy -{ - [CmdletBinding()] - param( + [System.Boolean] + $PermissionMenuVisible, + [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Guid] + $ClassificationID, [Parameter()] [System.Object] - $Identity + $DisplayPrecedence, + + [Parameter()] + [System.Boolean] + $RetainClassificationEnabled ) } -function Remove-DlpComplianceRule +function New-MobileDeviceMailboxPolicy { [CmdletBinding()] param( [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Boolean] + $AllowMicrosoftPushNotifications, [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-FilePlanPropertyAuthority -{ - [CmdletBinding()] - param( + [System.Boolean] + $AllowUnsignedApplications, + [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Boolean] + $AllowUnsignedInstallationPackages, [Parameter()] - [System.Object] - $Identity, + [System.Boolean] + $AllowExternalDeviceManagement, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ForceDeletion - ) -} -function Remove-FilePlanPropertyCategory -{ - [CmdletBinding()] - param( + [System.Boolean] + $AllowIrDA, + [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Boolean] + $RequireSignedSMIMEMessages, [Parameter()] - [System.Object] - $Identity, + [System.Boolean] + $AllowStorageCard, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ForceDeletion - ) -} -function Remove-FilePlanPropertyCitation -{ - [CmdletBinding()] - param( + [System.Int32] + $PasswordHistory, + [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Boolean] + $AllowNonProvisionableDevices, [Parameter()] [System.Object] - $Identity, + $UnapprovedInROMApplicationList, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ForceDeletion - ) -} -function Remove-FilePlanPropertyDepartment -{ - [CmdletBinding()] - param( + [System.Boolean] + $RequireEncryptedSMIMEMessages, + [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Boolean] + $RequireDeviceEncryption, [Parameter()] - [System.Object] - $Identity, + [System.Boolean] + $AllowInternetSharing, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ForceDeletion - ) -} -function Remove-FilePlanPropertyReferenceId -{ - [CmdletBinding()] - param( + [System.Boolean] + $PasswordEnabled, + [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object] + $RequireSignedSMIMEAlgorithm, [Parameter()] [System.Object] - $Identity, + $MaxEmailHTMLBodyTruncationSize, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ForceDeletion - ) -} -function Remove-FilePlanPropertySubCategory -{ - [CmdletBinding()] - param( + [System.Int32] + $MinPasswordComplexCharacters, + [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Boolean] + $UNCAccessEnabled, [Parameter()] - [System.Object] - $Identity, + [System.Boolean] + $AllowCamera, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ForceDeletion - ) -} -function Remove-Label -{ - [CmdletBinding()] - param( + [System.Boolean] + $IrmEnabled, + [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object] + $PasswordExpiration, + + [Parameter()] + [System.Boolean] + $AllowBrowser, [Parameter()] [System.Object] - $Identity - ) -} -function Remove-LabelPolicy -{ - [CmdletBinding()] - param( + $MaxEmailAgeFilter, + [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Boolean] + $RequireManualSyncWhenRoaming, + + [Parameter()] + [System.Boolean] + $AlphanumericPasswordRequired, [Parameter()] [System.Object] - $Identity - ) -} -function Remove-ProtectionAlert -{ - [CmdletBinding()] - param( + $AllowSMIMEEncryptionAlgorithmNegotiation, + [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object] + $MaxEmailBodyTruncationSize, [Parameter()] [System.Object] - $Identity, + $AllowBluetooth, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ForceDeletion - ) -} -function Remove-RetentionCompliancePolicy -{ - [CmdletBinding()] - param( + [System.Boolean] + $WSSAccessEnabled, + [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object] + $RequireEncryptionSMIMEAlgorithm, [Parameter()] [System.Object] - $Identity, + $DevicePolicyRefreshInterval, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ForceDeletion - ) -} -function Remove-RetentionComplianceRule -{ - [CmdletBinding()] - param( + [System.Boolean] + $AllowGooglePushNotifications, + [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Boolean] + $AllowMobileOTAUpdate, + + [Parameter()] + [System.String] + $Name, [Parameter()] [System.Object] - $Identity, + $MaxAttachmentSize, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ForceDeletion - ) -} -function Remove-RoleGroup -{ - [CmdletBinding()] - param( + [System.Boolean] + $AllowSimplePassword, + [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force, + [System.Boolean] + $AllowConsumerEmail, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Boolean] + $AllowDesktopSync, [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-SupervisoryReviewPolicy -{ - [CmdletBinding()] - param( + [System.Boolean] + $PasswordRecoveryEnabled, + [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-SupervisoryReviewPolicyV2 -{ - [CmdletBinding()] - param( + [System.Boolean] + $RequireStorageCardEncryption, + [Parameter()] [System.Management.Automation.SwitchParameter] $Confirm, + [Parameter()] + [System.Boolean] + $AllowSMIMESoftCerts, + + [Parameter()] + [System.Boolean] + $AllowRemoteDesktop, + + [Parameter()] + [System.Boolean] + $AttachmentsEnabled, + [Parameter()] [System.Object] - $Identity, + $MaxCalendarAgeFilter, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ForceDeletion - ) -} -function Set-AutoSensitivityLabelPolicy -{ - [CmdletBinding()] - param( + [System.Boolean] + $AllowWiFi, + [Parameter()] - [System.Object[]] - $OneDriveSharedBy, + [System.Boolean] + $AllowApplePushNotifications, [Parameter()] - [System.Management.Automation.SwitchParameter] - $SystemOperation, + [System.Boolean] + $AllowPOPIMAPEmail, [Parameter()] [System.Boolean] - $SpoAipIntegrationEnabled, + $IsDefault, [Parameter()] [System.Object] - $ExternalMailRightsManagementOwner, + $MaxInactivityTimeLock, [Parameter()] [System.Object] - $PolicyTemplateInfo, + $ApprovedApplicationList, + + [Parameter()] + [System.Boolean] + $AllowTextMessaging, [Parameter()] [System.Object] - $Identity, + $MaxPasswordFailedAttempts, [Parameter()] [System.Boolean] - $Enabled, + $DeviceEncryptionEnabled, [Parameter()] [System.Object] - $RemoveOneDriveLocationException, + $MinPasswordLength, + + [Parameter()] + [System.Boolean] + $AllowHTMLEmail + ) +} +function New-OfflineAddressBook +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] [System.Object] - $AddSharePointLocation, + $DiffRetentionPeriod, + + [Parameter()] + [System.Object[]] + $AddressLists, + [Parameter()] + [System.Boolean] + $IsDefault + ) +} +function New-OnPremisesOrganization +{ + [CmdletBinding()] + param( [Parameter()] [System.Object] - $AddExchangeLocation, + $InboundConnector, + + [Parameter()] + [System.String] + $Name, [Parameter()] [System.Object] - $PolicyRBACScopes, + $OutboundConnector, + + [Parameter()] + [System.String] + $OrganizationName, [Parameter()] [System.Management.Automation.SwitchParameter] - $Force, + $Confirm, [Parameter()] - [System.Object] - $Priority, + [System.String] + $Comment, [Parameter()] - [System.Object] - $RemoveSharePointLocation, + [System.Guid] + $OrganizationGuid, + + [Parameter()] + [System.Object] + $OrganizationRelationship, + + [Parameter()] + [System.Object] + $HybridDomains + ) +} +function New-OrganizationRelationship +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $MailTipsAccessLevel, + + [Parameter()] + [System.Uri] + $TargetAutodiscoverEpr, + + [Parameter()] + [System.Boolean] + $Enabled, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Object] + $FreeBusyAccessScope, + + [Parameter()] + [System.Boolean] + $DeliveryReportEnabled, + + [Parameter()] + [System.String] + $OAuthApplicationId, + + [Parameter()] + [System.Boolean] + $MailTipsAccessEnabled, + + [Parameter()] + [System.Object] + $OrganizationContact, + + [Parameter()] + [System.Boolean] + $ArchiveAccessEnabled, + + [Parameter()] + [System.Boolean] + $FreeBusyAccessEnabled, + + [Parameter()] + [System.Object] + $MailTipsAccessScope, + + [Parameter()] + [System.Uri] + $TargetOwaURL, + + [Parameter()] + [System.Uri] + $TargetApplicationUri, + + [Parameter()] + [System.Boolean] + $PhotosEnabled, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $MailboxMovePublishedScopes, + + [Parameter()] + [System.Boolean] + $MailboxMoveEnabled, + + [Parameter()] + [System.Object] + $MailboxMoveCapability, + + [Parameter()] + [System.Uri] + $TargetSharingEpr, + + [Parameter()] + [System.Object] + $FreeBusyAccessLevel, + + [Parameter()] + [System.Object] + $DomainNames + ) +} +function New-OutboundConnector +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Boolean] + $RouteAllMessagesViaOnPremises, + + [Parameter()] + [System.Object] + $RecipientDomains, + + [Parameter()] + [System.Boolean] + $CloudServicesMailEnabled, + + [Parameter()] + [System.Boolean] + $Enabled, + + [Parameter()] + [System.Guid] + $LinkForModifiedConnector, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Boolean] + $AllAcceptedDomains, + + [Parameter()] + [System.Object] + $TlsDomain, + + [Parameter()] + [System.String] + $Comment, + + [Parameter()] + [System.Boolean] + $IsTransportRuleScoped, + + [Parameter()] + [System.Boolean] + $UseMXRecord, + + [Parameter()] + [System.Object] + $TlsSettings, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $ConnectorType, + + [Parameter()] + [System.Object] + $SmartHosts, + + [Parameter()] + [System.Boolean] + $SenderRewritingEnabled, + + [Parameter()] + [System.Boolean] + $TestMode, + + [Parameter()] + [System.Object] + $ConnectorSource + ) +} +function New-OwaMailboxPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $IsDefault + ) +} +function New-PartnerApplication +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $ApplicationIdentifier, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Object] + $LinkedAccount, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Boolean] + $AcceptSecurityIdentifierInformation, + + [Parameter()] + [System.Object] + $AccountType, + + [Parameter()] + [System.Boolean] + $Enabled + ) +} +function New-PolicyTipConfig +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $Value, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm + ) +} +function New-QuarantinePolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $MultiLanguageCustomDisclaimer, + + [Parameter()] + [System.Object] + $AdminNotificationLanguage, + + [Parameter()] + [System.String] + $EndUserSpamNotificationCustomFromAddress, + + [Parameter()] + [System.String] + $AdminDisplayName, + + [Parameter()] + [System.Int32] + $EndUserSpamNotificationFrequencyInDays, + + [Parameter()] + [System.String] + $CustomDisclaimer, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Int32] + $EndUserQuarantinePermissionsValue, + + [Parameter()] + [System.Boolean] + $ESNEnabled, + + [Parameter()] + [System.Object] + $EndUserQuarantinePermissions, + + [Parameter()] + [System.Boolean] + $AdminNotificationsEnabled, + + [Parameter()] + [System.Object] + $EndUserSpamNotificationLanguage, + + [Parameter()] + [System.Object] + $DomainController, + + [Parameter()] + [System.Object] + $MultiLanguageSenderName, + + [Parameter()] + [System.Object] + $AdminQuarantinePermissionsList, + + [Parameter()] + [System.Object] + $MultiLanguageSetting, + + [Parameter()] + [System.TimeSpan] + $EndUserSpamNotificationFrequency, + + [Parameter()] + [System.Int32] + $QuarantineRetentionDays, + + [Parameter()] + [System.Object] + $EsnCustomSubject, + + [Parameter()] + [System.Boolean] + $OrganizationBrandingEnabled, + + [Parameter()] + [System.Int32] + $AdminNotificationFrequencyInDays, + + [Parameter()] + [System.Object] + $QuarantinePolicyType + ) +} +function New-RemoteDomain +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $DomainName + ) +} +function New-RoleAssignmentPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $Description, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Object[]] + $Roles, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $IsDefault + ) +} +function New-RoleGroup +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $Description, + + [Parameter()] + [System.Object] + $CustomRecipientWriteScope, + + [Parameter()] + [System.String] + $DisplayName, + + [Parameter()] + [System.Object] + $Members, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object[]] + $Roles, + + [Parameter()] + [System.String] + $WellKnownObject, + + [Parameter()] + [System.Object] + $ManagedBy, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Force + ) +} +function New-SharingPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Domains, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Default, + + [Parameter()] + [System.Boolean] + $Enabled + ) +} +function New-TransportRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $ActivationDate, + + [Parameter()] + [System.Object[]] + $AddToRecipients, + + [Parameter()] + [System.Object] + $ApplyHtmlDisclaimerFallbackAction, + + [Parameter()] + [System.Object[]] + $ExceptIfRecipientADAttributeContainsWords, + + [Parameter()] + [System.Object] + $AttachmentSizeOver, + + [Parameter()] + [System.Object[]] + $ExceptIfSenderADAttributeContainsWords, + + [Parameter()] + [System.Object] + $SetSCL, + + [Parameter()] + [System.Object[]] + $AnyOfToHeaderMemberOf, + + [Parameter()] + [System.Boolean] + $Disconnect, + + [Parameter()] + [System.Int32] + $Priority, + + [Parameter()] + [System.Object[]] + $ExceptIfSentToMemberOf, + + [Parameter()] + [System.Object[]] + $ExceptIfAnyOfCcHeader, + + [Parameter()] + [System.Object[]] + $ExceptIfAttachmentMatchesPatterns, + + [Parameter()] + [System.Object[]] + $RecipientDomainIs, + + [Parameter()] + [System.Object] + $ManagerForEvaluatedUser, + + [Parameter()] + [System.Object[]] + $ExceptIfHeaderMatchesPatterns, + + [Parameter()] + [System.Object] + $ExceptIfFromScope, + + [Parameter()] + [System.Object] + $AdComparisonAttribute, + + [Parameter()] + [System.Object[]] + $ExceptIfAttachmentContainsWords, + + [Parameter()] + [System.Object[]] + $ExceptIfHeaderContainsWords, + + [Parameter()] + [System.Object[]] + $HeaderMatchesPatterns, + + [Parameter()] + [System.Object] + $AddManagerAsRecipientType, + + [Parameter()] + [System.Boolean] + $DeleteMessage, + + [Parameter()] + [System.Boolean] + $HasSenderOverride, + + [Parameter()] + [System.Object] + $SmtpRejectMessageRejectStatusCode, + + [Parameter()] + [System.String] + $ExceptIfHasClassification, + + [Parameter()] + [System.Boolean] + $Quarantine, + + [Parameter()] + [System.Object[]] + $ExceptIfAnyOfRecipientAddressMatchesPatterns, + + [Parameter()] + [System.Object[]] + $ExceptIfRecipientInSenderList, + + [Parameter()] + [System.Object] + $RecipientAddressType, + + [Parameter()] + [System.Object[]] + $ExceptIfContentCharacterSetContainsWords, + + [Parameter()] + [System.Object[]] + $BlindCopyTo, + + [Parameter()] + [System.Object] + $ApplyHtmlDisclaimerLocation, + + [Parameter()] + [System.Object] + $ExceptIfMessageTypeMatches, + + [Parameter()] + [System.Object] + $SenderIpRanges, + + [Parameter()] + [System.Collections.Hashtable[]] + $ExceptIfMessageContainsDataClassifications, + + [Parameter()] + [System.Object[]] + $ModerateMessageByUser, + + [Parameter()] + [System.Boolean] + $HasNoClassification, + + [Parameter()] + [System.Object[]] + $ExceptIfSenderInRecipientList, + + [Parameter()] + [System.Object] + $HeaderContainsMessageHeader, + + [Parameter()] + [System.Object] + $RemoveHeader, + + [Parameter()] + [System.String] + $HasClassification, + + [Parameter()] + [System.Collections.Hashtable[]] + $MessageContainsDataClassifications, + + [Parameter()] + [System.Object[]] + $ExceptIfFromMemberOf, + + [Parameter()] + [System.Object] + $RuleSubType, + + [Parameter()] + [System.Object[]] + $AnyOfRecipientAddressMatchesPatterns, + + [Parameter()] + [System.Object] + $SentToScope, + + [Parameter()] + [System.Object[]] + $AnyOfToCcHeaderMemberOf, + + [Parameter()] + [System.Object[]] + $From, + + [Parameter()] + [System.Object[]] + $ExceptIfAnyOfRecipientAddressContainsWords, + + [Parameter()] + [System.Object] + $ExceptIfWithImportance, + + [Parameter()] + [System.Object[]] + $ContentCharacterSetContainsWords, + + [Parameter()] + [System.Object[]] + $SubjectContainsWords, + + [Parameter()] + [System.Object] + $RejectMessageEnhancedStatusCode, + + [Parameter()] + [System.Object[]] + $SenderADAttributeMatchesPatterns, + + [Parameter()] + [System.Object[]] + $ExceptIfSenderADAttributeMatchesPatterns, + + [Parameter()] + [System.Object[]] + $IncidentReportContent, + + [Parameter()] + [System.Boolean] + $UseLegacyRegex, + + [Parameter()] + [System.Object[]] + $FromMemberOf, + + [Parameter()] + [System.Object[]] + $AttachmentContainsWords, + + [Parameter()] + [System.Object] + $ExceptIfSCLOver, + + [Parameter()] + [System.Object[]] + $ExceptIfBetweenMemberOf1, + + [Parameter()] + [System.Object] + $GenerateNotification, + + [Parameter()] + [System.Object] + $NotifySender, + + [Parameter()] + [System.Boolean] + $ExceptIfAttachmentIsPasswordProtected, + + [Parameter()] + [System.Object[]] + $ExceptIfAttachmentNameMatchesPatterns, + + [Parameter()] + [System.Object] + $ExceptIfSenderManagementRelationship, + + [Parameter()] + [System.String] + $SetAuditSeverity, + + [Parameter()] + [System.Object[]] + $AttachmentPropertyContainsWords, + + [Parameter()] + [System.Object[]] + $ExceptIfAnyOfToHeader, + + [Parameter()] + [System.Object] + $ApplyRightsProtectionCustomizationTemplate, + + [Parameter()] + [System.Object] + $SetHeaderName, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Boolean] + $RouteMessageOutboundRequireTls, + + [Parameter()] + [System.Object] + $WithImportance, + + [Parameter()] + [System.Object] + $RuleErrorAction, + + [Parameter()] + [System.Object] + $FromScope, + + [Parameter()] + [System.Object[]] + $AttachmentNameMatchesPatterns, + + [Parameter()] + [System.Object[]] + $SentTo, + + [Parameter()] + [System.Object[]] + $ExceptIfFromAddressMatchesPatterns, + + [Parameter()] + [System.Boolean] + $Enabled, + + [Parameter()] + [System.Object] + $ExceptIfAttachmentSizeOver, + + [Parameter()] + [System.Object] + $ExceptIfManagerForEvaluatedUser, + + [Parameter()] + [System.Boolean] + $RemoveOMEv2, + + [Parameter()] + [System.Object[]] + $ExceptIfFromAddressContainsWords, + + [Parameter()] + [System.Boolean] + $AttachmentHasExecutableContent, + + [Parameter()] + [System.Object] + $RouteMessageOutboundConnector, + + [Parameter()] + [System.Object[]] + $ExceptIfRecipientDomainIs, + + [Parameter()] + [System.Object[]] + $ExceptIfSenderDomainIs, + + [Parameter()] + [System.Object] + $SenderManagementRelationship, + + [Parameter()] + [System.Object[]] + $ExceptIfBetweenMemberOf2, + + [Parameter()] + [System.Object[]] + $RedirectMessageTo, + + [Parameter()] + [System.Boolean] + $ApplyOME, + + [Parameter()] + [System.Object[]] + $SenderDomainIs, + + [Parameter()] + [System.Object[]] + $SenderADAttributeContainsWords, + + [Parameter()] + [System.Object[]] + $ExceptIfAnyOfCcHeaderMemberOf, + + [Parameter()] + [System.Object] + $ApplyHtmlDisclaimerText, + + [Parameter()] + [System.Boolean] + $ExceptIfAttachmentHasExecutableContent, + + [Parameter()] + [System.Boolean] + $ExceptIfAttachmentIsUnsupported, + + [Parameter()] + [System.Boolean] + $RemoveOME, + + [Parameter()] + [System.Object] + $RejectMessageReasonText, + + [Parameter()] + [System.Object[]] + $RecipientAddressContainsWords, + + [Parameter()] + [System.Object] + $GenerateIncidentReport, + + [Parameter()] + [System.Object[]] + $FromAddressContainsWords, + + [Parameter()] + [System.Boolean] + $RemoveRMSAttachmentEncryption, + + [Parameter()] + [System.Object[]] + $RecipientAddressMatchesPatterns, + + [Parameter()] + [System.Object[]] + $ExceptIfSubjectContainsWords, + + [Parameter()] + [System.Object[]] + $ExceptIfFrom, + + [Parameter()] + [System.Object[]] + $AnyOfToCcHeader, + + [Parameter()] + [System.Object] + $ExceptIfSentToScope, + + [Parameter()] + [System.Object[]] + $ExceptIfAnyOfToCcHeaderMemberOf, + + [Parameter()] + [System.Boolean] + $ModerateMessageByManager, + + [Parameter()] + [System.Object] + $AdComparisonOperator, + + [Parameter()] + [System.Object] + $MessageSizeOver, + + [Parameter()] + [System.Object[]] + $BetweenMemberOf2, + + [Parameter()] + [System.Object[]] + $SubjectMatchesPatterns, + + [Parameter()] + [System.Boolean] + $AttachmentProcessingLimitExceeded, + + [Parameter()] + [System.Object[]] + $ExceptIfSubjectMatchesPatterns, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Object[]] + $ExceptIfRecipientAddressContainsWords, + + [Parameter()] + [System.Object] + $HeaderMatchesMessageHeader, + + [Parameter()] + [System.Object[]] + $AnyOfRecipientAddressContainsWords, + + [Parameter()] + [System.Object[]] + $HeaderContainsWords, + + [Parameter()] + [System.String] + $Comments, + + [Parameter()] + [System.Object[]] + $SentToMemberOf, + + [Parameter()] + [System.Object] + $ExceptIfAdComparisonAttribute, + + [Parameter()] + [System.Object[]] + $ExceptIfSentTo, + + [Parameter()] + [System.Object] + $ExceptIfAdComparisonOperator, + + [Parameter()] + [System.Object[]] + $ExceptIfAnyOfToHeaderMemberOf, + + [Parameter()] + [System.Object] + $Mode, + + [Parameter()] + [System.Object[]] + $RecipientInSenderList, + + [Parameter()] + [System.Object[]] + $SubjectOrBodyMatchesPatterns, + + [Parameter()] + [System.Object[]] + $ExceptIfAttachmentExtensionMatchesWords, + + [Parameter()] + [System.Object[]] + $ExceptIfSubjectOrBodyMatchesPatterns, + + [Parameter()] + [System.Object[]] + $ExceptIfRecipientAddressMatchesPatterns, + + [Parameter()] + [System.Boolean] + $ExceptIfHasNoClassification, + + [Parameter()] + [System.Object] + $ExceptIfSenderIpRanges, + + [Parameter()] + [System.Object[]] + $ExceptIfRecipientADAttributeMatchesPatterns, + + [Parameter()] + [System.Object[]] + $RecipientADAttributeContainsWords, + + [Parameter()] + [System.Boolean] + $AttachmentIsUnsupported, + + [Parameter()] + [System.Object] + $ExpiryDate, + + [Parameter()] + [System.Object[]] + $AttachmentExtensionMatchesWords, + + [Parameter()] + [System.Object[]] + $ExceptIfSubjectOrBodyContainsWords, + + [Parameter()] + [System.Object] + $LogEventText, + + [Parameter()] + [System.Object[]] + $ExceptIfManagerAddresses, + + [Parameter()] + [System.Object[]] + $SenderInRecipientList, + + [Parameter()] + [System.Object[]] + $ExceptIfAnyOfToCcHeader, + + [Parameter()] + [System.Object[]] + $AttachmentMatchesPatterns, + + [Parameter()] + [System.String] + $DlpPolicy, + + [Parameter()] + [System.Object[]] + $ManagerAddresses, + + [Parameter()] + [System.Object] + $SenderAddressLocation, + + [Parameter()] + [System.Object[]] + $CopyTo, + + [Parameter()] + [System.Object[]] + $SubjectOrBodyContainsWords, + + [Parameter()] + [System.String] + $ApplyClassification, + + [Parameter()] + [System.Object[]] + $RecipientADAttributeMatchesPatterns, + + [Parameter()] + [System.Object] + $SetHeaderValue, + + [Parameter()] + [System.Boolean] + $AttachmentIsPasswordProtected, + + [Parameter()] + [System.Object[]] + $BetweenMemberOf1, + + [Parameter()] + [System.Object] + $ExceptIfMessageSizeOver, + + [Parameter()] + [System.Object[]] + $AnyOfCcHeader, + + [Parameter()] + [System.Boolean] + $ExceptIfAttachmentProcessingLimitExceeded, + + [Parameter()] + [System.Object[]] + $FromAddressMatchesPatterns, + + [Parameter()] + [System.Object] + $ExceptIfHeaderMatchesMessageHeader, + + [Parameter()] + [System.Object] + $SmtpRejectMessageRejectText, + + [Parameter()] + [System.Object[]] + $AnyOfCcHeaderMemberOf, + + [Parameter()] + [System.Object[]] + $AnyOfToHeader, + + [Parameter()] + [System.Boolean] + $ExceptIfHasSenderOverride, + + [Parameter()] + [System.Object] + $SCLOver, + + [Parameter()] + [System.Object] + $PrependSubject, + + [Parameter()] + [System.Object] + $ApplyRightsProtectionTemplate, + + [Parameter()] + [System.Object] + $MessageTypeMatches, + + [Parameter()] + [System.Object[]] + $ExceptIfAttachmentPropertyContainsWords, + + [Parameter()] + [System.Boolean] + $StopRuleProcessing, + + [Parameter()] + [System.Object] + $ExceptIfHeaderContainsMessageHeader + ) +} +function Remove-ActiveSyncDevice +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-ActiveSyncDeviceAccessRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-AddressBookPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-AddressList +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Recursive + ) +} +function Remove-AntiPhishPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Force + ) +} +function Remove-AntiPhishRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-App +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Mailbox, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $OrganizationApp, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $PrivateCatalog + ) +} +function Remove-ApplicationAccessPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-AuditConfigurationPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm + ) +} +function Remove-AuthenticationPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-AvailabilityAddressSpace +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-AvailabilityConfig +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-ClientAccessRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-DataClassification +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-DistributionGroup +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $BypassSecurityGroupManagerCheck + ) +} +function Remove-EmailAddressPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-GlobalAddressList +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-HostedConnectionFilterPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-HostedContentFilterPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-HostedContentFilterRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-HostedOutboundSpamFilterPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Force + ) +} +function Remove-HostedOutboundSpamFilterRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-InboundConnector +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-IntraOrganizationConnector +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-JournalRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-Mailbox +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $PublicFolder, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $PermanentlyDelete, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $RemoveCNFPublicFolderMailboxPermanently, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Migration, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Force + ) +} +function Remove-MailContact +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-MalwareFilterPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-MalwareFilterRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-ManagementRole +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Recurse, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Force + ) +} +function Remove-ManagementRoleAssignment +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Force + ) +} +function Remove-MessageClassification +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-MobileDevice +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-MobileDeviceMailboxPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Force + ) +} +function Remove-OfflineAddressBook +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Force + ) +} +function Remove-OnPremisesOrganization +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-OrganizationRelationship +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-OutboundConnector +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-OwaMailboxPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Force + ) +} +function Remove-PartnerApplication +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-PolicyTipConfig +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-QuarantinePolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object] + $DomainController + ) +} +function Remove-RemoteDomain +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-RoleAssignmentPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-RoleGroup +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $BypassSecurityGroupManagerCheck, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Force + ) +} +function Remove-SharingPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-TransportRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Set-AcceptedDomain +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Boolean] + $EnableNego2Authentication, + + [Parameter()] + [System.Boolean] + $OutboundOnly, + + [Parameter()] + [System.Boolean] + $CanHaveCloudCache, + + [Parameter()] + [System.Boolean] + $SendingFromDomainDisabled, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Boolean] + $MatchSubDomains, + + [Parameter()] + [System.Object] + $DomainType + ) +} +function Set-ActiveSyncDeviceAccessRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object] + $AccessLevel + ) +} +function Set-AddressBookPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $RoomList, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object] + $GlobalAddressList, + + [Parameter()] + [System.Object[]] + $AddressLists, + + [Parameter()] + [System.Object] + $OfflineAddressBook + ) +} +function Set-AddressList +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute8, + + [Parameter()] + [System.String] + $DisplayName, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute10, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute9, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute2, + + [Parameter()] + [System.Object] + $IncludedRecipients, + + [Parameter()] + [System.Object] + $ConditionalCompany, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute6, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute3, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute12, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute13, + + [Parameter()] + [System.String] + $RecipientFilter, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute15, + + [Parameter()] + [System.Object] + $ConditionalDepartment, + + [Parameter()] + [System.Object] + $ConditionalStateOrProvince, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute7, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute14, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute4, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute11, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute1, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute5 + ) +} +function Set-AdminAuditLogConfig +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Boolean] + $UnifiedAuditLogIngestionEnabled, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Force + ) +} +function Set-AntiPhishPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Boolean] + $HonorDmarcPolicy, + + [Parameter()] + [System.Boolean] + $EnableUnauthenticatedSender, + + [Parameter()] + [System.Boolean] + $EnableSpoofIntelligence, + + [Parameter()] + [System.Boolean] + $EnableFirstContactSafetyTips, + + [Parameter()] + [System.String] + $AdminDisplayName, + + [Parameter()] + [System.String] + $SpoofQuarantineTag, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Boolean] + $EnableViaTag, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Boolean] + $Enabled, + + [Parameter()] + [System.Object] + $AuthenticationFailAction, + + [Parameter()] + [System.Object] + $DmarcQuarantineAction, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $MakeDefault, + + [Parameter()] + [System.Object] + $DmarcRejectAction + ) +} +function Set-AntiPhishRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Int32] + $Priority, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Object[]] + $SentToMemberOf, + + [Parameter()] + [System.Object] + $AntiPhishPolicy, + + [Parameter()] + [System.Object[]] + $SentTo, + + [Parameter()] + [System.String] + $Comments, + + [Parameter()] + [System.Object[]] + $RecipientDomainIs, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object[]] + $ExceptIfRecipientDomainIs, + + [Parameter()] + [System.Object[]] + $ExceptIfSentTo, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object[]] + $ExceptIfSentToMemberOf + ) +} +function Set-App +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $UserList, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $PrivateCatalog, + + [Parameter()] + [System.Object] + $DefaultStateForUser, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $OrganizationApp, + + [Parameter()] + [System.Object] + $ProvidedTo, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Boolean] + $Enabled + ) +} +function Set-ApplicationAccessPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $Description, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Set-AuthenticationPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $AllowBasicAuthPop, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $AllowBasicAuthSmtp, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $AllowBasicAuthMapi, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $AllowBasicAuthImap, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $AllowBasicAuthAutodiscover, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $AllowBasicAuthPowershell, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $AllowBasicAuthRpc, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $AllowBasicAuthOfflineAddressBook, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $AllowBasicAuthReportingWebServices, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $AllowBasicAuthOutlookService, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $AllowBasicAuthActiveSync, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $AllowBasicAuthWebServices + ) +} +function Set-AvailabilityConfig +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $OrgWideAccount, + + [Parameter()] + [System.Object] + $AllowedTenantIds + ) +} +function Set-CalendarProcessing +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Int32] + $MaximumConflictInstances, + + [Parameter()] + [System.Object] + $BookingType, + + [Parameter()] + [System.Boolean] + $ForwardRequestsToDelegates, + + [Parameter()] + [System.Boolean] + $RemoveCanceledMeetings, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object[]] + $ResourceDelegates, + + [Parameter()] + [System.Boolean] + $DeleteNonCalendarItems, + + [Parameter()] + [System.Boolean] + $RemovePrivateProperty, + + [Parameter()] + [System.Boolean] + $DeleteComments, + + [Parameter()] + [System.Boolean] + $EnforceSchedulingHorizon, + + [Parameter()] + [System.Boolean] + $EnableResponseDetails, + + [Parameter()] + [System.Object[]] + $RequestInPolicy, + + [Parameter()] + [System.Boolean] + $EnforceCapacity, + + [Parameter()] + [System.Boolean] + $AllowConflicts, + + [Parameter()] + [System.Boolean] + $AllRequestInPolicy, + + [Parameter()] + [System.Boolean] + $AddOrganizerToSubject, + + [Parameter()] + [System.Object[]] + $BookInPolicy, + + [Parameter()] + [System.Int32] + $ConflictPercentageAllowed, + + [Parameter()] + [System.Object] + $AutomateProcessing, + + [Parameter()] + [System.Boolean] + $AllRequestOutOfPolicy, + + [Parameter()] + [System.Boolean] + $AddNewRequestsTentatively, + + [Parameter()] + [System.Boolean] + $EnableAutoRelease, + + [Parameter()] + [System.Int32] + $PostReservationMaxClaimTimeInMinutes, + + [Parameter()] + [System.Boolean] + $AllBookInPolicy, + + [Parameter()] + [System.Boolean] + $ProcessExternalMeetingMessages, + + [Parameter()] + [System.Boolean] + $DeleteAttachments, + + [Parameter()] + [System.Boolean] + $ScheduleOnlyDuringWorkHours, + + [Parameter()] + [System.String] + $AdditionalResponse, + + [Parameter()] + [System.Boolean] + $TentativePendingApproval, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Int32] + $MaximumDurationInMinutes, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $IgnoreDefaultScope, + + [Parameter()] + [System.Object[]] + $RequestOutOfPolicy, + + [Parameter()] + [System.Boolean] + $RemoveOldMeetingMessages, + + [Parameter()] + [System.Boolean] + $OrganizerInfo, + + [Parameter()] + [System.Int32] + $MinimumDurationInMinutes, + + [Parameter()] + [System.Boolean] + $AddAdditionalResponse, + + [Parameter()] + [System.Boolean] + $RemoveForwardedMeetingNotifications, + + [Parameter()] + [System.Int32] + $BookingWindowInDays, + + [Parameter()] + [System.Boolean] + $AllowRecurringMeetings, + + [Parameter()] + [System.Boolean] + $DeleteSubject + ) +} +function Set-CASMailbox +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Boolean] + $IsOptimizedForAccessibility, + + [Parameter()] + [System.Boolean] + $ImapEnabled, + + [Parameter()] + [System.Boolean] + $ImapSuppressReadReceipt, + + [Parameter()] + [System.Boolean] + $ActiveSyncSuppressReadReceipt, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object] + $EwsBlockList, + + [Parameter()] + [System.Object] + $EwsAllowEntourage, + + [Parameter()] + [System.Object] + $OwaMailboxPolicy, + + [Parameter()] + [System.Boolean] + $PopUseProtocolDefaults, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $SmtpClientAuthenticationDisabled, + + [Parameter()] + [System.Boolean] + $PopForceICalForCalendarRetrievalOption, + + [Parameter()] + [System.Boolean] + $ImapForceICalForCalendarRetrievalOption, + + [Parameter()] + [System.Boolean] + $ShowGalAsDefaultView, + + [Parameter()] + [System.Object] + $ActiveSyncBlockedDeviceIDs, + + [Parameter()] + [System.Boolean] + $MAPIEnabled, + + [Parameter()] + [System.Object] + $EwsAllowOutlook, + + [Parameter()] + [System.Boolean] + $PopEnabled, + + [Parameter()] + [System.Object] + $ActiveSyncAllowedDeviceIDs, + + [Parameter()] + [System.Object] + $EwsEnabled, + + [Parameter()] + [System.Object] + $OutlookMobileEnabled, + + [Parameter()] + [System.Object] + $EwsAllowMacOutlook, + + [Parameter()] + [System.Object] + $EwsApplicationAccessPolicy, + + [Parameter()] + [System.Object] + $OneWinNativeOutlookEnabled, + + [Parameter()] + [System.Boolean] + $OWAEnabled, + + [Parameter()] + [System.Boolean] + $PublicFolderClientAccess, + + [Parameter()] + [System.Object] + $ActiveSyncMailboxPolicy, + + [Parameter()] + [System.Object] + $UniversalOutlookEnabled, + + [Parameter()] + [System.Boolean] + $ImapUseProtocolDefaults, + + [Parameter()] + [System.Boolean] + $ActiveSyncDebugLogging, + + [Parameter()] + [System.Boolean] + $OWAforDevicesEnabled, + + [Parameter()] + [System.Object] + $ImapMessagesRetrievalMimeFormat, + + [Parameter()] + [System.Boolean] + $ActiveSyncEnabled, + + [Parameter()] + [System.Object] + $MacOutlookEnabled, + + [Parameter()] + [System.Boolean] + $PopSuppressReadReceipt, + + [Parameter()] + [System.Object] + $EwsAllowList, + + [Parameter()] + [System.Object] + $PopMessagesRetrievalMimeFormat + ) +} +function set-CASMailboxPlan +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Boolean] + $ImapEnabled, + + [Parameter()] + [System.Object] + $OwaMailboxPolicy, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Boolean] + $PopEnabled, + + [Parameter()] + [System.Boolean] + $ActiveSyncEnabled + ) +} +function Set-ClientAccessRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $UsernameMatchesAnyOfPatterns, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object] + $Action, + + [Parameter()] + [System.Object] + $AnyOfClientIPAddressesOrRanges, + + [Parameter()] + [System.Boolean] + $Enabled, + + [Parameter()] + [System.Object] + $ExceptAnyOfClientIPAddressesOrRanges, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.String] + $UserRecipientFilter, + + [Parameter()] + [System.Object] + $ExceptAnyOfProtocols, + + [Parameter()] + [System.Object] + $AnyOfProtocols, + + [Parameter()] + [System.Int32] + $Priority, + + [Parameter()] + [System.Object] + $ExceptUsernameMatchesAnyOfPatterns, + + [Parameter()] + [System.Object] + $AnyOfAuthenticationTypes, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $ExceptAnyOfAuthenticationTypes, + + [Parameter()] + [System.Object] + $Scope + ) +} +function Set-DataClassification +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $Description, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Globalization.CultureInfo] + $Locale, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Fingerprints, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $IsDefault + ) +} +function Set-DataEncryptionPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $DomainController, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $PermanentDataPurgeRequested, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.String] + $PermanentDataPurgeReason, + + [Parameter()] + [System.Boolean] + $Enabled, + + [Parameter()] + [System.String] + $PermanentDataPurgeContact, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Force + ) +} +function Set-DistributionGroup +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $EmailAddresses, + + [Parameter()] + [System.Object] + $RejectMessagesFromDLMembers, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $RoomList, + + [Parameter()] + [System.Object] + $AcceptMessagesOnlyFromSendersOrMembers, + + [Parameter()] + [System.String] + $CustomAttribute10, + + [Parameter()] + [System.Object] + $ExtensionCustomAttribute5, + + [Parameter()] + [System.String] + $CustomAttribute8, + + [Parameter()] + [System.String] + $CustomAttribute5, + + [Parameter()] + [System.Boolean] + $BccBlocked, + + [Parameter()] + [System.Object] + $AcceptMessagesOnlyFromDLMembers, + + [Parameter()] + [System.String] + $SimpleDisplayName, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $IgnoreNamingPolicy, + + [Parameter()] + [System.Boolean] + $ReportToManagerEnabled, + + [Parameter()] + [System.String] + $MailTip, + + [Parameter()] + [System.Object] + $ModeratedBy, + + [Parameter()] + [System.Object] + $GrantSendOnBehalfTo, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ResetMigrationToUnifiedGroup, + + [Parameter()] + [System.Object] + $AcceptMessagesOnlyFrom, + + [Parameter()] + [System.Boolean] + $BypassNestedModerationEnabled, + + [Parameter()] + [System.Boolean] + $ModerationEnabled, + + [Parameter()] + [System.Object] + $MemberDepartRestriction, + + [Parameter()] + [System.Object] + $ExtensionCustomAttribute4, + + [Parameter()] + [System.String] + $CustomAttribute15, + + [Parameter()] + [System.Object] + $RejectMessagesFromSendersOrMembers, + + [Parameter()] + [System.Object] + $WindowsEmailAddress, + + [Parameter()] + [System.String] + $Alias, + + [Parameter()] + [System.String] + $DisplayName, + + [Parameter()] + [System.Boolean] + $ReportToOriginatorEnabled, + + [Parameter()] + [System.Object] + $BypassModerationFromSendersOrMembers, + + [Parameter()] + [System.Object] + $RejectMessagesFrom, + + [Parameter()] + [System.String] + $CustomAttribute1, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ForceUpgrade, + + [Parameter()] + [System.Object] + $ManagedBy, + + [Parameter()] + [System.Object] + $Description, + + [Parameter()] + [System.Object] + $ExtensionCustomAttribute1, + + [Parameter()] + [System.String] + $CustomAttribute14, + + [Parameter()] + [System.Boolean] + $RequireSenderAuthenticationEnabled, + + [Parameter()] + [System.String] + $CustomAttribute9, + + [Parameter()] + [System.String] + $CustomAttribute6, + + [Parameter()] + [System.Boolean] + $SendOofMessageToOriginatorEnabled, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $BypassSecurityGroupManagerCheck, + + [Parameter()] + [System.Object] + $ExtensionCustomAttribute2, + + [Parameter()] + [System.String] + $CustomAttribute13, + + [Parameter()] + [System.String] + $CustomAttribute2, + + [Parameter()] + [System.Object] + $PrimarySmtpAddress, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $SendModerationNotifications, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $HiddenGroupMembershipEnabled, + + [Parameter()] + [System.Object] + $MemberJoinRestriction, + + [Parameter()] + [System.Boolean] + $HiddenFromAddressListsEnabled, + + [Parameter()] + [System.Object] + $MailTipTranslations, + + [Parameter()] + [System.String] + $CustomAttribute7, + + [Parameter()] + [System.String] + $CustomAttribute4, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Object] + $ExtensionCustomAttribute3, + + [Parameter()] + [System.String] + $CustomAttribute12, + + [Parameter()] + [System.String] + $CustomAttribute3, + + [Parameter()] + [System.String] + $CustomAttribute11, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Set-DkimSigningConfig +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $AdminDisplayName, + + [Parameter()] + [System.Object] + $BodyCanonicalization, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $PublishTxtRecords, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Boolean] + $Enabled, + + [Parameter()] + [System.Object] + $HeaderCanonicalization + ) +} +function Set-EmailAddressPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $Priority, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Object] + $EnabledEmailAddressTemplates, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ForceUpgrade, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.String] + $EnabledPrimarySMTPAddressTemplate, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Set-GlobalAddressList +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute8, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute10, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute9, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute2, + + [Parameter()] + [System.Object] + $IncludedRecipients, + + [Parameter()] + [System.Object] + $ConditionalCompany, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute6, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute3, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute12, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute13, + + [Parameter()] + [System.String] + $RecipientFilter, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute15, + + [Parameter()] + [System.Object] + $ConditionalDepartment, + + [Parameter()] + [System.Object] + $ConditionalStateOrProvince, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute7, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute14, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute4, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute1, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute5, + + [Parameter()] + [System.Object] + $ConditionalCustomAttribute11 + ) +} +function Set-HostedConnectionFilterPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $ConfigurationXmlRaw, + + [Parameter()] + [System.String] + $AdminDisplayName, + + [Parameter()] + [System.Boolean] + $EnableSafeList, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $IPBlockList, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object] + $IPAllowList, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $MakeDefault + ) +} +function Set-HostedContentFilterPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Boolean] + $InlineSafetyTipsEnabled, + + [Parameter()] + [System.Object] + $RegionBlockList, + + [Parameter()] + [System.String] + $HighConfidencePhishQuarantineTag, + + [Parameter()] + [System.Int32] + $EndUserSpamNotificationFrequency, + + [Parameter()] + [System.Int32] + $QuarantineRetentionPeriod, + + [Parameter()] + [System.Int32] + $EndUserSpamNotificationLimit, + + [Parameter()] + [System.Int32] + $BulkThreshold, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $MakeDefault, + + [Parameter()] + [System.Object] + $TestModeBccToRecipients, + + [Parameter()] + [System.String] + $PhishQuarantineTag, + + [Parameter()] + [System.String] + $AddXHeaderValue, + + [Parameter()] + [System.Object] + $MarkAsSpamEmbedTagsInHtml, + + [Parameter()] + [System.Object] + $MarkAsSpamFramesInHtml, + + [Parameter()] + [System.Object] + $IncreaseScoreWithImageLinks, + + [Parameter()] + [System.Boolean] + $EnableLanguageBlockList, + + [Parameter()] + [System.Object] + $PhishSpamAction, + + [Parameter()] + [System.String] + $EndUserSpamNotificationCustomFromName, + + [Parameter()] + [System.Object] + $MarkAsSpamSensitiveWordList, + + [Parameter()] + [System.String] + $SpamQuarantineTag, + + [Parameter()] + [System.Object] + $MarkAsSpamNdrBackscatter, + + [Parameter()] + [System.Object] + $BlockedSenders, + + [Parameter()] + [System.Object] + $LanguageBlockList, + + [Parameter()] + [System.Object] + $HighConfidenceSpamAction, + + [Parameter()] + [System.Object] + $AllowedSenderDomains, + + [Parameter()] + [System.Object] + $IncreaseScoreWithBizOrInfoUrls, + + [Parameter()] + [System.Object] + $MarkAsSpamWebBugsInHtml, + + [Parameter()] + [System.String] + $AdminDisplayName, + + [Parameter()] + [System.Object] + $IntraOrgFilterState, + + [Parameter()] + [System.Object] + $MarkAsSpamFromAddressAuthFail, + + [Parameter()] + [System.Object] + $MarkAsSpamEmptyMessages, + + [Parameter()] + [System.String] + $BulkQuarantineTag, + + [Parameter()] + [System.Object] + $MarkAsSpamFormTagsInHtml, + + [Parameter()] + [System.Object] + $MarkAsSpamObjectTagsInHtml, + + [Parameter()] + [System.Object] + $BulkSpamAction, + + [Parameter()] + [System.Object] + $EndUserSpamNotificationLanguage, + + [Parameter()] + [System.Object] + $IncreaseScoreWithRedirectToOtherPort, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $HighConfidencePhishAction, + + [Parameter()] + [System.Object] + $RedirectToRecipients, + + [Parameter()] + [System.Boolean] + $SpamZapEnabled, + + [Parameter()] + [System.Object] + $TestModeAction, + + [Parameter()] + [System.Boolean] + $EnableRegionBlockList, + + [Parameter()] + [System.String] + $EndUserSpamNotificationCustomSubject, + + [Parameter()] + [System.Object] + $MarkAsSpamSpfRecordHardFail, + + [Parameter()] + [System.Object] + $EndUserSpamNotificationCustomFromAddress, + + [Parameter()] + [System.Boolean] + $DownloadLink, + + [Parameter()] + [System.Object] + $SpamAction, + + [Parameter()] + [System.String] + $ModifySubjectValue, + + [Parameter()] + [System.Object] + $IncreaseScoreWithNumericIps, + + [Parameter()] + [System.Object] + $AllowedSenders, + + [Parameter()] + [System.Object] + $MarkAsSpamJavaScriptInHtml, + + [Parameter()] + [System.Object] + $MarkAsSpamBulkMail, + + [Parameter()] + [System.Object] + $BlockedSenderDomains, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Boolean] + $PhishZapEnabled, + + [Parameter()] + [System.Boolean] + $EnableEndUserSpamNotifications, + + [Parameter()] + [System.String] + $HighConfidenceSpamQuarantineTag + ) +} +function Set-HostedContentFilterRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Int32] + $Priority, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Object[]] + $SentToMemberOf, + + [Parameter()] + [System.Object] + $HostedContentFilterPolicy, + + [Parameter()] + [System.Object[]] + $SentTo, + + [Parameter()] + [System.String] + $Comments, + + [Parameter()] + [System.Object[]] + $RecipientDomainIs, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object[]] + $ExceptIfRecipientDomainIs, + + [Parameter()] + [System.Object[]] + $ExceptIfSentTo, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object[]] + $ExceptIfSentToMemberOf + ) +} +function Set-HostedOutboundSpamFilterPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $AdminDisplayName, + + [Parameter()] + [System.Object] + $BccSuspiciousOutboundAdditionalRecipients, + + [Parameter()] + [System.Object] + $NotifyOutboundSpamRecipients, + + [Parameter()] + [System.UInt32] + $RecipientLimitPerDay, + + [Parameter()] + [System.Object] + $ActionWhenThresholdReached, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.UInt32] + $RecipientLimitExternalPerHour, + + [Parameter()] + [System.Object] + $AutoForwardingMode, + + [Parameter()] + [System.Boolean] + $NotifyOutboundSpam, + + [Parameter()] + [System.UInt32] + $RecipientLimitInternalPerHour, + + [Parameter()] + [System.Boolean] + $BccSuspiciousOutboundMail + ) +} +function Set-HostedOutboundSpamFilterRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Int32] + $Priority, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Object[]] + $ExceptIfFromMemberOf, + + [Parameter()] + [System.Object[]] + $ExceptIfFrom, + + [Parameter()] + [System.Object[]] + $ExceptIfSenderDomainIs, + + [Parameter()] + [System.String] + $Comments, + + [Parameter()] + [System.Object[]] + $FromMemberOf, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object[]] + $SenderDomainIs, + + [Parameter()] + [System.Object] + $HostedOutboundSpamFilterPolicy, + + [Parameter()] + [System.Object[]] + $From, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm + ) +} +function Set-InboundConnector +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Boolean] + $RestrictDomainsToIPAddresses, + + [Parameter()] + [System.Boolean] + $CloudServicesMailEnabled, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Boolean] + $Enabled, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Object] + $EFSkipMailGateway, + + [Parameter()] + [System.Boolean] + $EFTestMode, + + [Parameter()] + [System.Object] + $TrustedOrganizations, + + [Parameter()] + [System.Object] + $TlsSenderCertificateName, + + [Parameter()] + [System.Object] + $ScanAndDropRecipients, + + [Parameter()] + [System.Object] + $AssociatedAcceptedDomains, + + [Parameter()] + [System.String] + $Comment, + + [Parameter()] + [System.Boolean] + $RequireTls, + + [Parameter()] + [System.Object] + $SenderDomains, + + [Parameter()] + [System.Object] + $SenderIPAddresses, + + [Parameter()] + [System.Boolean] + $EFSkipLastIP, + + [Parameter()] + [System.Object] + $EFUsers, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $ConnectorType, + + [Parameter()] + [System.Boolean] + $RestrictDomainsToCertificate, + + [Parameter()] + [System.Object] + $EFSkipIPs, + + [Parameter()] + [System.Boolean] + $TreatMessagesAsInternal, + + [Parameter()] + [System.Object] + $ConnectorSource + ) +} +function Set-IntraOrganizationConnector +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $TargetAddressDomains, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Uri] + $DiscoveryEndpoint, + + [Parameter()] + [System.Uri] + $TargetSharingEpr, + + [Parameter()] + [System.Boolean] + $Enabled + ) +} +function Set-IRMConfiguration +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Uri] + $RMSOnlineKeySharingLocation, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object] + $TransportDecryptionSetting, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Force, + + [Parameter()] + [System.Boolean] + $AzureRMSLicensingEnabled, + + [Parameter()] + [System.Boolean] + $EnablePdfEncryption, + + [Parameter()] + [System.Boolean] + $DecryptAttachmentForEncryptOnly, + + [Parameter()] + [System.Boolean] + $RejectIfRecipientHasNoRights, + + [Parameter()] + [System.Boolean] + $SimplifiedClientAccessEncryptOnlyDisabled, + + [Parameter()] + [System.Boolean] + $InternalLicensingEnabled, + + [Parameter()] + [System.Boolean] + $EDiscoverySuperUserEnabled, + + [Parameter()] + [System.Boolean] + $JournalReportDecryptionEnabled, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Boolean] + $AutomaticServiceUpdateEnabled, + + [Parameter()] + [System.Boolean] + $SimplifiedClientAccessDoNotForwardDisabled, + + [Parameter()] + [System.Boolean] + $SearchEnabled, + + [Parameter()] + [System.Object] + $LicensingLocation, + + [Parameter()] + [System.Boolean] + $SimplifiedClientAccessEnabled + ) +} +function Set-JournalRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $JournalEmailAddress, + + [Parameter()] + [System.Object] + $Recipient, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object] + $Scope + ) +} +function Set-Mailbox +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $EmailAddresses, + + [Parameter()] + [System.Object] + $RejectMessagesFromDLMembers, + + [Parameter()] + [System.Object] + $AuditOwner, + + [Parameter()] + [System.Object] + $AcceptMessagesOnlyFromSendersOrMembers, + + [Parameter()] + [System.Object] + $Type, + + [Parameter()] + [System.Object] + $UserCertificate, + + [Parameter()] + [System.String] + $CustomAttribute10, + + [Parameter()] + [System.Boolean] + $DeliverToMailboxAndForward, + + [Parameter()] + [System.String] + $RetentionUrl, + + [Parameter()] + [System.Object] + $ExtensionCustomAttribute5, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $RecalculateInactiveMailbox, + + [Parameter()] + [System.String] + $CustomAttribute8, + + [Parameter()] + [System.Object] + $ProhibitSendReceiveQuota, + + [Parameter()] + [System.String] + $CustomAttribute5, + + [Parameter()] + [System.Security.SecureString] + $RoomMailboxPassword, + + [Parameter()] + [System.Boolean] + $CalendarVersionStoreDisabled, + + [Parameter()] + [System.Object] + $UseDatabaseQuotaDefaults, + + [Parameter()] + [System.Boolean] + $ElcProcessingDisabled, + + [Parameter()] + [System.String[]] + $ExcludeFromOrgHolds, + + [Parameter()] + [System.String] + $MailboxRegion, + + [Parameter()] + [System.String] + $MailTip, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $GroupMailbox, + + [Parameter()] + [System.Object] + $ResourceCapacity, + + [Parameter()] + [System.Object] + $GrantSendOnBehalfTo, + + [Parameter()] + [System.Object] + $UserSMimeCertificate, + + [Parameter()] + [System.Object] + $AcceptMessagesOnlyFrom, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $RemoveDisabledArchive, + + [Parameter()] + [System.Object] + $Languages, + + [Parameter()] + [System.Object] + $JournalArchiveAddress, + + [Parameter()] + [System.Object] + $LitigationHoldDuration, + + [Parameter()] + [System.Object] + $ModeratedBy, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ProvisionedForOfficeGraph, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $InactiveMailbox, + + [Parameter()] + [System.String] + $RetentionComment, + + [Parameter()] + [System.Object] + $MaxReceiveSize, + + [Parameter()] + [System.Boolean] + $MessageCopyForSendOnBehalfEnabled, + + [Parameter()] + [System.String] + $CustomAttribute15, + + [Parameter()] + [System.Boolean] + $LitigationHoldEnabled, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $UpdateEnforcedTimestamp, + + [Parameter()] + [System.String] + $ImmutableId, + + [Parameter()] + [System.Object] + $WindowsEmailAddress, + + [Parameter()] + [System.Boolean] + $UseDatabaseRetentionDefaults, + + [Parameter()] + [System.Boolean] + $SchedulerAssistant, + + [Parameter()] + [System.String[]] + $RemoveOrphanedHolds, + + [Parameter()] + [System.Object] + $RulesQuota, + + [Parameter()] + [System.String] + $Alias, + + [Parameter()] + [System.String] + $EnforcedTimestamps, + + [Parameter()] + [System.Object] + $RejectMessagesFromSendersOrMembers, + + [Parameter()] + [System.String] + $DisplayName, + + [Parameter()] + [System.Object] + $ResourceCustom, + + [Parameter()] + [System.Boolean] + $MessageCopyForSMTPClientSubmissionEnabled, + + [Parameter()] + [System.Object] + $BypassModerationFromSendersOrMembers, + + [Parameter()] + [System.Object] + $DefaultAuditSet, + + [Parameter()] + [System.Object] + $AcceptMessagesOnlyFromDLMembers, + + [Parameter()] + [System.String] + $CustomAttribute1, + + [Parameter()] + [System.Object] + $EmailAddressDisplayNames, + + [Parameter()] + [System.Boolean] + $CalendarRepairDisabled, + + [Parameter()] + [System.Object] + $AddressBookPolicy, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $RemoveMailboxProvisioningConstraint, + + [Parameter()] + [System.Object] + $NonCompliantDevices, + + [Parameter()] + [System.Boolean] + $ModerationEnabled, + + [Parameter()] + [System.String] + $LitigationHoldOwner, + + [Parameter()] + [System.Object] + $ProhibitSendQuota, + + [Parameter()] + [System.Boolean] + $AccountDisabled, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ClearThrottlingPolicyAssignment, + + [Parameter()] + [System.Object] + $AuditDelegate, + + [Parameter()] + [System.String] + $CustomAttribute14, + + [Parameter()] + [System.Boolean] + $SingleItemRecoveryEnabled, + + [Parameter()] + [System.Boolean] + $RequireSenderAuthenticationEnabled, + + [Parameter()] + [System.String] + $CustomAttribute9, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.String] + $CustomAttribute6, + + [Parameter()] + [System.Object] + $ExternalOofOptions, + + [Parameter()] + [System.Object] + $ExtensionCustomAttribute4, + + [Parameter()] + [System.Object] + $LitigationHoldDate, + + [Parameter()] + [System.Boolean] + $EnableRoomMailboxAccount, + + [Parameter()] + [System.Boolean] + $HiddenFromAddressListsEnabled, + + [Parameter()] + [System.Object] + $RetainDeletedItemsFor, + + [Parameter()] + [System.Object] + $MicrosoftOnlineServicesID, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $RemoveDelayReleaseHoldApplied, + + [Parameter()] + [System.Object] + $AuditAdmin, + + [Parameter()] + [System.Object] + $ExtensionCustomAttribute2, + + [Parameter()] + [System.Object] + $DefaultPublicFolderMailbox, + + [Parameter()] + [System.Boolean] + $RetentionHoldEnabled, + + [Parameter()] + [System.String] + $CustomAttribute13, + + [Parameter()] + [System.Object] + $RetentionPolicy, + + [Parameter()] + [System.String] + $CustomAttribute2, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $RemoveDelayHoldApplied, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $AuditLogAgeLimit, + + [Parameter()] + [System.Object] + $StartDateForRetentionHold, + + [Parameter()] + [System.Object] + $SendModerationNotifications, + + [Parameter()] + [System.Object] + $EndDateForRetentionHold, + + [Parameter()] + [System.Object] + $RoleAssignmentPolicy, + + [Parameter()] + [System.Boolean] + $IsExcludedFromServingHierarchy, + + [Parameter()] + [System.String] + $Office, + + [Parameter()] + [System.Object] + $MaxSendSize, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ApplyMandatoryProperties, + + [Parameter()] + [System.Object] + $RejectMessagesFrom, + + [Parameter()] + [System.Object] + $RecipientLimits, + + [Parameter()] + [System.Boolean] + $MessageCopyForSentAsEnabled, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $PublicFolder, + + [Parameter()] + [System.Object] + $MailTipTranslations, + + [Parameter()] + [System.String] + $CustomAttribute7, + + [Parameter()] + [System.Object] + $SharingPolicy, + + [Parameter()] + [System.String] + $CustomAttribute4, + + [Parameter()] + [System.Object] + $ExtensionCustomAttribute1, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ExcludeFromAllOrgHolds, + + [Parameter()] + [System.Object] + $ArchiveName, + + [Parameter()] + [System.Boolean] + $AuditEnabled, + + [Parameter()] + [System.Security.SecureString] + $Password, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Force, + + [Parameter()] + [System.Object] + $IssueWarningQuota, + + [Parameter()] + [System.Object] + $StsRefreshTokensValidFrom, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Object] + $ExtensionCustomAttribute3, + + [Parameter()] + [System.Object] + $ForwardingAddress, + + [Parameter()] + [System.String] + $CustomAttribute12, + + [Parameter()] + [System.String] + $CustomAttribute3, + + [Parameter()] + [System.String] + $CustomAttribute11, + + [Parameter()] + [System.String] + $SimpleDisplayName, + + [Parameter()] + [System.Object] + $ForwardingSmtpAddress, + + [Parameter()] + [System.Boolean] + $MessageTrackingReadStatusEnabled + ) +} +function Set-MailboxPlan +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $IssueWarningQuota, + + [Parameter()] + [System.Object] + $RoleAssignmentPolicy, + + [Parameter()] + [System.Object] + $RetentionPolicy, + + [Parameter()] + [System.Object] + $ProhibitSendReceiveQuota, + + [Parameter()] + [System.Object] + $MaxSendSize, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $ProhibitSendQuota, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $IsDefault, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object] + $RetainDeletedItemsFor, + + [Parameter()] + [System.Object] + $RecipientLimits, + + [Parameter()] + [System.Object] + $MaxReceiveSize, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Force + ) +} +function Set-MailboxRegionalConfiguration +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $DateFormat, + + [Parameter()] + [System.String] + $TimeFormat, + + [Parameter()] + [System.Object] + $MailboxLocation, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $UseCustomRouting, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Archive, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $LocalizeDefaultFolderName, + + [Parameter()] + [System.Object] + $TimeZone, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Globalization.CultureInfo] + $Language + ) +} +function Set-MailContact +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $WindowsEmailAddress, + + [Parameter()] + [System.Object] + $AcceptMessagesOnlyFromDLMembers, + + [Parameter()] + [System.String] + $CustomAttribute10, + + [Parameter()] + [System.Boolean] + $RequireSenderAuthenticationEnabled, + + [Parameter()] + [System.Boolean] + $ModerationEnabled, + + [Parameter()] + [System.Object] + $ExtensionCustomAttribute4, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object] + $MacAttachmentFormat, + + [Parameter()] + [System.String] + $CustomAttribute8, + + [Parameter()] + [System.String] + $DisplayName, + + [Parameter()] + [System.String] + $CustomAttribute3, + + [Parameter()] + [System.Object] + $RejectMessagesFromSendersOrMembers, + + [Parameter()] + [System.Object] + $MailTipTranslations, + + [Parameter()] + [System.String] + $CustomAttribute7, + + [Parameter()] + [System.Object] + $UseMapiRichTextFormat, + + [Parameter()] + [System.String] + $CustomAttribute5, + + [Parameter()] + [System.Object] + $AcceptMessagesOnlyFromSendersOrMembers, + + [Parameter()] + [System.Boolean] + $HiddenFromAddressListsEnabled, + + [Parameter()] + [System.String] + $CustomAttribute6, + + [Parameter()] + [System.Boolean] + $UsePreferMessageFormat, + + [Parameter()] + [System.String] + $CustomAttribute1, + + [Parameter()] + [System.Object] + $BypassModerationFromSendersOrMembers, + + [Parameter()] + [System.String] + $CustomAttribute11, + + [Parameter()] + [System.String] + $CustomAttribute13, + + [Parameter()] + [System.Object] + $ModeratedBy, + + [Parameter()] + [System.String] + $CustomAttribute14, + + [Parameter()] + [System.String] + $MailTip, + + [Parameter()] + [System.Object] + $MessageBodyFormat, + + [Parameter()] + [System.Object] + $AcceptMessagesOnlyFrom, + + [Parameter()] + [System.Object] + $ExtensionCustomAttribute3, + + [Parameter()] + [System.String] + $CustomAttribute15, + + [Parameter()] + [System.Object] + $RejectMessagesFrom, + + [Parameter()] + [System.Object] + $ExtensionCustomAttribute1, + + [Parameter()] + [System.Object] + $MessageFormat, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $ExtensionCustomAttribute5, + + [Parameter()] + [System.Object] + $ExternalEmailAddress, + + [Parameter()] + [System.String] + $CustomAttribute4, + + [Parameter()] + [System.Object] + $ExtensionCustomAttribute2, + + [Parameter()] + [System.String] + $CustomAttribute9, + + [Parameter()] + [System.Object] + $RejectMessagesFromDLMembers, + + [Parameter()] + [System.String] + $Alias, + + [Parameter()] + [System.String] + $SimpleDisplayName, + + [Parameter()] + [System.String] + $CustomAttribute2, + + [Parameter()] + [System.Object] + $GrantSendOnBehalfTo, + + [Parameter()] + [System.Object] + $SendModerationNotifications, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Object] + $EmailAddresses, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ForceUpgrade, + + [Parameter()] + [System.String] + $CustomAttribute12 + ) +} +function Set-MalwareFilterPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $MakeDefault, + + [Parameter()] + [System.String] + $CustomFromName, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.String] + $AdminDisplayName, + + [Parameter()] + [System.String] + $CustomExternalBody, + + [Parameter()] + [System.String] + $QuarantineTag, + + [Parameter()] + [System.Boolean] + $CustomNotifications, + + [Parameter()] + [System.Boolean] + $EnableExternalSenderAdminNotifications, + + [Parameter()] + [System.Object] + $InternalSenderAdminAddress, + + [Parameter()] + [System.String[]] + $FileTypes, + + [Parameter()] + [System.Boolean] + $EnableInternalSenderAdminNotifications, + + [Parameter()] + [System.Object] + $CustomFromAddress, + + [Parameter()] + [System.Boolean] + $IsPolicyOverrideApplied, + + [Parameter()] + [System.Boolean] + $ZapEnabled, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $ExternalSenderAdminAddress, + + [Parameter()] + [System.String] + $CustomExternalSubject, + + [Parameter()] + [System.Object] + $FileTypeAction, + + [Parameter()] + [System.String] + $CustomInternalSubject, + + [Parameter()] + [System.String] + $CustomInternalBody, + + [Parameter()] + [System.Boolean] + $EnableFileFilter + ) +} +function Set-MalwareFilterRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Int32] + $Priority, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Object[]] + $SentToMemberOf, + + [Parameter()] + [System.Object[]] + $SentTo, + + [Parameter()] + [System.String] + $Comments, + + [Parameter()] + [System.Object[]] + $RecipientDomainIs, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object[]] + $ExceptIfRecipientDomainIs, + + [Parameter()] + [System.Object] + $MalwareFilterPolicy, + + [Parameter()] + [System.Object[]] + $ExceptIfSentTo, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object[]] + $ExceptIfSentToMemberOf + ) +} +function Set-ManagementRoleAssignment +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $RecipientGroupScope, + + [Parameter()] + [System.Object] + $CustomRecipientWriteScope, + + [Parameter()] + [System.Object] + $RecipientAdministrativeUnitScope, + + [Parameter()] + [System.Object] + $ExclusiveRecipientWriteScope, + + [Parameter()] + [System.Object] + $CustomResourceScope, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object] + $RecipientOrganizationalUnitScope, + + [Parameter()] + [System.Boolean] + $Enabled, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $RecipientRelativeWriteScope, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Force + ) +} +function Set-MessageClassification +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $SenderDescription, + + [Parameter()] + [System.String] + $DisplayName, + + [Parameter()] + [System.String] + $RecipientDescription, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Boolean] + $PermissionMenuVisible, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Guid] + $ClassificationID, + + [Parameter()] + [System.Object] + $DisplayPrecedence, + + [Parameter()] + [System.Boolean] + $RetainClassificationEnabled + ) +} +function Set-MobileDeviceMailboxPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Boolean] + $AllowMicrosoftPushNotifications, + + [Parameter()] + [System.Boolean] + $AllowUnsignedApplications, + + [Parameter()] + [System.Boolean] + $AllowUnsignedInstallationPackages, + + [Parameter()] + [System.Boolean] + $AllowExternalDeviceManagement, + + [Parameter()] + [System.Boolean] + $AllowIrDA, + + [Parameter()] + [System.Boolean] + $AllowStorageCard, + + [Parameter()] + [System.Int32] + $PasswordHistory, + + [Parameter()] + [System.Boolean] + $AllowNonProvisionableDevices, + + [Parameter()] + [System.Object] + $UnapprovedInROMApplicationList, + + [Parameter()] + [System.Boolean] + $RequireEncryptedSMIMEMessages, + + [Parameter()] + [System.Boolean] + $RequireDeviceEncryption, + + [Parameter()] + [System.Boolean] + $AllowInternetSharing, + + [Parameter()] + [System.Boolean] + $PasswordEnabled, + + [Parameter()] + [System.Object] + $RequireSignedSMIMEAlgorithm, + + [Parameter()] + [System.Object] + $MaxEmailHTMLBodyTruncationSize, + + [Parameter()] + [System.Int32] + $MinPasswordComplexCharacters, + + [Parameter()] + [System.Boolean] + $UNCAccessEnabled, + + [Parameter()] + [System.Boolean] + $AllowCamera, + + [Parameter()] + [System.Boolean] + $IrmEnabled, + + [Parameter()] + [System.Object] + $PasswordExpiration, + + [Parameter()] + [System.Boolean] + $AllowBrowser, + + [Parameter()] + [System.Object] + $MaxEmailAgeFilter, + + [Parameter()] + [System.Boolean] + $RequireManualSyncWhenRoaming, + + [Parameter()] + [System.Boolean] + $AlphanumericPasswordRequired, + + [Parameter()] + [System.Object] + $AllowSMIMEEncryptionAlgorithmNegotiation, + + [Parameter()] + [System.Boolean] + $DeviceEncryptionEnabled, + + [Parameter()] + [System.Object] + $MaxEmailBodyTruncationSize, + + [Parameter()] + [System.Object] + $AllowBluetooth, + + [Parameter()] + [System.Boolean] + $WSSAccessEnabled, + + [Parameter()] + [System.Object] + $RequireEncryptionSMIMEAlgorithm, + + [Parameter()] + [System.Object] + $DevicePolicyRefreshInterval, + + [Parameter()] + [System.Boolean] + $AllowGooglePushNotifications, + + [Parameter()] + [System.Boolean] + $AllowMobileOTAUpdate, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Object] + $MaxAttachmentSize, + + [Parameter()] + [System.Boolean] + $AllowSimplePassword, + + [Parameter()] + [System.Boolean] + $AllowConsumerEmail, + + [Parameter()] + [System.Boolean] + $AllowDesktopSync, + + [Parameter()] + [System.Boolean] + $PasswordRecoveryEnabled, + + [Parameter()] + [System.Boolean] + $RequireStorageCardEncryption, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Boolean] + $AllowSMIMESoftCerts, + + [Parameter()] + [System.Boolean] + $AllowRemoteDesktop, + + [Parameter()] + [System.Boolean] + $AttachmentsEnabled, + + [Parameter()] + [System.Object] + $MaxCalendarAgeFilter, + + [Parameter()] + [System.Boolean] + $AllowWiFi, + + [Parameter()] + [System.Boolean] + $AllowApplePushNotifications, + + [Parameter()] + [System.Boolean] + $AllowPOPIMAPEmail, + + [Parameter()] + [System.Boolean] + $IsDefault, + + [Parameter()] + [System.Object] + $MaxInactivityTimeLock, + + [Parameter()] + [System.Object] + $ApprovedApplicationList, + + [Parameter()] + [System.Boolean] + $AllowTextMessaging, + + [Parameter()] + [System.Object] + $MaxPasswordFailedAttempts, + + [Parameter()] + [System.Boolean] + $RequireSignedSMIMEMessages, + + [Parameter()] + [System.Object] + $MinPasswordLength, + + [Parameter()] + [System.Boolean] + $AllowHTMLEmail, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Set-OfflineAddressBook +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Object] + $Versions, + + [Parameter()] + [System.Object] + $Schedule, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ApplyMandatoryProperties, + + [Parameter()] + [System.Boolean] + $ZipOabFilesBeforeUploading, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $UpgradeFromE14, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Int32] + $FullOabDownloadPreventionThreshold, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object] + $DiffRetentionPeriod, + + [Parameter()] + [System.Object[]] + $AddressLists, + + [Parameter()] + [System.Object] + $ConfiguredAttributes, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $UseDefaultAttributes, + + [Parameter()] + [System.Boolean] + $IsDefault + ) +} +function Set-OMEConfiguration +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $IntroductionText, + + [Parameter()] + [System.String] + $ReadButtonText, + + [Parameter()] + [System.String] + $PortalText, + + [Parameter()] + [System.Byte[]] + $Image, + + [Parameter()] + [System.Boolean] + $OTPEnabled, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.String] + $BackgroundColor, + + [Parameter()] + [System.String] + $DisclaimerText, + + [Parameter()] + [System.String] + $PrivacyStatementUrl, + + [Parameter()] + [System.Boolean] + $SocialIdSignIn, + + [Parameter()] + [System.String] + $EmailText, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Set-OnPremisesOrganization +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $InboundConnector, + + [Parameter()] + [System.Object] + $OutboundConnector, + + [Parameter()] + [System.String] + $OrganizationName, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.String] + $Comment, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object] + $OrganizationRelationship, + + [Parameter()] + [System.Object] + $HybridDomains + ) +} +function Set-Organization +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Boolean] + $UnifiedAuditLogIngestionEnabled, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Force + ) +} +function Set-OrganizationConfig +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Boolean] + $FindTimeLockPollForAttendeesEnabled, + + [Parameter()] + [System.Boolean] + $ConnectorsEnabledForYammer, + + [Parameter()] + [System.Boolean] + $PublicFolderShowClientControl, + + [Parameter()] + [System.Boolean] + $MailTipsGroupMetricsEnabled, + + [Parameter()] + [System.Object] + $PublicFoldersEnabled, + + [Parameter()] + [System.Boolean] + $ReadTrackingEnabled, + + [Parameter()] + [System.Boolean] + $ExchangeNotificationEnabled, + + [Parameter()] + [System.Boolean] + $BookingsNamingPolicyPrefixEnabled, + + [Parameter()] + [System.Boolean] + $MailTipsExternalRecipientsTipsEnabled, + + [Parameter()] + [System.Object] + $FocusedInboxOn, + + [Parameter()] + [System.Object] + $EwsApplicationAccessPolicy, + + [Parameter()] + [System.Boolean] + $OAuth2ClientProfileEnabled, + + [Parameter()] + [System.Boolean] + $MobileAppEducationEnabled, + + [Parameter()] + [System.Boolean] + $EnableOutlookEvents, + + [Parameter()] + [System.Boolean] + $BookingsExposureOfStaffDetailsRestricted, + + [Parameter()] + [System.Boolean] + $ElcProcessingDisabled, + + [Parameter()] + [System.Boolean] + $UnblockUnsafeSenderPromptEnabled, + + [Parameter()] + [System.Boolean] + $AutoEnableArchiveMailbox, + + [Parameter()] + [System.Boolean] + $HybridRSVPEnabled, + + [Parameter()] + [System.Boolean] + $RefreshSessionEnabled, + + [Parameter()] + [System.Boolean] + $ActivityBasedAuthenticationTimeoutEnabled, + + [Parameter()] + [System.Boolean] + $SmtpActionableMessagesEnabled, + + [Parameter()] + [System.Boolean] + $ConnectorsEnabledForTeams, + + [Parameter()] + [System.Boolean] + $ComplianceMLBgdCrawlEnabled, + + [Parameter()] + [System.Boolean] + $MailTipsAllTipsEnabled, + + [Parameter()] + [System.Boolean] + $PostponeRoamingSignaturesUntilLater, + + [Parameter()] + [System.Object] + $RemotePublicFolderMailboxes, + + [Parameter()] + [System.Boolean] + $BlockMoveMessagesForGroupFolders, + + [Parameter()] + [System.Int32] + $DefaultMinutesToReduceShortEventsBy, + + [Parameter()] + [System.Object] + $EwsAllowEntourage, + + [Parameter()] + [System.Boolean] + $OutlookGifPickerDisabled, + + [Parameter()] + [System.Object] + $OnlineMeetingsByDefaultEnabled, + + [Parameter()] + [System.Uri] + $SiteMailboxCreationURL, + + [Parameter()] + [System.Object] + $DefaultPublicFolderProhibitPostQuota, + + [Parameter()] + [System.Object] + $ExchangeNotificationRecipients, + + [Parameter()] + [System.Boolean] + $MessageRemindersEnabled, + + [Parameter()] + [System.Boolean] + $DirectReportsGroupAutoCreationEnabled, + + [Parameter()] + [System.Boolean] + $AuditDisabled, + + [Parameter()] + [System.Boolean] + $BookingsAuthEnabled, + + [Parameter()] + [System.Boolean] + $OutlookMobileGCCRestrictionsEnabled, + + [Parameter()] + [System.Boolean] + $BookingsCreationOfCustomQuestionsRestricted, + + [Parameter()] + [System.Boolean] + $BookingsSmsMicrosoftEnabled, + + [Parameter()] + [System.Boolean] + $WebPushNotificationsDisabled, + + [Parameter()] + [System.Boolean] + $ConnectorsEnabledForOutlook, + + [Parameter()] + [System.Boolean] + $BookingsAddressEntryRestricted, + + [Parameter()] + [System.String] + $BookingsNamingPolicyPrefix, + + [Parameter()] + [System.Object] + $DefaultPublicFolderDeletedItemRetention, + + [Parameter()] + [System.Boolean] + $IsGroupMemberAllowedToEditContent, + + [Parameter()] + [System.Int32] + $PreferredInternetCodePageForShiftJis, + + [Parameter()] + [System.Object] + $ShortenEventScopeDefault, + + [Parameter()] + [System.Object] + $HierarchicalAddressBookRoot, + + [Parameter()] + [System.Boolean] + $IsAgendaMailEnabled, + + [Parameter()] + [System.Boolean] + $FindTimeOnlineMeetingOptionDisabled, + + [Parameter()] + [System.Object] + $EwsEnabled, + + [Parameter()] + [System.Boolean] + $FindTimeAttendeeAuthenticationEnabled, + + [Parameter()] + [System.Boolean] + $AutomaticForcedReadReceiptEnabled, + + [Parameter()] + [System.Boolean] + $LeanPopoutEnabled, + + [Parameter()] + [System.Object] + $DistributionGroupNameBlockedWordsList, + + [Parameter()] + [System.Boolean] + $AsyncSendEnabled, + + [Parameter()] + [System.Boolean] + $ConnectorsEnabledForSharepoint, + + [Parameter()] + [System.Boolean] + $BookingsBlockedWordsEnabled, + + [Parameter()] + [System.Boolean] + $ActivityBasedAuthenticationTimeoutWithSingleSignOnEnabled, + + [Parameter()] + [System.Boolean] + $BookingsPaymentsEnabled, + + [Parameter()] + [System.Boolean] + $WorkspaceTenantEnabled, + + [Parameter()] + [System.Boolean] + $BookingsNamingPolicyEnabled, + + [Parameter()] + [System.Object] + $DefaultPublicFolderAgeLimit, + + [Parameter()] + [System.String] + $VisibleMeetingUpdateProperties, + + [Parameter()] + [System.Boolean] + $OutlookPayEnabled, + + [Parameter()] + [System.UInt32] + $MailTipsLargeAudienceThreshold, + + [Parameter()] + [System.Object] + $DefaultGroupAccessType, + + [Parameter()] + [System.Boolean] + $CalendarVersionStoreEnabled, + + [Parameter()] + [System.Int32] + $RequiredCharsetCoverage, + + [Parameter()] + [System.Object] + $MessageRecallEnabled, + + [Parameter()] + [System.Boolean] + $MessageHighlightsEnabled, + + [Parameter()] + [System.Boolean] + $WebSuggestedRepliesDisabled, [Parameter()] - [System.Object[]] - $ExceptIfOneDriveSharedBy, + [System.Boolean] + $DisablePlusAddressInRecipients, [Parameter()] [System.Object] - $AddOneDriveLocationException, - - [Parameter()] - [System.String] - $Comment, + $DistributionGroupNamingPolicy, [Parameter()] - [System.Management.Automation.SwitchParameter] - $RetryDistribution, + [System.Boolean] + $PublicComputersDetectionEnabled, [Parameter()] - [System.Object[]] - $ExchangeSenderException, + [System.Boolean] + $BookingsSocialSharingRestricted, [Parameter()] - [System.Object] - $AddSharePointLocationException, + [System.String] + $BookingsNamingPolicySuffix, [Parameter()] [System.Boolean] - $OverwriteLabel, + $BookingsNamingPolicySuffixEnabled, [Parameter()] - [System.String] - $ApplySensitivityLabel, + [System.Boolean] + $BookingsMembershipApprovalRequired, [Parameter()] [System.Management.Automation.SwitchParameter] $Confirm, - [Parameter()] - [System.Object[]] - $ExchangeSender, - [Parameter()] [System.Object] - $RemoveSharePointLocationException, + $DefaultPublicFolderMovedItemRetention, [Parameter()] [System.Object] - $RemoveExchangeLocation, + $DistributionGroupDefaultOU, [Parameter()] - [System.Object[]] - $ExchangeSenderMemberOf, + [System.Boolean] + $OutlookTextPredictionDisabled, [Parameter()] - [System.Object[]] - $ExchangeSenderMemberOfException, + [System.Boolean] + $SharedDomainEmailAddressFlowEnabled, [Parameter()] - [System.Object] - $RemoveOneDriveLocation, + [System.Boolean] + $ConnectorsActionableMessagesEnabled, [Parameter()] [System.Object] - $AddOneDriveLocation, + $DefaultAuthenticationPolicy, [Parameter()] - [System.Object] - $AutoEnableAfter, + [System.Boolean] + $MailTipsMailboxSourcedTipsEnabled, [Parameter()] - [System.Object] - $Mode, + [System.Boolean] + $BookingsEnabled, [Parameter()] [System.Boolean] - $StartSimulation - ) -} -function Set-AutoSensitivityLabelRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object[]] - $SentToMemberOf, + $EndUserDLUpgradeFlowsDisabled, [Parameter()] [System.Object] - $ExceptIfRecipientDomainIs, - - [Parameter()] - [System.Object[]] - $ExceptIfContentContainsSensitiveInformation, + $RecallReadMessagesEnabled, [Parameter()] - [System.Object] - $ExceptIfFromAddressContainsWords, + [System.Boolean] + $BookingsPhoneNumberEntryRestricted, [Parameter()] [System.Boolean] - $ExceptIfProcessingLimitExceeded, + $AppsForOfficeEnabled, [Parameter()] - [System.Object] - $AnyOfRecipientAddressMatchesPatterns, + [System.Boolean] + $EnableForwardingAddressSyncForMailboxes, [Parameter()] [System.Object] - $DocumentNameMatchesWords, + $EwsAllowOutlook, [Parameter()] - [System.Object] - $ReportSeverityLevel, + [System.Management.Automation.SwitchParameter] + $AutoExpandingArchive, [Parameter()] - [System.Object] - $ExceptIfSenderDomainIs, + [System.Boolean] + $LinkPreviewEnabled, [Parameter()] - [System.Object] - $DocumentCreatedBy, + [System.Boolean] + $BookingsSearchEngineIndexDisabled, [Parameter()] [System.Object] - $ExceptIfAnyOfRecipientAddressContainsWords, + $EwsAllowMacOutlook, [Parameter()] [System.Object] - $ExceptIfSenderIPRanges, + $EwsAllowList, [Parameter()] [System.Object] - $FromAddressMatchesPatterns, - - [Parameter()] - [System.Object[]] - $ExceptIfFrom, + $DefaultPublicFolderMaxItemSize, [Parameter()] [System.Boolean] - $DocumentIsPasswordProtected, - - [Parameter()] - [System.Object] - $ExceptIfSubjectMatchesPatterns, + $MatchSenderOrganizerProperties, [Parameter()] - [System.Object] - $ContentExtensionMatchesWords, + [System.Int32] + $DefaultMinutesToReduceLongEventsBy, [Parameter()] [System.Object] - $AnyOfRecipientAddressContainsWords, + $IPListBlocked, [Parameter()] - [System.Object] - $ExceptIfFromAddressMatchesPatterns, + [System.Boolean] + $BookingsNotesEntryRestricted, [Parameter()] - [System.Object] - $ExceptIfAccessScope, + [System.Boolean] + $SendFromAliasEnabled, [Parameter()] - [System.Object] - $ExceptIfHeaderMatchesPatterns, + [System.Boolean] + $AutodiscoverPartialDirSync, [Parameter()] [System.Object] - $RecipientDomainIs, + $ActivityBasedAuthenticationTimeoutInterval, [Parameter()] - [System.String] - $Comment, + [System.Boolean] + $OutlookMobileSingleAccountEnabled, [Parameter()] - [System.Object[]] - $ExceptIfFromMemberOf, + [System.Boolean] + $IsGroupFoldersAndRulesEnabled, [Parameter()] - [System.Object[]] - $From, + [System.Boolean] + $MaskClientIpInReceivedHeadersEnabled, [Parameter()] - [System.Object] - $AccessScope, + [System.Boolean] + $PerTenantSwitchToESTSEnabled, [Parameter()] - [System.Object] - $ActivationDate, + [System.Boolean] + $ConnectorsEnabled, [Parameter()] [System.Object] - $ExceptIfContentPropertyContainsWords, + $EwsBlockList, [Parameter()] [System.Boolean] - $ExceptIfDocumentIsPasswordProtected, + $OutlookMobileHelpShiftEnabled, [Parameter()] - [System.Object[]] - $ExceptIfSentToMemberOf, + [System.Int32] + $ByteEncoderTypeFor7BitCharsets, [Parameter()] - [System.Object] - $ExceptIfDocumentSizeOver, + [System.Boolean] + $FindTimeAutoScheduleDisabled, [Parameter()] [System.Object] - $ExceptIfDocumentNameMatchesWords, - + $DefaultPublicFolderIssueWarningQuota + ) +} +function Set-OrganizationRelationship +{ + [CmdletBinding()] + param( [Parameter()] [System.Object] - $Priority, + $MailTipsAccessLevel, [Parameter()] - [System.Object] - $SenderIPRanges, + [System.Uri] + $TargetAutodiscoverEpr, [Parameter()] [System.Object] - $SenderDomainIs, + $Identity, [Parameter()] - [System.Object[]] - $ContentContainsSensitiveInformation, + [System.Boolean] + $Enabled, [Parameter()] - [System.Object[]] - $FromMemberOf, + [System.String] + $Name, [Parameter()] [System.Object] - $Identity, + $FreeBusyAccessScope, [Parameter()] [System.Management.Automation.SwitchParameter] - $Confirm, + $Force, [Parameter()] [System.Boolean] - $Disabled, + $DeliveryReportEnabled, + + [Parameter()] + [System.String] + $OAuthApplicationId, [Parameter()] [System.Boolean] - $ExceptIfDocumentIsUnsupported, + $MailTipsAccessEnabled, [Parameter()] - [System.Object] - $RuleErrorAction, + [System.Boolean] + $ArchiveAccessEnabled, [Parameter()] - [System.Object] - $ContentPropertyContainsWords, + [System.Boolean] + $FreeBusyAccessEnabled, [Parameter()] [System.Object] - $ExceptIfAnyOfRecipientAddressMatchesPatterns, + $MailTipsAccessScope, [Parameter()] - [System.Boolean] - $DocumentIsUnsupported, + [System.Uri] + $TargetOwaURL, [Parameter()] - [System.Object] - $SubjectMatchesPatterns, + [System.Uri] + $TargetApplicationUri, [Parameter()] [System.Object] - $HeaderMatchesPatterns, + $OrganizationContact, [Parameter()] - [System.Object] - $ExceptIfSentTo, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] [System.Object] - $ExpiryDate, + $MailboxMovePublishedScopes, [Parameter()] - [System.Object] - $ExceptIfContentExtensionMatchesWords, + [System.Boolean] + $MailboxMoveEnabled, [Parameter()] [System.Object] - $SentTo, + $MailboxMoveCapability, [Parameter()] - [System.Object] - $FromAddressContainsWords, + [System.Uri] + $TargetSharingEpr, [Parameter()] [System.Object] - $DocumentSizeOver, + $FreeBusyAccessLevel, [Parameter()] [System.Object] - $ExceptIfDocumentCreatedBy, + $DomainNames, [Parameter()] [System.Boolean] - $ProcessingLimitExceeded, - - [Parameter()] - [System.Object] - $Workload + $PhotosEnabled ) } -function Set-CaseHoldPolicy +function Set-OutboundConnector { [CmdletBinding()] param( + [Parameter()] + [System.Boolean] + $RouteAllMessagesViaOnPremises, + [Parameter()] [System.Object] - $RemoveExchangeLocation, + $RecipientDomains, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force, + [System.Boolean] + $CloudServicesMailEnabled, [Parameter()] [System.Object] - $RemoveSharePointLocation, + $Identity, [Parameter()] - [System.Object] - $AddExchangeLocation, + [System.Boolean] + $Enabled, [Parameter()] - [System.Object] - $AddSharePointLocation, + [System.String] + $Name, [Parameter()] - [System.Management.Automation.SwitchParameter] - $RetryDistribution, + [System.Boolean] + $AllAcceptedDomains, [Parameter()] - [System.Object] - $RemovePublicFolderLocation, + [System.Boolean] + $TestMode, [Parameter()] - [System.Object] - $Identity, + [System.String] + $Comment, [Parameter()] - [System.Object] - $AddPublicFolderLocation, + [System.Boolean] + $IsTransportRuleScoped, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Boolean] + $IsValidated, [Parameter()] [System.Boolean] - $Enabled, + $UseMXRecord, [Parameter()] - [System.String] - $Comment - ) -} -function Set-CaseHoldRule -{ - [CmdletBinding()] - param( + [System.Object] + $LastValidationTimestamp, + [Parameter()] - [System.Boolean] - $Disabled, + [System.Object] + $TlsSettings, [Parameter()] - [System.String] - $ContentMatchQuery, + [System.String[]] + $ValidationRecipients, [Parameter()] [System.Management.Automation.SwitchParameter] $Confirm, [Parameter()] - [System.String] - $Comment, + [System.Object] + $ConnectorType, [Parameter()] [System.Object] - $Identity + $SmartHosts, + + [Parameter()] + [System.Boolean] + $SenderRewritingEnabled, + + [Parameter()] + [System.Object] + $TlsDomain, + + [Parameter()] + [System.Object] + $ConnectorSource ) } -function Set-ComplianceCase +function Set-OwaMailboxPolicy { [CmdletBinding()] param( [Parameter()] - [System.Object] - $CaseType, + [System.Int32] + $DefaultClientLanguage, [Parameter()] - [System.String] - $Description, + [System.Boolean] + $ContactsEnabled, [Parameter()] - [System.String] - $ExternalId, + [System.Boolean] + $PersonalAccountCalendarsEnabled, [Parameter()] - [System.String] - $Name, + [System.Boolean] + $MessagePreviewsDisabled, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Reopen, + [System.Boolean] + $ExplicitLogonEnabled, [Parameter()] - [System.Object] - $DomainController, + [System.Boolean] + $ShowOnlineArchiveEnabled, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object] + $BlockedFileTypes, [Parameter()] - [System.Object] - $Identity, + [System.Boolean] + $NpsSurveysEnabled, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Close - ) -} -function Set-ComplianceRetentionEvent -{ - [CmdletBinding()] - param( + [System.Boolean] + $LinkedInEnabled, + [Parameter()] [System.Object] - $Action, + $ConditionalAccessPolicy, [Parameter()] - [System.String] - $AssetId, + [System.String[]] + $AllowedOrganizationAccountDomains, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Boolean] + $ChangePasswordEnabled, [Parameter()] [System.String] - $Comment, + $BookingsMailboxDomain, [Parameter()] - [System.String] - $SharePointAssetIdQuery, + [System.Boolean] + $AdditionalStorageProvidersAvailable, [Parameter()] - [System.Object] - $Identity, + [System.Boolean] + $WacViewingOnPublicComputersEnabled, [Parameter()] - [System.Object] - $EventType, + [System.Boolean] + $OutlookBetaToggleEnabled, [Parameter()] - [System.Object] - $EventTags, + [System.Boolean] + $SMimeSuppressNameChecksEnabled, [Parameter()] [System.Object] - $DomainController, + $ActionForUnknownFileAndMIMETypes, [Parameter()] [System.String] - $ExchangeAssetIdQuery - ) -} -function Set-ComplianceRetentionEventType -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + $ExternalSPMySiteHostURL, [Parameter()] - [System.String] - $Comment, + [System.Boolean] + $OfflineEnabledWeb, [Parameter()] [System.Object] - $Identity - ) -} -function Set-ComplianceSearch -{ - [CmdletBinding()] - param( + $ForceSaveMimeTypes, + [Parameter()] - [System.String[]] - $RefinerNames, + [System.Boolean] + $CalendarEnabled, [Parameter()] - [System.String] - $ContentMatchQuery, + [System.Boolean] + $SpellCheckerEnabled, [Parameter()] - [System.String] - $Description, + [System.Boolean] + $DisplayPhotosEnabled, + + [Parameter()] + [System.Boolean] + $TasksEnabled, + + [Parameter()] + [System.Boolean] + $GroupCreationEnabled, [Parameter()] [System.Object] - $Identity, + $ForceSaveFileTypes, [Parameter()] - [System.String[]] - $AddSharePointLocation, + [System.Object] + $ChangeSettingsAccountEnabled, [Parameter()] - [System.String[]] - $AddExchangeLocationExclusion, + [System.Object] + $AdditionalAccountsEnabled, [Parameter()] [System.Boolean] - $IncludeUserAppContent, + $TeamsnapCalendarsEnabled, [Parameter()] - [System.String[]] - $SharePointLocationExclusion, + [System.Boolean] + $WacViewingOnPrivateComputersEnabled, [Parameter()] [System.Boolean] - $AllowNotFoundExchangeLocationsEnabled, + $TextMessagingEnabled, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force, + [System.Boolean] + $SearchFoldersEnabled, [Parameter()] - [System.String[]] - $SharePointLocation, + [System.Boolean] + $UserVoiceEnabled, [Parameter()] - [System.String[]] - $AddSharePointLocationExclusion, + [System.Boolean] + $ForceWacViewingFirstOnPublicComputers, [Parameter()] - [System.String[]] - $RemovePublicFolderLocation, + [System.Boolean] + $GlobalAddressListEnabled, [Parameter()] - [System.String[]] - $RemoveSharePointLocation, + [System.Boolean] + $IRMEnabled, [Parameter()] - [System.String[]] - $ExchangeLocation, + [System.Boolean] + $DirectFileAccessOnPublicComputersEnabled, [Parameter()] - [System.String[]] - $PublicFolderLocation, + [System.Boolean] + $WacOMEXEnabled, [Parameter()] - [System.String[]] - $RemoveSharePointLocationExclusion, + [System.Boolean] + $DirectFileAccessOnPrivateComputersEnabled, [Parameter()] [System.Boolean] - $IncludeOrgContent, + $JournalEnabled, [Parameter()] - [System.String[]] - $RemoveExchangeLocationExclusion, + [System.Boolean] + $OfflineEnabledWin, [Parameter()] - [System.String[]] - $HoldNames, + [System.Object] + $ItemsToOtherAccountsEnabled, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Boolean] + $WSSAccessOnPublicComputersEnabled, [Parameter()] - [System.String] - $Name, + [System.Boolean] + $SignaturesEnabled, [Parameter()] - [System.String[]] - $RemoveExchangeLocation, + [System.Boolean] + $OnSendAddinsEnabled, [Parameter()] - [System.String[]] - $AddExchangeLocation, + [System.Boolean] + $WacExternalServicesEnabled, [Parameter()] - [System.Globalization.CultureInfo] - $Language, + [System.String] + $InternalSPMySiteHostURL, [Parameter()] - [System.String[]] - $ExchangeLocationExclusion - ) -} -function Set-ComplianceTag -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $RetentionDuration, + [System.Boolean] + $RemindersAndNotificationsEnabled, [Parameter()] - [System.String] - $FilePlanProperty, + [System.Boolean] + $SatisfactionEnabled, [Parameter()] - [System.String] - $Notes, + [System.Boolean] + $OWALightEnabled, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object] + $InstantMessagingType, [Parameter()] - [System.String] - $Comment, + [System.Boolean] + $ActiveSyncIntegrationEnabled, [Parameter()] [System.Object] - $AutoApprovalPeriod, + $PersonalAccountsEnabled, [Parameter()] [System.String] - $MultiStageReviewProperty, + $DefaultTheme, [Parameter()] - [System.Object] - $Identity, + [System.Boolean] + $SetPhotoEnabled, [Parameter()] - [System.Object] - $EventType, + [System.Boolean] + $ClassicAttachmentsEnabled, [Parameter()] - [System.Object[]] - $ReviewerEmail, + [System.Boolean] + $ForceWacViewingFirstOnPrivateComputers, [Parameter()] [System.Object] - $FlowId, + $AllowedMimeTypes, [Parameter()] - [System.String] - $ComplianceTagForNextStage, + [System.Boolean] + $AllowCopyContactsToDeviceAddressBook, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force - ) -} -function Set-DeviceConditionalAccessPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $RetryDistribution, + [System.Object] + $OutboundCharset, [Parameter()] - [System.String] - $Comment, + [System.Boolean] + $PlacesEnabled, [Parameter()] - [System.Object] - $Identity, + [System.Boolean] + $ReportJunkEmailEnabled, [Parameter()] [System.Boolean] - $Enabled, + $UseISO885915, [Parameter()] [System.Management.Automation.SwitchParameter] $Confirm, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force - ) -} -function Set-DeviceConfigurationPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $RetryDistribution, + [System.Boolean] + $NotesEnabled, + + [Parameter()] + [System.Boolean] + $OrganizationEnabled, + + [Parameter()] + [System.Object] + $WebPartsFrameOptionsType, [Parameter()] [System.String] - $Comment, + $SetPhotoURL, [Parameter()] - [System.Object] - $Identity, + [System.Boolean] + $WacEditingEnabled, [Parameter()] [System.Boolean] - $Enabled, + $PublicFoldersEnabled, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Boolean] + $BookingsMailboxCreationEnabled, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force - ) -} -function Set-DlpCompliancePolicy -{ - [CmdletBinding()] - param( + [System.Boolean] + $ForceSaveAttachmentFilteringEnabled, + [Parameter()] - [System.Object[]] - $OneDriveSharedBy, + [System.Int32] + $LogonAndErrorLanguage, [Parameter()] - [System.Object] - $RemoveTeamsLocation, + [System.Boolean] + $WSSAccessOnPrivateComputersEnabled, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Boolean] + $AllAddressListsEnabled, [Parameter()] - [System.Object] - $RemoveThirdPartyAppDlpLocationException, + [System.Boolean] + $EmptyStateEnabled, [Parameter()] - [System.Object] - $Identity, + [System.Boolean] + $ProjectMocaEnabled, [Parameter()] - [System.Object[]] - $OneDriveSharedByMemberOf, + [System.Boolean] + $DelegateAccessEnabled, [Parameter()] - [System.Object] - $RemoveEndpointDlpLocation, + [System.Boolean] + $PremiumClientEnabled, [Parameter()] [System.Object] - $RemoveOneDriveLocationException, + $BlockedMimeTypes, [Parameter()] - [System.Object] - $AddSharePointLocation, + [System.Boolean] + $UMIntegrationEnabled, [Parameter()] - [System.Object] - $AddExchangeLocation, + [System.Boolean] + $FeedbackEnabled, [Parameter()] - [System.Object] - $AddTeamsLocation, + [System.Boolean] + $SilverlightEnabled, + + [Parameter()] + [System.Boolean] + $WeatherEnabled, [Parameter()] [System.Management.Automation.SwitchParameter] - $Force, + $IsDefault, [Parameter()] - [System.Object] - $Priority, + [System.Boolean] + $UseGB18030, [Parameter()] [System.Object] - $AddSharePointLocationException, + $AllowOfflineOn, [Parameter()] [System.Object] - $RemoveSharePointLocation, + $AllowedFileTypes, [Parameter()] - [System.Object[]] - $ExceptIfOneDriveSharedBy, + [System.Boolean] + $ExternalImageProxyEnabled, [Parameter()] - [System.Object] - $AddOneDriveLocationException, + [System.Boolean] + $RulesEnabled, [Parameter()] [System.Object] - $RemoveThirdPartyAppDlpLocation, + $OneWinNativeOutlookEnabled, [Parameter()] - [System.String] - $Comment, + [System.Boolean] + $FreCardsEnabled, [Parameter()] - [System.Management.Automation.SwitchParameter] - $RetryDistribution, + [System.String] + $Name, [Parameter()] - [System.Object] - $AddEndpointDlpLocation, + [System.Boolean] + $ThemeSelectionEnabled, [Parameter()] - [System.Object] - $RemovePowerBIDlpLocation, + [System.Boolean] + $InstantMessagingEnabled, [Parameter()] - [System.Object] - $AddPowerBIDlpLocation, + [System.Boolean] + $LocalEventsEnabled, [Parameter()] - [System.Object] - $AddThirdPartyAppDlpLocation, + [System.Boolean] + $InterestingCalendarsEnabled, [Parameter()] - [System.Object] - $PolicyRBACScopes, + [System.Boolean] + $BizBarEnabled, [Parameter()] - [System.Object[]] - $ExceptIfOneDriveSharedByMemberOf, + [System.Boolean] + $OneDriveAttachmentsEnabled, [Parameter()] - [System.Object] - $AddThirdPartyAppDlpLocationException, + [System.Boolean] + $PrintWithoutDownloadEnabled, [Parameter()] - [System.Object] - $AddEndpointDlpLocationException, + [System.Boolean] + $SaveAttachmentsToCloudEnabled, [Parameter()] [System.Object] - $AddOnPremisesScannerDlpLocation, + $Identity, [Parameter()] - [System.Object] - $AddPowerBIDlpLocationException, + [System.Boolean] + $PhoneticSupportEnabled, [Parameter()] - [System.Object] - $RemovePowerBIDlpLocationException, + [System.Boolean] + $SkipCreateUnifiedGroupCustomSharepointClassification, [Parameter()] - [System.Object] - $RemoveSharePointLocationException, + [System.Boolean] + $ReferenceAttachmentsEnabled, [Parameter()] - [System.Object] - $RemoveTeamsLocationException, + [System.Management.Automation.SwitchParameter] + $DisableFacebook, [Parameter()] - [System.Object[]] - $ExchangeSenderMemberOf, - + [System.Boolean] + $RecoverDeletedItemsEnabled + ) +} +function Set-PartnerApplication +{ + [CmdletBinding()] + param( [Parameter()] - [System.Object[]] - $ExchangeSenderMemberOfException, + [System.String] + $ApplicationIdentifier, [Parameter()] - [System.Object] - $RemoveOneDriveLocation, + [System.String] + $Name, [Parameter()] [System.Object] - $RemoveOnPremisesScannerDlpLocationException, + $LinkedAccount, [Parameter()] - [System.Object] - $AddOneDriveLocation, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] - [System.Object] - $RemoveExchangeLocation, + [System.Boolean] + $AcceptSecurityIdentifierInformation, [Parameter()] [System.Object] - $RemoveOnPremisesScannerDlpLocation, + $Identity, [Parameter()] - [System.Object] - $Mode, + [System.String[]] + $ActAsPermissions, [Parameter()] [System.Object] - $RemoveEndpointDlpLocationException, + $AccountType, [Parameter()] - [System.Object] - $PolicyTemplateInfo, + [System.Boolean] + $Enabled + ) +} +function Set-PerimeterConfig +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] [System.Object] - $AddOnPremisesScannerDlpLocationException, + $Identity, [Parameter()] [System.Object] - $AddTeamsLocationException + $GatewayIPAddresses ) } -function Set-DlpComplianceRule +function Set-PolicyTipConfig { [CmdletBinding()] param( [Parameter()] - [System.Boolean] - $ExceptIfDocumentIsUnsupported, + [System.String] + $Value, [Parameter()] - [System.Boolean] - $ProcessingLimitExceeded, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] [System.Object] - $ActivationDate, - + $Identity + ) +} +function Set-QuarantinePolicy +{ + [CmdletBinding()] + param( [Parameter()] [System.Object] - $NotifyUser, - - [Parameter()] - [System.Boolean] - $ExceptIfDocumentIsPasswordProtected, + $MultiLanguageCustomDisclaimer, [Parameter()] [System.Object] - $ExceptIfRecipientADAttributeContainsWords, + $AdminNotificationLanguage, [Parameter()] [System.Object] - $ExceptIfDocumentNameMatchesPatterns, + $Identity, [Parameter()] - [System.Object] - $NotifyEndpointUser, + [System.String] + $EndUserSpamNotificationCustomFromAddress, [Parameter()] - [System.Object] - $ExceptIfSenderADAttributeContainsWords, + [System.Int32] + $EndUserSpamNotificationFrequencyInDays, [Parameter()] [System.String] - $NotifyEmailCustomSubject, + $CustomDisclaimer, [Parameter()] - [System.Object[]] - $FromMemberOf, + [System.Int32] + $EndUserQuarantinePermissionsValue, [Parameter()] [System.Boolean] - $ContentIsShared, - - [Parameter()] - [System.Object[]] - $ExceptIfSentToMemberOf, + $ESNEnabled, [Parameter()] - [System.Object] - $AddRecipients, + [System.Management.Automation.SwitchParameter] + $IgnoreDehydratedFlag, [Parameter()] [System.Object] - $ExceptIfUnscannableDocumentExtensionIs, + $EndUserQuarantinePermissions, [Parameter()] - [System.Object] - $RecipientDomainIs, + [System.Boolean] + $AdminNotificationsEnabled, [Parameter()] [System.Object] - $SenderADAttributeContainsWords, + $EndUserSpamNotificationLanguage, [Parameter()] [System.Object] - $ExceptIfHeaderMatchesPatterns, + $DomainController, [Parameter()] [System.Object] - $ExceptIfFromScope, + $MultiLanguageSenderName, [Parameter()] - [System.Object] - $ExceptIfHeaderContainsWords, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] [System.Object] - $HeaderMatchesPatterns, + $AdminQuarantinePermissionsList, [Parameter()] [System.Object] - $ContentPropertyContainsWords, + $MultiLanguageSetting, [Parameter()] - [System.Boolean] - $HasSenderOverride, + [System.TimeSpan] + $EndUserSpamNotificationFrequency, [Parameter()] - [System.Object] - $SetHeader, + [System.Int32] + $QuarantineRetentionDays, [Parameter()] [System.Object] - $ExceptIfSubjectOrBodyMatchesPatterns, + $EsnCustomSubject, [Parameter()] [System.Boolean] - $ExceptIfHasSenderOverride, + $OrganizationBrandingEnabled, + [Parameter()] + [System.Int32] + $AdminNotificationFrequencyInDays + ) +} +function Set-RemoteDomain +{ + [CmdletBinding()] + param( [Parameter()] [System.Boolean] - $Quarantine, + $AutoReplyEnabled, [Parameter()] [System.Object] - $ExceptIfAnyOfRecipientAddressMatchesPatterns, + $Identity, [Parameter()] [System.Object] - $ExceptIfContentCharacterSetContainsWords, + $TNEFEnabled, [Parameter()] - [System.Object] - $EncryptRMSTemplate, + [System.Boolean] + $DeliveryReportEnabled, [Parameter()] [System.Object] - $ExceptIfAccessScope, + $RequiredCharsetCoverage, [Parameter()] - [System.Object] - $ExceptIfMessageTypeMatches, + [System.Boolean] + $MeetingForwardNotificationEnabled, [Parameter()] [System.Object] - $SenderIPRanges, + $ContentType, [Parameter()] [System.Object] - $ExceptIfDocumentNameMatchesWords, + $ByteEncoderTypeFor7BitCharsets, [Parameter()] - [System.Object] - $ExceptIfContentFileTypeMatches, + [System.Boolean] + $AutoForwardEnabled, [Parameter()] - [System.Object] - $ExceptIfContentExtensionMatchesWords, + [System.String] + $Name, [Parameter()] - [System.Object] - $RemoveHeader, + [System.Boolean] + $TrustedMailInboundEnabled, [Parameter()] [System.Object] - $ApplyHtmlDisclaimer, + $LineWrapSize, [Parameter()] - [System.Object[]] - $ExceptIfFromMemberOf, + [System.String] + $CharacterSet, [Parameter()] [System.Object] - $Moderate, + $PreferredInternetCodePageForShiftJis, [Parameter()] - [System.Object] - $GenerateAlert, + [System.Boolean] + $SmtpDaneMandatoryModeEnabled, [Parameter()] [System.String] - $PrependSubject, + $NonMimeCharacterSet, [Parameter()] - [System.Object[]] - $From, + [System.Boolean] + $TargetDeliveryDomain, [Parameter()] - [System.Object] - $ExceptIfWithImportance, + [System.Boolean] + $TrustedMailOutboundEnabled, [Parameter()] - [System.Object] - $ContentCharacterSetContainsWords, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] - [System.Object[]] - $ContentContainsSensitiveInformation, + [System.Boolean] + $DisplaySenderName, [Parameter()] [System.Object] - $SubjectContainsWords, + $AllowedOOFType, [Parameter()] - [System.Object[]] - $EndpointDlpRestrictions, + [System.Boolean] + $NDRDiagnosticInfoEnabled, [Parameter()] - [System.Object] - $SenderADAttributeMatchesPatterns, + [System.Boolean] + $NDREnabled, [Parameter()] - [System.Object] - $ExceptIfSenderADAttributeMatchesPatterns, + [System.Boolean] + $IsInternal, [Parameter()] - [System.Object[]] - $IncidentReportContent, + [System.Boolean] + $UseSimpleDisplayName + ) +} +function Set-ResourceConfig +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] [System.Object] - $DocumentContainsWords, + $ResourcePropertySchema + ) +} +function Set-RoleAssignmentPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $Description, [Parameter()] - [System.Object[]] - $ExceptIfFrom, + [System.String] + $Name, [Parameter()] - [System.Boolean] - $RestrictBrowserAccess, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] [System.Object] - $ExceptIfSentTo, + $Identity, [Parameter()] - [System.Object] - $ExceptIfDocumentCreatedBy, + [System.Management.Automation.SwitchParameter] + $IsDefault + ) +} +function Set-RoleGroup +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $Description, + + [Parameter()] + [System.String] + $DisplayName, [Parameter()] [System.String] - $NotifyPolicyTipUrl, + $Name, [Parameter()] [System.Management.Automation.SwitchParameter] $Confirm, [Parameter()] - [System.Object] - $RuleErrorAction, + [System.String] + $WellKnownObject, [Parameter()] [System.Object] - $FromScope, + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $BypassSecurityGroupManagerCheck, [Parameter()] [System.Object] - $ExceptIfFromAddressMatchesPatterns, + $ManagedBy, + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Force + ) +} +function Set-SharingPolicy +{ + [CmdletBinding()] + param( [Parameter()] [System.String] - $NotifyPolicyTipCustomText, + $Name, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] [System.Object] - $ExceptIfFromAddressContainsWords, + $Domains, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Default, [Parameter()] [System.Object] - $SubjectMatchesPatterns, + $Identity, + + [Parameter()] + [System.Boolean] + $Enabled + ) +} +function Set-TransportConfig +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Boolean] + $InternalDelayDsnEnabled, [Parameter()] [System.Boolean] - $ExceptIfProcessingLimitExceeded, + $InternalDsnSendHtml, [Parameter()] - [System.Object] - $DocumentNameMatchesPatterns, + [System.Boolean] + $ExternalDelayDsnEnabled, [Parameter()] [System.Object] - $Priority, + $DSNConversionMode, [Parameter()] - [System.Object[]] - $OnPremisesScannerDlpRestrictions, + [System.Boolean] + $SmtpClientAuthenticationDisabled, [Parameter()] [System.Object] - $ExceptIfSenderDomainIs, + $MessageExpiration, [Parameter()] - [System.Object[]] - $RedirectMessageTo, + [System.Management.Automation.SwitchParameter] + $Force, [Parameter()] - [System.String] - $AdvancedRule, + [System.Boolean] + $ReplyAllStormProtectionEnabled, [Parameter()] - [System.Object] - $UnscannableDocumentExtensionIs, + [System.Boolean] + $AddressBookPolicyRoutingEnabled, [Parameter()] - [System.Object] - $DocumentCreatedBy, + [System.Boolean] + $ExternalDsnLanguageDetectionEnabled, [Parameter()] - [System.Object] - $ReportSeverityLevel, + [System.Boolean] + $ExternalDsnSendHtml, [Parameter()] - [System.Object] - $SenderDomainIs, + [System.Boolean] + $Rfc2231EncodingEnabled, [Parameter()] - [System.Object] - $ExceptIfDocumentMatchesPatterns, + [System.Boolean] + $InternalDsnLanguageDetectionEnabled, [Parameter()] - [System.Object] - $RecipientADAttributeMatchesPatterns, + [System.Boolean] + $VoicemailJournalingEnabled, [Parameter()] [System.Object] - $DocumentNameMatchesWords, + $HeaderPromotionModeSetting, [Parameter()] [System.Object] - $ExceptIfContentPropertyContainsWords, + $JournalingReportNdrTo, [Parameter()] - [System.Object] - $GenerateIncidentReport, + [System.Boolean] + $ConvertDisclaimerWrapperToEml, [Parameter()] [System.Object] - $FromAddressContainsWords, + $InternalDsnReportingAuthority, [Parameter()] - [System.Object] - $AnyOfRecipientAddressMatchesPatterns, + [System.Int32] + $JournalMessageExpirationDays, [Parameter()] - [System.Object] - $ExceptIfSubjectContainsWords, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] [System.Object] - $SubjectOrBodyMatchesPatterns, + $MaxRecipientEnvelopeLimit, [Parameter()] - [System.Object] - $DocumentMatchesPatterns, + [System.Int32] + $ReplyAllStormDetectionMinimumReplies, [Parameter()] [System.Object] - $SharedByIRMUserRisk, + $ExternalDsnReportingAuthority, [Parameter()] - [System.Object[]] - $EndpointDlpBrowserRestrictions, + [System.Globalization.CultureInfo] + $ExternalDsnDefaultLanguage, [Parameter()] - [System.Boolean] - $RemoveRMSTemplate, + [System.Globalization.CultureInfo] + $InternalDsnDefaultLanguage, [Parameter()] [System.Object] - $ExceptIfSubjectMatchesPatterns, + $AllowLegacyTLSClients, [Parameter()] [System.Boolean] - $ExceptIfContentIsShared, - - [Parameter()] - [System.Object] - $ExceptIfAnyOfRecipientAddressContainsWords, + $ClearCategories, [Parameter()] - [System.Object] - $AnyOfRecipientAddressContainsWords, + [System.Int32] + $ReplyAllStormBlockDurationHours, [Parameter()] [System.Object] - $HeaderContainsWords, + $ExternalPostmasterAddress, [Parameter()] - [System.Object] - $AlertProperties, - + [System.Int32] + $ReplyAllStormDetectionMinimumRecipients + ) +} +function Set-TransportRule +{ + [CmdletBinding()] + param( [Parameter()] [System.Object] - $ContentExtensionMatchesWords, + $ActivationDate, [Parameter()] - [System.Object] - $WithImportance, + [System.Object[]] + $AddToRecipients, [Parameter()] [System.Object] - $MessageSizeOver, + $ApplyHtmlDisclaimerFallbackAction, [Parameter()] - [System.Object] - $SentTo, + [System.Object[]] + $ExceptIfRecipientADAttributeContainsWords, [Parameter()] - [System.Boolean] - $DocumentIsUnsupported, + [System.Object] + $AttachmentSizeOver, [Parameter()] [System.Object[]] - $DocumentCreatedByMemberOf, + $ExceptIfSenderADAttributeContainsWords, [Parameter()] - [System.Boolean] - $ContentIsNotLabeled, + [System.Object] + $SetSCL, [Parameter()] - [System.Object] - $AccessScope, + [System.Object[]] + $AnyOfToHeaderMemberOf, [Parameter()] - [System.Object] - $ExceptIfDocumentSizeOver, + [System.Boolean] + $Disconnect, [Parameter()] - [System.String] - $Comment, + [System.Int32] + $Priority, [Parameter()] [System.Object[]] - $NotifyAllowOverride, + $ExceptIfSentToMemberOf, [Parameter()] - [System.Object] - $NotifyOverrideRequirements, + [System.Object[]] + $ExceptIfAnyOfCcHeader, [Parameter()] - [System.Object] - $ExceptIfSenderIPRanges, + [System.Object[]] + $ExceptIfAttachmentMatchesPatterns, [Parameter()] - [System.Object] - $ExceptIfRecipientADAttributeMatchesPatterns, + [System.Object[]] + $RecipientDomainIs, [Parameter()] [System.Object] - $RecipientADAttributeContainsWords, + $ManagerForEvaluatedUser, [Parameter()] [System.Object[]] - $ThirdPartyAppDlpRestrictions, + $ExceptIfHeaderMatchesPatterns, [Parameter()] [System.Object] - $ExpiryDate, + $ExceptIfFromScope, [Parameter()] - [System.Boolean] - $StopPolicyProcessing, + [System.Object] + $AdComparisonAttribute, [Parameter()] [System.Object[]] - $ExceptIfContentContainsSensitiveInformation, + $ExceptIfHeaderContainsWords, [Parameter()] [System.Object[]] - $SentToMemberOf, - - [Parameter()] - [System.Object] - $DocumentSizeOver, + $HeaderMatchesPatterns, [Parameter()] [System.Object] - $MessageTypeMatches, + $AddManagerAsRecipientType, [Parameter()] - [System.Object] - $ModifySubject, + [System.Boolean] + $DeleteMessage, [Parameter()] [System.Boolean] - $Disabled, + $HasSenderOverride, [Parameter()] [System.Object] - $ContentFileTypeMatches, + $SmtpRejectMessageRejectStatusCode, [Parameter()] [System.String] - $NotifyEmailCustomText, + $ExceptIfHasClassification, [Parameter()] [System.Boolean] - $BlockAccess, + $Quarantine, [Parameter()] - [System.Object] - $SenderAddressLocation, + [System.Object[]] + $ExceptIfAnyOfRecipientAddressMatchesPatterns, [Parameter()] - [System.Object] - $Identity, + [System.Object[]] + $ExceptIfRecipientInSenderList, [Parameter()] [System.Object] - $SubjectOrBodyContainsWords, + $RecipientAddressType, [Parameter()] - [System.Object] - $NotifyPolicyTipCustomTextTranslations, + [System.Object[]] + $ExceptIfContentCharacterSetContainsWords, [Parameter()] - [System.Object] - $NotifyPolicyTipDisplayOption, + [System.Object[]] + $BlindCopyTo, [Parameter()] [System.Object] - $NonBifurcatingAccessScope, + $ApplyHtmlDisclaimerLocation, [Parameter()] - [System.Boolean] - $DocumentIsPasswordProtected, + [System.Object] + $ExceptIfMessageTypeMatches, [Parameter()] [System.Object] - $ExceptIfRecipientDomainIs, + $SenderIpRanges, [Parameter()] - [System.Object] - $ExceptIfDocumentContainsWords, + [System.Collections.Hashtable[]] + $ExceptIfMessageContainsDataClassifications, [Parameter()] - [System.Object] - $FromAddressMatchesPatterns, + [System.Object[]] + $ModerateMessageByUser, [Parameter()] - [System.Object] - $BlockAccessScope, + [System.Boolean] + $HasNoClassification, [Parameter()] [System.Object[]] - $ExceptIfDocumentCreatedByMemberOf, + $ExceptIfSenderInRecipientList, [Parameter()] [System.Object] - $ExceptIfSubjectOrBodyContainsWords, + $HeaderContainsMessageHeader, [Parameter()] [System.Object] - $NotifyUserType, + $RemoveHeader, - [Parameter()] - [System.Object] - $ExceptIfMessageSizeOver - ) -} -function Set-FilePlanPropertyCitation -{ - [CmdletBinding()] - param( [Parameter()] [System.String] - $DisplayName, + $HasClassification, [Parameter()] - [System.String] - $CitationUrl, + [System.Collections.Hashtable[]] + $MessageContainsDataClassifications, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object[]] + $ExceptIfFromMemberOf, [Parameter()] [System.Object] - $Identity, + $RuleSubType, [Parameter()] - [System.String] - $CitationJurisdiction - ) -} -function Set-Label -{ - [CmdletBinding()] - param( + [System.Object[]] + $AnyOfRecipientAddressMatchesPatterns, + [Parameter()] [System.Object] - $EncryptionEncryptOnly, + $SentToScope, [Parameter()] - [System.String] - $EncryptionDoubleKeyEncryptionUrl, + [System.Object[]] + $AnyOfToCcHeaderMemberOf, [Parameter()] - [System.String] - $ApplyContentMarkingHeaderText, + [System.Object[]] + $From, [Parameter()] - [System.Object] - $Setting, + [System.Object[]] + $ExceptIfAnyOfRecipientAddressContainsWords, [Parameter()] [System.Object] - $ApplyContentMarkingFooterEnabled, + $ExceptIfWithImportance, [Parameter()] - [System.Object] - $EncryptionEnabled, + [System.Object[]] + $ContentCharacterSetContainsWords, [Parameter()] - [System.Object] - $SiteAndGroupProtectionEnabled, + [System.Object[]] + $SubjectContainsWords, [Parameter()] [System.Object] - $TeamsEndToEndEncryptionEnabled, + $RejectMessageEnhancedStatusCode, [Parameter()] - [System.Object] - $ApplyContentMarkingFooterFontSize, + [System.Object[]] + $SenderADAttributeMatchesPatterns, [Parameter()] - [System.String] - $ColumnAssetCondition, + [System.Object[]] + $ExceptIfSenderADAttributeMatchesPatterns, [Parameter()] - [System.Object] - $ContentType, + [System.Object[]] + $IncidentReportContent, [Parameter()] - [System.Object] - $ApplyWaterMarkingFontSize, + [System.Object[]] + $FromMemberOf, [Parameter()] - [System.String] - $ApplyContentMarkingHeaderFontColor, + [System.Object[]] + $AttachmentContainsWords, [Parameter()] [System.Object] - $SiteAndGroupProtectionPrivacy, + $ExceptIfSCLOver, [Parameter()] - [System.String] - $EncryptionContentExpiredOnDateInDaysOrNever, + [System.Object[]] + $ExceptIfBetweenMemberOf1, [Parameter()] - [System.String] - $ApplyWaterMarkingText, + [System.Object] + $GenerateNotification, [Parameter()] [System.Object] - $ApplyWaterMarkingLayout, + $NotifySender, [Parameter()] - [System.String] - $DefaultContentLabel, + [System.Boolean] + $ExceptIfAttachmentIsPasswordProtected, [Parameter()] - [System.String] - $ApplyWaterMarkingFontName, + [System.Object[]] + $ExceptIfAttachmentNameMatchesPatterns, [Parameter()] [System.Object] - $SiteAndGroupProtectionLevel, + $ExceptIfSenderManagementRelationship, [Parameter()] [System.String] - $ApplyContentMarkingFooterText, + $SetAuditSeverity, [Parameter()] - [System.Object] - $TeamsLobbyRestrictionEnforced, + [System.Object[]] + $AttachmentPropertyContainsWords, [Parameter()] - [System.Object] - $SiteAndGroupProtectionAllowEmailFromGuestUsers, + [System.Object[]] + $ExceptIfAnyOfToHeader, [Parameter()] [System.Object] - $TeamsLobbyBypassScope, + $ApplyRightsProtectionCustomizationTemplate, [Parameter()] [System.Object] - $SiteAndGroupProtectionAllowLimitedAccess, + $SetHeaderName, [Parameter()] - [System.Object] - $EncryptionProtectionType, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] - [System.Object] - $TeamsProtectionEnabled, + [System.Boolean] + $RouteMessageOutboundRequireTls, [Parameter()] [System.Object] - $ParentId, - - [Parameter()] - [System.String] - $DisplayName, - - [Parameter()] - [System.String] - $SchematizedDataCondition, + $WithImportance, [Parameter()] - [System.String] - $Comment, + [System.Object] + $RuleErrorAction, [Parameter()] [System.Object] - $Conditions, + $FromScope, [Parameter()] - [System.Object] - $Settings, + [System.Object[]] + $AttachmentNameMatchesPatterns, [Parameter()] - [System.String] - $MigrationId, + [System.Object[]] + $SentTo, [Parameter()] - [System.Object] - $TeamsWhoCanRecord, + [System.Object[]] + $ExceptIfFromAddressMatchesPatterns, [Parameter()] - [System.Object] - $EncryptionRightsDefinitions, + [System.Object[]] + $AnyOfCcHeaderMemberOf, [Parameter()] - [System.String] - $ApplyContentMarkingFooterFontColor, + [System.Object] + $ExceptIfAttachmentSizeOver, [Parameter()] [System.Object] - $PreviousLabel, + $ExceptIfManagerForEvaluatedUser, [Parameter()] - [System.String] - $ApplyContentMarkingFooterFontName, + [System.Boolean] + $RemoveOMEv2, [Parameter()] - [System.Object] - $TeamsVideoWatermark, + [System.Object[]] + $ExceptIfFromAddressContainsWords, [Parameter()] - [System.Object] - $ApplyContentMarkingHeaderMargin, + [System.Boolean] + $AttachmentHasExecutableContent, [Parameter()] [System.Object] - $TeamsPresentersRestrictionEnforced, + $RouteMessageOutboundConnector, [Parameter()] - [System.Object] - $TeamsCopyRestrictionEnforced, + [System.Object[]] + $ExceptIfRecipientDomainIs, [Parameter()] - [System.Object] - $ApplyContentMarkingHeaderAlignment, + [System.Object[]] + $ExceptIfSenderDomainIs, [Parameter()] [System.Object] - $LabelActions, + $SenderManagementRelationship, [Parameter()] - [System.Object] - $TeamsBypassLobbyForDialInUsers, + [System.Object[]] + $ExceptIfBetweenMemberOf2, [Parameter()] - [System.Object] - $ApplyContentMarkingHeaderFontSize, + [System.Object[]] + $RedirectMessageTo, [Parameter()] - [System.Object] - $LocaleSettings, + [System.Boolean] + $ApplyOME, [Parameter()] - [System.Object] - $TeamsAllowedPresenters, + [System.Object[]] + $SenderDomainIs, [Parameter()] - [System.Object] - $AdvancedSettings, + [System.Object[]] + $SenderADAttributeContainsWords, [Parameter()] - [System.String] - $ApplyContentMarkingHeaderFontName, + [System.Object[]] + $ExceptIfAnyOfCcHeaderMemberOf, [Parameter()] [System.Object] - $ApplyContentMarkingFooterAlignment, + $ApplyHtmlDisclaimerText, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Boolean] + $ExceptIfAttachmentHasExecutableContent, [Parameter()] - [System.Object] - $SiteExternalSharingControlType, + [System.Boolean] + $ExceptIfAttachmentIsUnsupported, [Parameter()] - [System.Object] - $Priority, + [System.Boolean] + $RemoveOME, [Parameter()] [System.Object] - $TeamsAllowMeetingChat, + $RejectMessageReasonText, [Parameter()] - [System.Object] - $EncryptionDoNotForward, + [System.Object[]] + $RecipientAddressContainsWords, [Parameter()] [System.Object] - $SiteAndGroupProtectionAllowAccessToGuestUsers, + $GenerateIncidentReport, [Parameter()] - [System.Object] - $EncryptionPromptUser, + [System.Object[]] + $FromAddressContainsWords, [Parameter()] - [System.String] - $Tooltip, + [System.Boolean] + $RemoveRMSAttachmentEncryption, [Parameter()] - [System.Object] - $SiteAndGroupProtectionBlockAccess, + [System.Object[]] + $RecipientAddressMatchesPatterns, [Parameter()] - [System.Object] - $EncryptionOfflineAccessDays, + [System.Object[]] + $ExceptIfSubjectContainsWords, [Parameter()] - [System.Object] - $ApplyContentMarkingHeaderEnabled, + [System.Object[]] + $ExceptIfFrom, [Parameter()] - [System.Object] - $ApplyContentMarkingFooterMargin, + [System.Object[]] + $AnyOfToCcHeader, [Parameter()] [System.Object] - $SiteAndGroupProtectionAllowFullAccess, + $ExceptIfSentToScope, [Parameter()] - [System.String] - $ApplyWaterMarkingFontColor, + [System.Object[]] + $ExceptIfAnyOfToCcHeaderMemberOf, [Parameter()] - [System.String] - $EncryptionRightsUrl, + [System.Boolean] + $ModerateMessageByManager, [Parameter()] [System.Object] - $NextLabel, + $AdComparisonOperator, [Parameter()] [System.Object] - $Identity, + $MessageSizeOver, [Parameter()] - [System.Object] - $ApplyWaterMarkingEnabled, + [System.Object[]] + $BetweenMemberOf2, [Parameter()] - [System.Object] - $TeamsRecordAutomatically - ) -} -function Set-LabelPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $RemoveModernGroupLocation, + [System.Object[]] + $SubjectMatchesPatterns, [Parameter()] - [System.Object] - $AddExchangeLocation, + [System.Boolean] + $AttachmentProcessingLimitExceeded, [Parameter()] - [System.Object] - $PreviousLabelPolicy, + [System.Object[]] + $ExceptIfSubjectMatchesPatterns, [Parameter()] - [System.Object] - $AddExchangeLocationException, + [System.String] + $Name, [Parameter()] - [System.String] - $Comment, + [System.Object[]] + $ExceptIfRecipientAddressContainsWords, [Parameter()] [System.Object] - $Identity, + $HeaderMatchesMessageHeader, [Parameter()] - [System.Object] - $RemoveExchangeLocationException, + [System.Object[]] + $AnyOfRecipientAddressContainsWords, [Parameter()] - [System.Object] - $Setting, + [System.Object[]] + $HeaderContainsWords, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.String] + $Comments, [Parameter()] - [System.Object] - $Settings, + [System.Object[]] + $SentToMemberOf, [Parameter()] [System.Object] - $RemoveLabels, + $ExceptIfAdComparisonAttribute, + + [Parameter()] + [System.Object[]] + $ExceptIfSentTo, [Parameter()] [System.Object] - $AddSkypeLocation, + $ExceptIfAdComparisonOperator, [Parameter()] [System.Object] - $PolicyRBACScopes, + $Identity, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force, + [System.Object[]] + $ExceptIfAnyOfToHeaderMemberOf, [Parameter()] [System.Object] - $AddLabels, + $Mode, [Parameter()] - [System.Object] - $RemovePublicFolderLocation, + [System.Object[]] + $RecipientInSenderList, [Parameter()] - [System.Object] - $RemoveModernGroupLocationException, + [System.Object[]] + $SubjectOrBodyMatchesPatterns, [Parameter()] - [System.Object] - $AddModernGroupLocationException, + [System.Object[]] + $ExceptIfAttachmentExtensionMatchesWords, [Parameter()] - [System.Object] - $RemoveOneDriveLocationException, + [System.Object[]] + $ExceptIfSubjectOrBodyMatchesPatterns, [Parameter()] - [System.Object] - $RemoveSharePointLocation, + [System.Object[]] + $ExceptIfRecipientAddressMatchesPatterns, [Parameter()] - [System.Object] - $AddOneDriveLocationException, + [System.Boolean] + $ExceptIfHasNoClassification, [Parameter()] [System.Object] - $AddModernGroupLocation, + $ExceptIfSenderIpRanges, [Parameter()] - [System.Object] - $AddPublicFolderLocation, + [System.Object[]] + $ExceptIfRecipientADAttributeMatchesPatterns, [Parameter()] - [System.Management.Automation.SwitchParameter] - $RetryDistribution, + [System.Object[]] + $RecipientADAttributeContainsWords, [Parameter()] - [System.String] - $MigrationId, + [System.Boolean] + $AttachmentIsUnsupported, [Parameter()] [System.Object] - $AddSharePointLocation, + $ExpiryDate, [Parameter()] - [System.Object] - $AddSharePointLocationException, + [System.Object[]] + $AttachmentExtensionMatchesWords, [Parameter()] - [System.Object] - $RemoveSkypeLocationException, + [System.Object[]] + $ExceptIfSubjectOrBodyContainsWords, [Parameter()] [System.Object] - $RemoveSharePointLocationException, + $LogEventText, [Parameter()] - [System.Object] - $AdvancedSettings, + [System.Object[]] + $ExceptIfManagerAddresses, [Parameter()] - [System.Object] - $NextLabelPolicy, + [System.Object[]] + $SenderInRecipientList, [Parameter()] - [System.Object] - $RemoveExchangeLocation, + [System.Object[]] + $ExceptIfAnyOfToCcHeader, [Parameter()] - [System.Object] - $RemoveSkypeLocation, + [System.Object[]] + $AttachmentMatchesPatterns, [Parameter()] - [System.Object] - $RemoveOneDriveLocation, + [System.String] + $DlpPolicy, [Parameter()] - [System.Object] - $AddOneDriveLocation, + [System.Object[]] + $ManagerAddresses, [Parameter()] [System.Object] - $AddSkypeLocationException - ) -} -function Set-ProtectionAlert -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Boolean] - $NotificationEnabled, + $SenderAddressLocation, [Parameter()] - [System.Object] - $NotifyUserThrottleWindow, + [System.Object[]] + $CopyTo, [Parameter()] - [System.Object] - $Threshold, + [System.Object[]] + $SubjectOrBodyContainsWords, [Parameter()] [System.String] - $Description, + $ApplyClassification, [Parameter()] - [System.Object] - $Operation, + [System.Object[]] + $RecipientADAttributeMatchesPatterns, [Parameter()] [System.Object] - $NotifyUser, + $SetHeaderValue, [Parameter()] - [System.Object] - $Identity, + [System.Boolean] + $AttachmentIsPasswordProtected, [Parameter()] - [System.Object] - $AlertBy, + [System.Object[]] + $BetweenMemberOf1, [Parameter()] [System.Object] - $PrivacyManagementScopedSensitiveInformationTypesForCounting, + $ExceptIfMessageSizeOver, [Parameter()] - [System.Object] - $AggregationType, + [System.Object[]] + $AnyOfCcHeader, [Parameter()] - [System.Object] - $Severity, + [System.Boolean] + $ExceptIfAttachmentProcessingLimitExceeded, [Parameter()] - [System.Object] - $VolumeThreshold, + [System.Object[]] + $FromAddressMatchesPatterns, [Parameter()] [System.Object] - $TimeWindow, + $ExceptIfHeaderMatchesMessageHeader, [Parameter()] [System.Object] - $PrivacyManagementScopedSensitiveInformationTypes, - - [Parameter()] - [System.String] - $Comment, + $SmtpRejectMessageRejectText, [Parameter()] - [System.Object] - $Category, + [System.Object[]] + $ExceptIfAttachmentContainsWords, [Parameter()] - [System.Object] - $AlertFor, + [System.Object[]] + $AnyOfToHeader, [Parameter()] [System.Boolean] - $Disabled, + $ExceptIfHasSenderOverride, [Parameter()] [System.Object] - $NotifyUserSuppressionExpiryDate, + $SCLOver, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object] + $PrependSubject, [Parameter()] - [System.String] - $Filter, + [System.Object] + $ApplyRightsProtectionTemplate, [Parameter()] - [System.Boolean] - $NotifyUserOnFilterMatch, + [System.Object] + $MessageTypeMatches, [Parameter()] - [System.Object] - $NotifyUserThrottleThreshold, + [System.Object[]] + $ExceptIfAttachmentPropertyContainsWords, [Parameter()] - [System.Globalization.CultureInfo] - $NotificationCulture, + [System.Boolean] + $StopRuleProcessing, [Parameter()] [System.Object] - $PrivacyManagementScopedSensitiveInformationTypesThreshold + $ExceptIfHeaderContainsMessageHeader ) } -function Set-RetentionCompliancePolicy +function Set-UnifiedGroup { [CmdletBinding()] param( [Parameter()] [System.Object] - $RemoveModernGroupLocation, - - [Parameter()] - [System.Object] - $AddExchangeLocation, + $EmailAddresses, [Parameter()] [System.Object] - $AddExchangeLocationException, + $AcceptMessagesOnlyFromSendersOrMembers, [Parameter()] [System.String] - $Comment, + $CustomAttribute12, [Parameter()] - [System.Object] - $Identity, + [System.String] + $CustomAttribute10, [Parameter()] - [System.Object] - $RemoveTeamsChatLocation, + [System.Globalization.CultureInfo] + $Language, [Parameter()] [System.Object] - $RemoveExchangeLocationException, + $IsMemberAllowedToEditContent, [Parameter()] - [System.Object] - $Applications, + [System.String] + $CustomAttribute8, [Parameter()] - [System.Boolean] - $Enabled, + [System.String] + $CustomAttribute5, [Parameter()] [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $RemoveOneDriveLocationException, + $UnifiedGroupWelcomeMessageEnabled, [Parameter()] - [System.Object] - $PolicyTemplateInfo, + [System.String] + $MailTip, [Parameter()] [System.Object] - $AddTeamsChatLocationException, + $ModeratedBy, [Parameter()] [System.Object] - $AddSkypeLocation, + $PrimarySmtpAddress, [Parameter()] - [System.Object] - $PolicyRBACScopes, + [System.String] + $Classification, [Parameter()] [System.Management.Automation.SwitchParameter] - $Force, + $AutoSubscribeNewMembers, [Parameter()] [System.Object] - $RemovePublicFolderLocation, + $AuditLogAgeLimit, [Parameter()] - [System.Object] - $RemoveModernGroupLocationException, + [System.Management.Automation.SwitchParameter] + $HiddenFromExchangeClientsEnabled, [Parameter()] [System.Object] - $AddModernGroupLocationException, + $MaxReceiveSize, [Parameter()] [System.Object] - $AddTeamsChatLocation, + $ExtensionCustomAttribute5, [Parameter()] - [System.Object] - $RemoveSharePointLocation, + [System.String] + $CustomAttribute15, [Parameter()] [System.Object] - $AddOneDriveLocationException, + $RejectMessagesFromSendersOrMembers, [Parameter()] - [System.Object] - $AddModernGroupLocation, + [System.String] + $Alias, [Parameter()] - [System.Object] - $AddTeamsChannelLocationException, + [System.String] + $DisplayName, [Parameter()] - [System.Object] - $AddPublicFolderLocation, + [System.String] + $CustomAttribute1, [Parameter()] [System.Management.Automation.SwitchParameter] - $RetryDistribution, + $SubscriptionEnabled, [Parameter()] - [System.Boolean] - $RestrictiveRetention, + [System.Management.Automation.SwitchParameter] + $ForceUpgrade, [Parameter()] [System.Object] - $AddSharePointLocation, + $AccessType, [Parameter()] - [System.Object] - $RemoveTeamsChannelLocation, + [System.String] + $MailboxRegion, [Parameter()] [System.Object] - $AddAdaptiveScopeLocation, + $GrantSendOnBehalfTo, [Parameter()] [System.Object] - $RemoveTeamsChatLocationException, + $ExtensionCustomAttribute1, [Parameter()] - [System.Object] - $RemoveTeamsChannelLocationException, + [System.String] + $Notes, + + [Parameter()] + [System.String] + $CustomAttribute14, [Parameter()] [System.Boolean] - $EnforceSimulationPolicy, + $RequireSenderAuthenticationEnabled, [Parameter()] - [System.Object] - $AddTeamsChannelLocation, + [System.String] + $CustomAttribute9, [Parameter()] - [System.Object] - $RemoveSkypeLocationException, + [System.String] + $CustomAttribute6, [Parameter()] [System.Object] - $RemoveSharePointLocationException, + $DataEncryptionPolicy, [Parameter()] [System.Object] - $RemoveExchangeLocation, + $ExtensionCustomAttribute4, [Parameter()] [System.Object] - $RemoveAdaptiveScopeLocation, + $SensitivityLabelId, [Parameter()] - [System.Object] - $RemoveSkypeLocation, + [System.Management.Automation.SwitchParameter] + $AlwaysSubscribeMembersToCalendarEvents, [Parameter()] [System.Object] - $RemoveOneDriveLocation, + $ExtensionCustomAttribute2, [Parameter()] - [System.Object] - $AddSharePointLocationException, + [System.String] + $CustomAttribute13, [Parameter()] - [System.Object] - $AddOneDriveLocation, + [System.String] + $CustomAttribute2, [Parameter()] - [System.Object] - $AddSkypeLocationException, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] - [System.Boolean] - $StartSimulation - ) -} -function Set-RetentionComplianceRule -{ - [CmdletBinding()] - param( + [System.Management.Automation.SwitchParameter] + $CalendarMemberReadOnly, + [Parameter()] [System.Object] - $RetentionDuration, + $InformationBarrierMode, [Parameter()] [System.Object] - $ExcludedItemClasses, + $MaxSendSize, [Parameter()] [System.Object] - $ContentDateFrom, + $MailTipTranslations, [Parameter()] - [System.Object[]] - $ContentContainsSensitiveInformation, + [System.String] + $CustomAttribute7, [Parameter()] [System.String] - $RetentionComplianceAction, + $CustomAttribute4, [Parameter()] - [System.String] - $ContentMatchQuery, + [System.Object] + $ExtensionCustomAttribute3, [Parameter()] - [System.String] - $ApplyComplianceTag, + [System.Management.Automation.SwitchParameter] + $ConnectorsEnabled, [Parameter()] - [System.Object] - $ContentDateTo, + [System.Boolean] + $ModerationEnabled, [Parameter()] [System.String] - $Comment, + $CustomAttribute3, [Parameter()] [System.String] - $ExpirationDateOption, + $CustomAttribute11, [Parameter()] [System.Object] $Identity, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $RetentionDurationDisplayHint + [System.Boolean] + $HiddenFromAddressListsEnabled ) } -function Set-RoleGroup +function Set-User { [CmdletBinding()] param( [Parameter()] [System.String] - $Description, + $Company, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force, + [System.String] + $Phone, [Parameter()] [System.String] $DisplayName, [Parameter()] - [System.String] - $Name, + [System.Object] + $Identity, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.String] + $Office, [Parameter()] [System.Object] - $Identity - ) -} -function Set-SupervisoryReviewPolicy -{ - [CmdletBinding()] - param( + $CountryOrRegion, + [Parameter()] - [System.String] - $Description, + [System.Object] + $AuthenticationPolicy, [Parameter()] - [System.String[]] - $AddReviewers, + [System.Object] + $OtherTelephone, [Parameter()] [System.String] - $Condition, + $Pager, [Parameter()] - [System.Object] - $PolicyType, + [System.String] + $Name, [Parameter()] - [System.String[]] - $RemoveReviewers, + [System.String] + $PhoneticDisplayName, [Parameter()] - [System.Object] - $Identity, + [System.Management.Automation.SwitchParameter] + $ClearDataEncryptionPolicy, [Parameter()] - [System.String[]] - $Reviewers, + [System.String] + $Fax, [Parameter()] - [System.Object] - $SamplingRate - ) -} -function Set-SupervisoryReviewPolicyV2 -{ - [CmdletBinding()] - param( + [System.Management.Automation.SwitchParameter] + $Force, + [Parameter()] - [System.String[]] - $AddReviewers, + [System.String] + $LastName, [Parameter()] - [System.Int32] - $RetentionPeriodInDays, + [System.Object] + $StsRefreshTokensValidFrom, [Parameter()] [System.Management.Automation.SwitchParameter] - $Confirm, + $RemoveMailboxProvisioningConstraint, [Parameter()] - [System.String] - $Comment, + [System.Boolean] + $ResetPasswordOnNextLogon, [Parameter()] - [System.String[]] - $UserReportingWorkloads, + [System.Boolean] + $BlockCloudCache, [Parameter()] - [System.String[]] - $RemoveReviewers, + [System.Object] + $SeniorityIndex, [Parameter()] - [System.Object] - $Identity, + [System.String] + $City, [Parameter()] [System.Boolean] - $Enabled, + $VIP, [Parameter()] - [System.String[]] - $Reviewers, + [System.String] + $Title, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force - ) -} -function Set-SupervisoryReviewRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $ExceptIfFrom, + [System.String] + $MobilePhone, [Parameter()] - [System.Object] - $Identity, + [System.String] + $AssistantName, [Parameter()] - [System.Boolean] - $DayXInsights, + [System.String] + $StateOrProvince, [Parameter()] - [System.String[]] - $ContentSources, + [System.String] + $Initials, [Parameter()] - [System.Object] - $ExceptIfRevieweeIs, + [System.String] + $WebPage, [Parameter()] [System.String] - $CcsiDataModelOperator, + $Notes, [Parameter()] - [System.Object[]] - $ContentContainsSensitiveInformation, + [System.Management.Automation.SwitchParameter] + $PermanentlyClearPreviousMailboxInfo, [Parameter()] [System.String] - $InPurviewFilter, + $MailboxRegion, [Parameter()] [System.Object] - $ExceptIfSentTo, + $Manager, [Parameter()] - [System.Object] - $ExceptIfSubjectOrBodyContainsWords, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] [System.Object] - $ExceptIfRecipientDomainIs, + $OtherFax, [Parameter()] [System.String] - $AdvancedRule, + $SimpleDisplayName, [Parameter()] [System.Object] - $From, + $MailboxRegionSuffix, + + [Parameter()] + [System.String] + $HomePhone, [Parameter()] [System.String] - $ContentMatchesDataModel, + $Department, [Parameter()] [System.Object] - $SentTo, + $OtherHomePhone, [Parameter()] [System.String] - $Condition, + $FirstName, + + [Parameter()] + [System.Object] + $PostOfficeBox, [Parameter()] [System.Management.Automation.SwitchParameter] - $Confirm, + $PublicFolder, [Parameter()] [System.Object] - $ExceptIfSenderDomainIs, + $WindowsEmailAddress, [Parameter()] [System.Boolean] - $Ocr, + $RemotePowerShellEnabled, [Parameter()] - [System.Int32] - $SamplingRate, + [System.String] + $PostalCode, [Parameter()] - [System.String[]] - $IncludeAdaptiveScopes - ) -} -function Start-ComplianceSearch -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $RetryOnError, + [System.Object] + $GeoCoordinates, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.String] + $StreetAddress, [Parameter()] [System.Object] - $Identity, + $DesiredWorkloads, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force + [System.Boolean] + $CanHaveCloudCache ) } function Update-RoleGroupMember @@ -69653,12 +75115,17 @@ function Update-RoleGroupMember [System.Object] $Identity, + [Parameter()] + [System.Management.Automation.SwitchParameter] + $BypassSecurityGroupManagerCheck, + [Parameter()] [System.Object] $Members ) } #endregion + #region PnP.PowerShell function Add-PnPApp { From fc9d28500287b77ab7536aa8d3694b6ee84c4d5a Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Mon, 2 Oct 2023 12:25:16 -0400 Subject: [PATCH 17/32] Initial --- .../MSFT_EXOPlace/MSFT_EXOPlace.psm1 | 622 ++++++++++++++++++ .../MSFT_EXOPlace/MSFT_EXOPlace.schema.mof | 35 + .../DSCResources/MSFT_EXOPlace/readme.md | 5 + .../DSCResources/MSFT_EXOPlace/settings.json | 31 + .../Resources/EXOPlace/1-ConfigurePlace.ps1 | 42 ++ .../Microsoft365DSC.EXOPlace.Tests.ps1 | 135 ++++ 6 files changed, 870 insertions(+) create mode 100644 Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/MSFT_EXOPlace.psm1 create mode 100644 Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/MSFT_EXOPlace.schema.mof create mode 100644 Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/readme.md create mode 100644 Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/settings.json create mode 100644 Modules/Microsoft365DSC/Examples/Resources/EXOPlace/1-ConfigurePlace.ps1 create mode 100644 Tests/Unit/Microsoft365DSC/Microsoft365DSC.EXOPlace.Tests.ps1 diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/MSFT_EXOPlace.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/MSFT_EXOPlace.psm1 new file mode 100644 index 0000000000..83a2a75b40 --- /dev/null +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/MSFT_EXOPlace.psm1 @@ -0,0 +1,622 @@ +function Get-TargetResource +{ + [CmdletBinding()] + [OutputType([System.Collections.Hashtable])] + param + ( + [Parameter(Mandatory = $true)] + [System.String] + $Identity, + + [Parameter()] + [System.String] + $AudioDeviceName, + + [Parameter()] + [System.String] + $Building, + + [Parameter()] + [System.UInt32] + $Capacity, + + [Parameter()] + [System.String] + $City, + + [Parameter()] + [System.String] + $CountryOrRegion, + + [Parameter()] + [System.String[]] + $Desks = @(), + + [Parameter()] + [System.String] + $DisplayDeviceName, + + [Parameter()] + [System.UInt32] + $Floor, + + [Parameter()] + [System.String] + $FloorLabel, + + [Parameter()] + [System.String] + $GeoCoordinates, + + [Parameter()] + [System.Boolean] + $IsWheelChairAccessible, + + [Parameter()] + [System.String] + $Label, + + [Parameter()] + [System.Boolean] + $MTREnabled, + + [Parameter()] + [System.String] + $ParentId, + + [Parameter()] + [ValidateSet("Floor", "Section")] + [System.String] + $ParentType, + + [Parameter()] + [System.String] + $Phone, + + [Parameter()] + [System.String] + $PostalCode, + + [Parameter()] + [System.String] + $State, + + [Parameter()] + [System.String] + $Street, + + [Parameter()] + [System.String[]] + $Tags, + + [Parameter()] + [System.String] + $VideoDeviceName, + + [Parameter()] + [ValidateSet('Present', 'Absent')] + [System.String] + $Ensure = 'Present', + + [Parameter()] + [System.Management.Automation.PSCredential] + $Credential, + + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint, + + [Parameter()] + [System.String] + $CertificatePath, + + [Parameter()] + [System.Management.Automation.PSCredential] + $CertificatePassword, + + [Parameter()] + [Switch] + $ManagedIdentity + ) + Write-Verbose -Message "Getting configuration for Place for $($Identity)" + + if ($Global:CurrentModeIsExport) + { + $ConnectionMode = New-M365DSCConnection -Workload 'ExchangeOnline' ` + -InboundParameters $PSBoundParameters ` + -SkipModuleReload $true + } + else + { + $ConnectionMode = New-M365DSCConnection -Workload 'ExchangeOnline' ` + -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 + + $nullReturn = $PSBoundParameters + $nullReturn.Ensure = 'Absent' + + try + { + $place = Get-Place -Identity $Identity -ErrorAction Stop + + if ($null -eq $place) + { + Write-Verbose -Message "Place $($Identity) does not exist." + return $nullReturn + } + else + { + $result = @{ + Identity = $place.Identity + AudioDeviceName = $place.AudioDeviceName + Building = $place.Building + Capacity = $place.Capacity + City = $place.City + CountryOrRegion = $place.CountryOrRegion + Desks = [Array] $place.Desks + DisplayDeviceName = $place.DisplayDeviceName + Floor = $place.Floor + FloorLabel = $place.FloorLabel + GeoCoordinates = $place.GeoCoordinates + IsWheelChairAccessible = [Boolean] $place.IsWheelChairAccessible + Label = $place.Label + MTREnabled = [Boolean] $place.MTREnabled + ParentId = $place.ParentId + ParentType = $place.ParentType + Phone = $place.Phone + PostalCode = $place.PostalCode + State = $place.State + Street = $place.Street + Tags = [Array] $place.Tags + VideoDeviceName = $place.VideoDeviceName + Credential = $Credential + Ensure = 'Present' + ApplicationId = $ApplicationId + CertificateThumbprint = $CertificateThumbprint + CertificatePath = $CertificatePath + CertificatePassword = $CertificatePassword + Managedidentity = $ManagedIdentity.IsPresent + TenantId = $TenantId + } + + Write-Verbose -Message "Found Place $($Identity)" + Write-Verbose -Message "Get-TargetResource Result: `n $(Convert-M365DscHashtableToString -Hashtable $result)" + return $result + } + } + catch + { + New-M365DSCLogEntry -Message 'Error retrieving data:' ` + -Exception $_ ` + -Source $($MyInvocation.MyCommand.Source) ` + -TenantId $TenantId ` + -Credential $Credential + + return $nullReturn + } +} + +function Set-TargetResource +{ + [CmdletBinding()] + param + ( + [Parameter(Mandatory = $true)] + [System.String] + $Identity, + + [Parameter()] + [System.String[]] + $AssociatedAcceptedDomains = @(), + + [Parameter()] + [System.Boolean] + $CloudServicesMailEnabled, + + [Parameter()] + [System.String] + $Comment, + + [Parameter()] + [ValidateSet('Default', 'Migrated', 'HybridWizard')] + [System.String] + $ConnectorSource, + + [Parameter()] + [ValidateSet('OnPremises', 'Partner')] + [System.String] + $ConnectorType, + + [Parameter()] + [System.String[]] + $EFSkipIPs = @(), + + [Parameter()] + [System.Boolean] + $EFSkipLastIP, + + [Parameter()] + [System.String[]] + $EFUsers = @(), + + [Parameter()] + [System.Boolean] + $Enabled, + + [Parameter()] + [System.Boolean] + $RequireTls, + + [Parameter()] + [System.Boolean] + $RestrictDomainsToCertificate, + + [Parameter()] + [System.Boolean] + $RestrictDomainsToIPAddresses, + + [Parameter()] + [System.String[]] + $SenderDomains = @(), + + [Parameter()] + [System.String[]] + $SenderIPAddresses = @(), + + [Parameter()] + [System.String] + $TlsSenderCertificateName, + + [Parameter()] + [System.Boolean] + $TreatMessagesAsInternal, + + [Parameter()] + [ValidateSet('Present', 'Absent')] + [System.String] + $Ensure = 'Present', + + [Parameter()] + [System.Management.Automation.PSCredential] + $Credential, + + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint, + + [Parameter()] + [System.String] + $CertificatePath, + + [Parameter()] + [System.Management.Automation.PSCredential] + $CertificatePassword, + + [Parameter()] + [Switch] + $ManagedIdentity + ) + #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 "Setting configuration of InboundConnector for $($Identity)" + + $ConnectionMode = New-M365DSCConnection -Workload 'ExchangeOnline' ` + -InboundParameters $PSBoundParameters + + $InboundConnectors = Get-InboundConnector + $InboundConnector = $InboundConnectors | Where-Object -FilterScript { $_.Identity -eq $Identity } + $InboundConnectorParams = [System.Collections.Hashtable]($PSBoundParameters) + $InboundConnectorParams.Remove('Ensure') | Out-Null + $InboundConnectorParams.Remove('Credential') | Out-Null + $InboundConnectorParams.Remove('ApplicationId') | Out-Null + $InboundConnectorParams.Remove('TenantId') | Out-Null + $InboundConnectorParams.Remove('CertificateThumbprint') | Out-Null + $InboundConnectorParams.Remove('CertificatePath') | Out-Null + $InboundConnectorParams.Remove('CertificatePassword') | Out-Null + $InboundConnectorParams.Remove('ManagedIdentity') | Out-Null + + if (('Present' -eq $Ensure ) -and ($null -eq $InboundConnector)) + { + Write-Verbose -Message "Creating InboundConnector $($Identity)." + $InboundConnectorParams.Add('Name', $Identity) + $InboundConnectorParams.Remove('Identity') | Out-Null + New-InboundConnector @InboundConnectorParams + } + elseif (('Present' -eq $Ensure ) -and ($Null -ne $InboundConnector)) + { + Write-Verbose -Message "Setting InboundConnector $($Identity) with values: $(Convert-M365DscHashtableToString -Hashtable $InboundConnectorParams)" + Set-InboundConnector @InboundConnectorParams -Confirm:$false + } + elseif (('Absent' -eq $Ensure ) -and ($null -ne $InboundConnector)) + { + Write-Verbose -Message "Removing InboundConnector $($Identity)" + Remove-InboundConnector -Identity $Identity -Confirm:$false + } +} + +function Test-TargetResource +{ + [CmdletBinding()] + [OutputType([System.Boolean])] + param + ( + [Parameter(Mandatory = $true)] + [System.String] + $Identity, + + [Parameter()] + [System.String[]] + $AssociatedAcceptedDomains = @(), + + [Parameter()] + [System.Boolean] + $CloudServicesMailEnabled, + + [Parameter()] + [System.String] + $Comment, + + [Parameter()] + [ValidateSet('Default', 'Migrated', 'HybridWizard')] + [System.String] + $ConnectorSource, + + [Parameter()] + [ValidateSet('OnPremises', 'Partner')] + [System.String] + $ConnectorType, + + [Parameter()] + [System.String[]] + $EFSkipIPs = @(), + + [Parameter()] + [System.Boolean] + $EFSkipLastIP, + + [Parameter()] + [System.String[]] + $EFUsers = @(), + + [Parameter()] + [System.Boolean] + $Enabled, + + [Parameter()] + [System.Boolean] + $RequireTls, + + [Parameter()] + [System.Boolean] + $RestrictDomainsToCertificate, + + [Parameter()] + [System.Boolean] + $RestrictDomainsToIPAddresses, + + [Parameter()] + [System.String[]] + $SenderDomains = @(), + + [Parameter()] + [System.String[]] + $SenderIPAddresses = @(), + + [Parameter()] + [System.String] + $TlsSenderCertificateName, + + [Parameter()] + [System.Boolean] + $TreatMessagesAsInternal, + + [Parameter()] + [ValidateSet('Present', 'Absent')] + [System.String] + $Ensure = 'Present', + + [Parameter()] + [System.Management.Automation.PSCredential] + $Credential, + + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint, + + [Parameter()] + [System.String] + $CertificatePath, + + [Parameter()] + [System.Management.Automation.PSCredential] + $CertificatePassword, + + [Parameter()] + [Switch] + $ManagedIdentity + ) + #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 Place for $($Identity)" + + $CurrentValues = Get-TargetResource @PSBoundParameters + + Write-Verbose -Message "Current Values: $(Convert-M365DscHashtableToString -Hashtable $CurrentValues)" + Write-Verbose -Message "Target Values: $(Convert-M365DscHashtableToString -Hashtable $PSBoundParameters)" + + $ValuesToCheck = $PSBoundParameters + + $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.Management.Automation.PSCredential] + $Credential, + + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint, + + [Parameter()] + [System.String] + $CertificatePath, + + [Parameter()] + [System.Management.Automation.PSCredential] + $CertificatePassword, + + [Parameter()] + [Switch] + $ManagedIdentity + ) + $ConnectionMode = New-M365DSCConnection -Workload 'ExchangeOnline' ` + -InboundParameters $PSBoundParameters ` + -SkipModuleReload $true + + #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 + { + [array]$places = Get-Place -ErrorAction Stop + $dscContent = '' + + if ($places.Length -eq 0) + { + Write-Host $Global:M365DSCEmojiGreenCheckMark + } + else + { + Write-Host "`r`n" -NoNewline + } + $i = 1 + foreach ($place in $places) + { + Write-Host " |---[$i/$($places.Length)] $($place.Identity)" -NoNewline + + $Params = @{ + Identity = $place.Identity + Credential = $Credential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + CertificatePassword = $CertificatePassword + Managedidentity = $ManagedIdentity.IsPresent + CertificatePath = $CertificatePath + } + + $Results = Get-TargetResource @Params + $Results = Update-M365DSCExportAuthenticationResults -ConnectionMode $ConnectionMode ` + -Results $Results + $currentDSCBlock = Get-M365DSCExportContentForResource -ResourceName $ResourceName ` + -ConnectionMode $ConnectionMode ` + -ModulePath $PSScriptRoot ` + -Results $Results ` + -Credential $Credential + $dscContent += $currentDSCBlock + Save-M365DSCPartialExport -Content $currentDSCBlock ` + -FileName $Global:PartialExportFileName + Write-Host $Global:M365DSCEmojiGreenCheckMark + $i++ + } + 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_EXOPlace/MSFT_EXOPlace.schema.mof b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/MSFT_EXOPlace.schema.mof new file mode 100644 index 0000000000..c22d85f141 --- /dev/null +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/MSFT_EXOPlace.schema.mof @@ -0,0 +1,35 @@ + +[ClassVersion("1.0.0.0"), FriendlyName("EXOPlace")] +class MSFT_EXOPlace : OMI_BaseResource +{ + [Key, Description("The Identity parameter specifies the room mailbox that you want to modify. You can use any value that uniquely identifies the room.")] String Identity; + [Write, Description("The AudioDeviceName parameter specifies the name of the audio device in the room. If the value contains spaces, enclose the value in quotation marks.")] String AudioDeviceName; + [Write, Description("The Building parameter specifies the building name or building number that the room is in. If the value contains spaces, enclose the value in quotation marks.")] String Building; + [Write, Description("The Capacity parameter specifies the capacity of the room. A valid value is an integer.")] UInt32 Capacity; + [Write, Description("The City parameter specifies the room's city. If the value contains spaces, enclose the value in quotation marks.")] String City; + [Write, Description("The CountryOrRegion parameter specifies the room's country or region. A valid value is a valid ISO 3166-1 two-letter country code (for example, AU for Australia) or the corresponding friendly name for the country (which might be different from the official ISO 3166 Maintenance Agency short name).")] String CountryOrRegion; + [Write, Description("N/A")] String Desks[]; + [Write, Description("The DisplayDeviceName parameter specifies the name of the display device in the room. If the value contains spaces, enclose the value in quotation marks.")] String DisplayDeviceName; + [Write, Description("The Floor parameter specifies the floor number that the room is on.")] String Floor; + [Write, Description("The FloorLabel parameter specifies a descriptive label for the floor that the room is on. If the value contains spaces, enclose the value in quotation marks.")] String FloorLabel; + [Write, Description("The GeoCoordinates parameter specifies the room's location in latitude, longitude and (optionally) altitude coordinates.")] String GeoCoordinates; + [Write, Description("The IsWheelChairAccessible parameter specifies whether the room is wheelchair accessible.")] Boolean IsWheelChairAccessible; + [Write, Description("The Label parameter specifies a descriptive label for the room (for example, a number or name). If the value contains spaces, enclose the value in quotation marks.")] String Label; + [Write, Description("The MTREnabled parameter identifies the room as configured with a Microsoft Teams room system. You can add Teams room systems as audio sources in Teams meetings that involve the room.")] Boolean MTREnabled; + [Write, Description("The ParentId parameter specifies the ID of a Place in the parent location hierarchy in Microsoft Places.")] String ParentId; + [Write, Description("The ParentType parameter specifies the parent type of the ParentId in Microsoft Places. Valid values are: Floor, Section"), ValueMap{"Floor","Section"}, Values{"Floor","Section"}] String ParentType; + [Write, Description("The Phone parameter specifies the room's telephone number.")] String Phone; + [Write, Description("The PostalCode parameter specifies the room's postal code.")] String PostalCode; + [Write, Description("The State parameter specifies the room's state or province.")] String State; + [Write, Description("The Street parameter specifies the room's physical address.")] String Street; + [Write, Description("The Tags parameter specifies additional features of the room (for example, details like the type of view or furniture type).")] String Tags[]; + [Write, Description("The VideoDeviceName parameter specifies the name of the video device in the room. If the value contains spaces, enclose the value in quotation marks.")] String VideoDeviceName; + [Write, Description("Specifies if this Outbound connector should exist."), ValueMap{"Present","Absent"}, Values{"Present","Absent"}] String Ensure; + [Write, Description("Credentials of the Exchange Global 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("Thumbprint of the Azure Active Directory application's authentication certificate to use for authentication.")] String CertificateThumbprint; + [Write, Description("Username can be made up to anything but password will be used for CertificatePassword"), EmbeddedInstance("MSFT_Credential")] String CertificatePassword; + [Write, Description("Path to certificate used in service principal usually a PFX file.")] String CertificatePath; + [Write, Description("Managed ID being used for authentication.")] Boolean ManagedIdentity; +}; diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/readme.md b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/readme.md new file mode 100644 index 0000000000..f4b35eb960 --- /dev/null +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/readme.md @@ -0,0 +1,5 @@ +# EXOInboundConnector + +## Description + +This resource configures an Inbound connector in your cloud-based organization. diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/settings.json b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/settings.json new file mode 100644 index 0000000000..5b2c1575a1 --- /dev/null +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/settings.json @@ -0,0 +1,31 @@ +{ + "resourceName": "EXOInboundConnector", + "description": "", + "roles": { + "read": [ + "Global Reader" + ], + "update": [ + "Exchange Administrator" + ] + }, + "permissions": { + "graph": { + "delegated": { + "read": [], + "update": [] + }, + "application": { + "read": [], + "update": [] + } + }, + "exchange": { + "requiredroles": [ + "Remote and Accepted Domains", + "View-Only Configuration" + ], + "requiredrolegroups": "Organization Management" + } + } +} diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOPlace/1-ConfigurePlace.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOPlace/1-ConfigurePlace.ps1 new file mode 100644 index 0000000000..a9c7d17766 --- /dev/null +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOPlace/1-ConfigurePlace.ps1 @@ -0,0 +1,42 @@ +<# +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] + $credential + ) + + Import-DscResource -ModuleName Microsoft365DSC + + node localhost + { + EXOGroupSettings 'TestGroup' + { + DisplayName = "Test Group"; + AccessType = "Public"; + AlwaysSubscribeMembersToCalendarEvents = $False; + AuditLogAgeLimit = "90.00:00:00"; + AutoSubscribeNewMembers = $False; + CalendarMemberReadOnly = $False; + ConnectorsEnabled = $True; + Credential = $credential; + HiddenFromAddressListsEnabled = $True; + HiddenFromExchangeClientsEnabled = $True; + InformationBarrierMode = "Open"; + Language = "en-US"; + MaxReceiveSize = "36 MB (37,748,736 bytes)"; + MaxSendSize = "35 MB (36,700,160 bytes)"; + ModerationEnabled = $False; + Notes = "My Notes"; + PrimarySmtpAddress = "TestGroup@contoso.com"; + RequireSenderAuthenticationEnabled = $True; + SubscriptionEnabled = $False; + } + } +} diff --git a/Tests/Unit/Microsoft365DSC/Microsoft365DSC.EXOPlace.Tests.ps1 b/Tests/Unit/Microsoft365DSC/Microsoft365DSC.EXOPlace.Tests.ps1 new file mode 100644 index 0000000000..56cad62098 --- /dev/null +++ b/Tests/Unit/Microsoft365DSC/Microsoft365DSC.EXOPlace.Tests.ps1 @@ -0,0 +1,135 @@ +[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 'EXOCASMailboxPlan' -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 'test@password1' -AsPlainText -Force + $Credential = New-Object System.Management.Automation.PSCredential ('tenantadmin@mydomain.com', $secpasswd) + + Mock -CommandName Confirm-M365DSCDependencies -MockWith { + } + + Mock -CommandName New-M365DSCConnection -MockWith { + return 'Credentials' + } + + Mock -CommandName Set-CASMailboxPlan -MockWith { + } + + # Mock Write-Host to hide output during the tests + Mock -CommandName Write-Host -MockWith { + } + } + + # Test contexts + Context -Name 'CASMailboxPlan update not required.' -Fixture { + BeforeAll { + $testParams = @{ + Ensure = 'Present' + Identity = 'ExchangeOnlineEnterprise-6f6c267b-f8db-4020-b441-f7bd966a0ca0' + Credential = $Credential + ActiveSyncEnabled = $true + ImapEnabled = $true + OwaMailboxPolicy = 'OwaMailboxPolicy-Default' + PopEnabled = $true + } + + Mock -CommandName Get-CASMailboxPlan -MockWith { + return @{ + Ensure = 'Present' + Identity = 'ExchangeOnlineEnterprise-6f6c267b-f8db-4020-b441-f7bd966a0ca0' + Credential = $Credential + ActiveSyncEnabled = $true + ImapEnabled = $true + OwaMailboxPolicy = 'OwaMailboxPolicy-Default' + PopEnabled = $true + } + } + } + + It 'Should return true from the Test method' { + Test-TargetResource @testParams | Should -Be $true + } + + It 'Should not update anything in the Set Method' { + Set-TargetResource @testParams + } + } + + Context -Name 'CASMailboxPlan update needed.' -Fixture { + BeforeAll { + $testParams = @{ + Ensure = 'Present' + Identity = 'ExchangeOnlineEnterprise-6f6c267b-f8db-4020-b441-f7bd966a0ca0' + Credential = $Credential + ActiveSyncEnabled = $true + ImapEnabled = $true + OwaMailboxPolicy = 'OwaMailboxPolicy-Default' + PopEnabled = $true + } + Mock -CommandName Get-CASMailboxPlan -MockWith { + return @{ + Ensure = 'Present' + Identity = 'ExchangeOnlineEnterprise-6f6c267b-f8db-4020-b441-f7bd966a0ca0' + Credential = $Credential + ActiveSyncEnabled = $false + ImapEnabled = $false + OwaMailboxPolicy = 'OwaMailboxPolicy-Default' + PopEnabled = $false + } + } + } + + It 'Should return false from the Test method' { + Test-TargetResource @testParams | Should -Be $false + } + + It 'Should call the Set method' { + Set-TargetResource @testParams + } + } + + Context -Name 'ReverseDSC Tests' -Fixture { + BeforeAll { + $testParams = @{ + Credential = $Credential + } + + Mock -CommandName Get-CASMailboxPlan -MockWith { + return @{ + Identity = 'ExchangeOnlineEnterprise-6f6c267b-f8db-4020-b441-f7bd966a0ca0' + ActiveSyncEnabled = $true + ImapEnabled = $true + OwaMailboxPolicy = 'OwaMailboxPolicy-Default' + PopEnabled = $true + } + } + } + + 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 c09ceca4c8f68e2cbcd71740e02f64e8259e0c4f Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Mon, 2 Oct 2023 13:47:17 -0400 Subject: [PATCH 18/32] Unit Tests and Examples --- .../Resources/EXOPlace/1-ConfigurePlace.ps1 | 34 ++--- .../Microsoft365DSC.EXOPlace.Tests.ps1 | 136 +++++++++++------- 2 files changed, 101 insertions(+), 69 deletions(-) diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOPlace/1-ConfigurePlace.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOPlace/1-ConfigurePlace.ps1 index a9c7d17766..6a0952ab08 100644 --- a/Modules/Microsoft365DSC/Examples/Resources/EXOPlace/1-ConfigurePlace.ps1 +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOPlace/1-ConfigurePlace.ps1 @@ -16,27 +16,21 @@ Configuration Example node localhost { - EXOGroupSettings 'TestGroup' + EXOPlace 'TestPlace' { - DisplayName = "Test Group"; - AccessType = "Public"; - AlwaysSubscribeMembersToCalendarEvents = $False; - AuditLogAgeLimit = "90.00:00:00"; - AutoSubscribeNewMembers = $False; - CalendarMemberReadOnly = $False; - ConnectorsEnabled = $True; - Credential = $credential; - HiddenFromAddressListsEnabled = $True; - HiddenFromExchangeClientsEnabled = $True; - InformationBarrierMode = "Open"; - Language = "en-US"; - MaxReceiveSize = "36 MB (37,748,736 bytes)"; - MaxSendSize = "35 MB (36,700,160 bytes)"; - ModerationEnabled = $False; - Notes = "My Notes"; - PrimarySmtpAddress = "TestGroup@contoso.com"; - RequireSenderAuthenticationEnabled = $True; - SubscriptionEnabled = $False; + AudioDeviceName = "MyAudioDevice"; + Capacity = 15; #Drift + City = ""; + Credential = $credential + DisplayDeviceName = "DisplayDeviceName"; + Ensure = 'Present' + Identity = "MyRoom@$contoso.com"; + IsWheelChairAccessible = $True; + MTREnabled = $False; + ParentType = "None"; + Phone = "555-555-5555"; + Tags = @("Tag1", "Tag2"); + VideoDeviceName = "VideoDevice"; } } } diff --git a/Tests/Unit/Microsoft365DSC/Microsoft365DSC.EXOPlace.Tests.ps1 b/Tests/Unit/Microsoft365DSC/Microsoft365DSC.EXOPlace.Tests.ps1 index 56cad62098..f8ee095c9c 100644 --- a/Tests/Unit/Microsoft365DSC/Microsoft365DSC.EXOPlace.Tests.ps1 +++ b/Tests/Unit/Microsoft365DSC/Microsoft365DSC.EXOPlace.Tests.ps1 @@ -15,7 +15,7 @@ Import-Module -Name (Join-Path -Path $M365DSCTestFolder ` -Resolve) $Global:DscHelper = New-M365DscUnitTestHelper -StubModule $CmdletModule ` - -DscResource 'EXOCASMailboxPlan' -GenericStubModule $GenericStubPath + -DscResource 'EXOPlace' -GenericStubModule $GenericStubPath Describe -Name $Global:DscHelper.DescribeHeader -Fixture { InModuleScope -ModuleName $Global:DscHelper.ModuleName -ScriptBlock { Invoke-Command -ScriptBlock $Global:DscHelper.InitializeScript -NoNewScope @@ -31,7 +31,7 @@ Describe -Name $Global:DscHelper.DescribeHeader -Fixture { return 'Credentials' } - Mock -CommandName Set-CASMailboxPlan -MockWith { + Mock -CommandName Set-Place -MockWith { } # Mock Write-Host to hide output during the tests @@ -40,28 +40,40 @@ Describe -Name $Global:DscHelper.DescribeHeader -Fixture { } # Test contexts - Context -Name 'CASMailboxPlan update not required.' -Fixture { + Context -Name 'Instance is already in the desired state' -Fixture { BeforeAll { $testParams = @{ - Ensure = 'Present' - Identity = 'ExchangeOnlineEnterprise-6f6c267b-f8db-4020-b441-f7bd966a0ca0' - Credential = $Credential - ActiveSyncEnabled = $true - ImapEnabled = $true - OwaMailboxPolicy = 'OwaMailboxPolicy-Default' - PopEnabled = $true + AudioDeviceName = "MyAudioDevice"; + Capacity = 10; + City = ""; + Credential = $Credential; + DisplayDeviceName = "DisplayDeviceName"; + Ensure = "Present"; + Identity = "MyRoom@$contoso.com"; + IsWheelChairAccessible = $True; + MTREnabled = $False; + ParentType = "None"; + Phone = "555-555-5555"; + Tags = @("Tag1", "Tag2"); + VideoDeviceName = "VideoDevice"; } - Mock -CommandName Get-CASMailboxPlan -MockWith { - return @{ - Ensure = 'Present' - Identity = 'ExchangeOnlineEnterprise-6f6c267b-f8db-4020-b441-f7bd966a0ca0' - Credential = $Credential - ActiveSyncEnabled = $true - ImapEnabled = $true - OwaMailboxPolicy = 'OwaMailboxPolicy-Default' - PopEnabled = $true - } + Mock -CommandName Get-Place -MockWith { + return @( + @{ + AudioDeviceName = "MyAudioDevice"; + Capacity = 10; + City = ""; + DisplayDeviceName = "DisplayDeviceName"; + Identity = "MyRoom@$contoso.com"; + IsWheelChairAccessible = $True; + MTREnabled = $False; + ParentType = "None"; + Phone = "555-555-5555"; + Tags = @("Tag1", "Tag2"); + VideoDeviceName = "VideoDevice"; + } + ) } } @@ -70,40 +82,58 @@ Describe -Name $Global:DscHelper.DescribeHeader -Fixture { } It 'Should not update anything in the Set Method' { - Set-TargetResource @testParams + (Get-TargetResource @testParams).Presence | Should -Be 'Present' } } - Context -Name 'CASMailboxPlan update needed.' -Fixture { + Context -Name 'Instance is NOT already in the desired state' -Fixture { BeforeAll { $testParams = @{ - Ensure = 'Present' - Identity = 'ExchangeOnlineEnterprise-6f6c267b-f8db-4020-b441-f7bd966a0ca0' - Credential = $Credential - ActiveSyncEnabled = $true - ImapEnabled = $true - OwaMailboxPolicy = 'OwaMailboxPolicy-Default' - PopEnabled = $true + AudioDeviceName = "MyAudioDevice"; + Capacity = 10; + City = ""; + Credential = $Credential; + DisplayDeviceName = "DisplayDeviceName"; + Ensure = "Present"; + Identity = "MyRoom@$contoso.com"; + IsWheelChairAccessible = $True; + MTREnabled = $False; + ParentType = "None"; + Phone = "555-555-5555"; + Tags = @("Tag1", "Tag2"); + VideoDeviceName = "VideoDevice"; } - Mock -CommandName Get-CASMailboxPlan -MockWith { - return @{ - Ensure = 'Present' - Identity = 'ExchangeOnlineEnterprise-6f6c267b-f8db-4020-b441-f7bd966a0ca0' - Credential = $Credential - ActiveSyncEnabled = $false - ImapEnabled = $false - OwaMailboxPolicy = 'OwaMailboxPolicy-Default' - PopEnabled = $false - } + + Mock -CommandName Get-Place -MockWith { + return @( + @{ + AudioDeviceName = "MyAudioDevice"; + Capacity = 15; #Drift + City = ""; + DisplayDeviceName = "DisplayDeviceName"; + Identity = "MyRoom@$contoso.com"; + IsWheelChairAccessible = $True; + MTREnabled = $False; + ParentType = "None"; + Phone = "555-555-5555"; + Tags = @("Tag1", "Tag2"); + VideoDeviceName = "VideoDevice"; + } + ) } } - It 'Should return false from the Test method' { + It 'Should return true from the Test method' { Test-TargetResource @testParams | Should -Be $false } - It 'Should call the Set method' { + It 'Should not update anything in the Set Method' { + (Get-TargetResource @testParams).Presence | Should -Be 'Present' + } + + It 'Should update the instance from the Set method' { Set-TargetResource @testParams + Should -Invoke -CommandName Set-Place -Exactly 1 } } @@ -113,14 +143,22 @@ Describe -Name $Global:DscHelper.DescribeHeader -Fixture { Credential = $Credential } - Mock -CommandName Get-CASMailboxPlan -MockWith { - return @{ - Identity = 'ExchangeOnlineEnterprise-6f6c267b-f8db-4020-b441-f7bd966a0ca0' - ActiveSyncEnabled = $true - ImapEnabled = $true - OwaMailboxPolicy = 'OwaMailboxPolicy-Default' - PopEnabled = $true - } + Mock -CommandName Get-Place -MockWith { + return @( + @{ + AudioDeviceName = "MyAudioDevice"; + Capacity = 15; #Drift + City = ""; + DisplayDeviceName = "DisplayDeviceName"; + Identity = "MyRoom@$contoso.com"; + IsWheelChairAccessible = $True; + MTREnabled = $False; + ParentType = "None"; + Phone = "555-555-5555"; + Tags = @("Tag1", "Tag2"); + VideoDeviceName = "VideoDevice"; + } + ) } } From 7e6bf79e3485e1922a352c8960ee4df2973fac9c Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Mon, 2 Oct 2023 18:52:49 -0400 Subject: [PATCH 19/32] Commit new changes --- ...MSFT_EXOMailboxAutoReplyConfiguration.psm1 | 543 ++++++++++++++++++ ...XOMailboxAutoReplyConfiguration.schema.mof | 26 + .../readme.md | 6 + .../settings.json | 33 ++ ...ConfigureMailboxAutoReplyConfiguration.ps1 | 28 + ...EXOMailboxAutoReplyConfiguration.Tests.ps1 | 291 ++++++++++ 6 files changed, 927 insertions(+) create mode 100644 Modules/Microsoft365DSC/DSCResources/MSFT_EXOMailboxAutoReplyConfiguration/MSFT_EXOMailboxAutoReplyConfiguration.psm1 create mode 100644 Modules/Microsoft365DSC/DSCResources/MSFT_EXOMailboxAutoReplyConfiguration/MSFT_EXOMailboxAutoReplyConfiguration.schema.mof create mode 100644 Modules/Microsoft365DSC/DSCResources/MSFT_EXOMailboxAutoReplyConfiguration/readme.md create mode 100644 Modules/Microsoft365DSC/DSCResources/MSFT_EXOMailboxAutoReplyConfiguration/settings.json create mode 100644 Modules/Microsoft365DSC/Examples/Resources/EXOMailboxAutoReplyConfiguration/1-ConfigureMailboxAutoReplyConfiguration.ps1 create mode 100644 Tests/Unit/Microsoft365DSC/Microsoft365DSC.EXOMailboxAutoReplyConfiguration.Tests.ps1 diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOMailboxAutoReplyConfiguration/MSFT_EXOMailboxAutoReplyConfiguration.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOMailboxAutoReplyConfiguration/MSFT_EXOMailboxAutoReplyConfiguration.psm1 new file mode 100644 index 0000000000..8ae5646dad --- /dev/null +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOMailboxAutoReplyConfiguration/MSFT_EXOMailboxAutoReplyConfiguration.psm1 @@ -0,0 +1,543 @@ +function Get-TargetResource +{ + [CmdletBinding()] + [OutputType([System.Collections.Hashtable])] + param + ( + [Parameter(Mandatory = $true)] + [System.String] + $Identity, + + [Parameter()] + [System.Boolean] + $AutoDeclineFutureRequestsWhenOOF, + + [Parameter()] + [ValidateSet('Enabled', 'Disabled', 'Scheduled')] + [System.String] + $AutoReplyState, + + [Parameter()] + [System.Boolean] + $CreateOOFEvent, + + [Parameter()] + [System.Boolean] + $DeclineAllEventsForScheduledOOF, + + [Parameter()] + [System.Boolean] + $DeclineEventsForScheduledOOF, + + [Parameter()] + [System.String] + $DeclineMeetingMessage, + + [Parameter()] + [System.String] + $EndTime, + + [Parameter()] + [System.String[]] + $EventsToDeleteIDs, + + [Parameter()] + [ValidateSet('None', 'Known','All')] + [System.String] + $ExternalAudience, + + [Parameter()] + [System.String] + $ExternalMessage, + + [Parameter()] + [System.String] + $InternalMessage, + + [Parameter()] + [System.String] + $OOFEventSubject, + + [Parameter()] + [System.String] + $StartTime, + + [Parameter()] + [ValidateSet('Present', 'Absent')] + [System.String] + $Ensure = 'Present', + + [Parameter()] + [System.Management.Automation.PSCredential] + $Credential, + + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint, + + [Parameter()] + [System.String] + $CertificatePath, + + [Parameter()] + [System.Management.Automation.PSCredential] + $CertificatePassword, + + [Parameter()] + [Switch] + $ManagedIdentity + ) + + Write-Verbose -Message "Getting configuration of Mailbox AutoReply Configuration for $Identity" + + if ($Global:CurrentModeIsExport) + { + $ConnectionMode = New-M365DSCConnection -Workload 'ExchangeOnline' ` + -InboundParameters $PSBoundParameters ` + -SkipModuleReload $true + } + else + { + $ConnectionMode = New-M365DSCConnection -Workload 'ExchangeOnline' ` + -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 + + $nullReturn = $PSBoundParameters + $nullReturn.Ensure = 'Absent' + try + { + $config = Get-MailboxAutoReplyConfiguration -Identity $Identity -ErrorAction Stop + + if ($null -eq $config) + { + Write-Verbose -Message "Mailbox for $($Identity) does not exist." + return $nullReturn + } + else + { + $result = @{ + Identity = $config.Identity + AutoDeclineFutureRequestsWhenOOF = [Boolean]$config.AutoDeclineFutureRequestsWhenOOF + AutoReplyState = $config.AutoReplyState + CreateOOFEvent = [Boolean]$config.CreateOOFEvent + DeclineAllEventsForScheduledOOF = [Boolean]$config.DeclineAllEventsForScheduledOOF + DeclineEventsForScheduledOOF = [Boolean]$config.DeclineEventsForScheduledOOF + DeclineMeetingMessage = $config.DeclineMeetingMessage + EndTime = $config.EndTime + EventsToDeleteIDs = [Array]$config.EventsToDeleteIDs + ExternalAudience = $config.ExternalAudience + ExternalMessage = $config.ExternalMessage + InternalMessage = $config.InternalMessage + OOFEventSubject = $config.OOFEventSubject + StartTime = $config.StartTime + Credential = $Credential + Ensure = 'Present' + ApplicationId = $ApplicationId + CertificateThumbprint = $CertificateThumbprint + CertificatePath = $CertificatePath + CertificatePassword = $CertificatePassword + Managedidentity = $ManagedIdentity.IsPresent + TenantId = $TenantId + } + + Write-Verbose -Message "Found Mailbox $($Identity)" + Write-Verbose -Message "Get-TargetResource Result: `n $(Convert-M365DscHashtableToString -Hashtable $result)" + return $result + } + } + catch + { + New-M365DSCLogEntry -Message 'Error retrieving data:' ` + -Exception $_ ` + -Source $($MyInvocation.MyCommand.Source) ` + -TenantId $TenantId ` + -Credential $Credential + + return $nullReturn + } +} + +function Set-TargetResource +{ + [CmdletBinding()] + param + ( + [Parameter(Mandatory = $true)] + [System.String] + $Identity, + + [Parameter()] + [System.Boolean] + $AutoDeclineFutureRequestsWhenOOF, + + [Parameter()] + [ValidateSet('Enabled', 'Disabled', 'Scheduled')] + [System.String] + $AutoReplyState, + + [Parameter()] + [System.Boolean] + $CreateOOFEvent, + + [Parameter()] + [System.Boolean] + $DeclineAllEventsForScheduledOOF, + + [Parameter()] + [System.Boolean] + $DeclineEventsForScheduledOOF, + + [Parameter()] + [System.String] + $DeclineMeetingMessage, + + [Parameter()] + [System.String] + $EndTime, + + [Parameter()] + [System.String[]] + $EventsToDeleteIDs, + + [Parameter()] + [ValidateSet('None', 'Known','All')] + [System.String] + $ExternalAudience, + + [Parameter()] + [System.String] + $ExternalMessage, + + [Parameter()] + [System.String] + $InternalMessage, + + [Parameter()] + [System.String] + $OOFEventSubject, + + [Parameter()] + [System.String] + $StartTime, + + [Parameter()] + [ValidateSet('Present', 'Absent')] + [System.String] + $Ensure = 'Present', + + [Parameter()] + [System.Management.Automation.PSCredential] + $Credential, + + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint, + + [Parameter()] + [System.String] + $CertificatePath, + + [Parameter()] + [System.Management.Automation.PSCredential] + $CertificatePassword, + + [Parameter()] + [Switch] + $ManagedIdentity + ) + + Write-Verbose -Message "Setting configuration of AntiPhishPolicy for $Identity" + + #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 + + $ConnectionMode = New-M365DSCConnection -Workload 'ExchangeOnline' ` + -InboundParameters $PSBoundParameters + + $PSBoundParameters.Remove('Ensure') | Out-Null + $PSBoundParameters.Remove('ApplicationId') | Out-Null + $PSBoundParameters.Remove('TenantId') | Out-Null + $PSBoundParameters.Remove('CertificateThumbprint') | Out-Null + $PSBoundParameters.Remove('CertificatePassword') | Out-Null + $PSBoundParameters.Remove('ManagedIdentity') | Out-Null + $PSBoundParameters.Remove('CertificatePath') | Out-Null + $PSBoundParameters.Remove('Credential') | Out-Null + + Set-MailboxAutoReplyConfiguration @PSBoundParameters +} + +function Test-TargetResource +{ + [CmdletBinding()] + [OutputType([System.Boolean])] + param + ( + [Parameter(Mandatory = $true)] + [System.String] + $Identity, + + [Parameter()] + [System.Boolean] + $AutoDeclineFutureRequestsWhenOOF, + + [Parameter()] + [ValidateSet('Enabled', 'Disabled', 'Scheduled')] + [System.String] + $AutoReplyState, + + [Parameter()] + [System.Boolean] + $CreateOOFEvent, + + [Parameter()] + [System.Boolean] + $DeclineAllEventsForScheduledOOF, + + [Parameter()] + [System.Boolean] + $DeclineEventsForScheduledOOF, + + [Parameter()] + [System.String] + $DeclineMeetingMessage, + + [Parameter()] + [System.String] + $EndTime, + + [Parameter()] + [System.String[]] + $EventsToDeleteIDs, + + [Parameter()] + [ValidateSet('None', 'Known','All')] + [System.String] + $ExternalAudience, + + [Parameter()] + [System.String] + $ExternalMessage, + + [Parameter()] + [System.String] + $InternalMessage, + + [Parameter()] + [System.String] + $OOFEventSubject, + + [Parameter()] + [System.String] + $StartTime, + + [Parameter()] + [ValidateSet('Present', 'Absent')] + [System.String] + $Ensure = 'Present', + + [Parameter()] + [System.Management.Automation.PSCredential] + $Credential, + + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint, + + [Parameter()] + [System.String] + $CertificatePath, + + [Parameter()] + [System.Management.Automation.PSCredential] + $CertificatePassword, + + [Parameter()] + [Switch] + $ManagedIdentity + ) + + #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 Mailbox AutoReply Configuration for $Identity" + + $CurrentValues = Get-TargetResource @PSBoundParameters + + Write-Verbose -Message "Current Values: $(Convert-M365DscHashtableToString -Hashtable $CurrentValues)" + Write-Verbose -Message "Target Values: $(Convert-M365DscHashtableToString -Hashtable $PSBoundParameters)" + + $ValuesToCheck = $PSBoundParameters + + $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.Management.Automation.PSCredential] + $Credential, + + [Parameter()] + [System.String] + $ApplicationId, + + [Parameter()] + [System.String] + $TenantId, + + [Parameter()] + [System.String] + $CertificateThumbprint, + + [Parameter()] + [System.String] + $CertificatePath, + + [Parameter()] + [System.Management.Automation.PSCredential] + $CertificatePassword, + + [Parameter()] + [Switch] + $ManagedIdentity + ) + $ConnectionMode = New-M365DSCConnection -Workload 'ExchangeOnline' ` + -InboundParameters $PSBoundParameters ` + -SkipModuleReload $true + + #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 + { + $mailboxes = Get-Mailbox + $dscContent = '' + $i = 1 + + if ($AntiphishPolicies.Length -eq 0) + { + Write-Host $Global:M365DSCEmojiGreenCheckMark + } + else + { + Write-Host "`r`n" -NoNewline + } + foreach ($mailbox in $mailboxes) + { + Write-Host " |---[$i/$($mailboxes.Length)] $($mailbox.UserPrincipalName)" -NoNewline + + $Params = @{ + Identity = $mailbox.UserPrincipalName + Credential = $Credential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + CertificatePassword = $CertificatePassword + Managedidentity = $ManagedIdentity.IsPresent + CertificatePath = $CertificatePath + } + $Results = Get-TargetResource @Params + $Results = Update-M365DSCExportAuthenticationResults -ConnectionMode $ConnectionMode ` + -Results $Results + $currentDSCBlock = Get-M365DSCExportContentForResource -ResourceName $ResourceName ` + -ConnectionMode $ConnectionMode ` + -ModulePath $PSScriptRoot ` + -Results $Results ` + -Credential $Credential + $dscContent += $currentDSCBlock + + Save-M365DSCPartialExport -Content $currentDSCBlock ` + -FileName $Global:PartialExportFileName + Write-Host $Global:M365DSCEmojiGreenCheckMark + $i++ + } + 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_EXOMailboxAutoReplyConfiguration/MSFT_EXOMailboxAutoReplyConfiguration.schema.mof b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOMailboxAutoReplyConfiguration/MSFT_EXOMailboxAutoReplyConfiguration.schema.mof new file mode 100644 index 0000000000..4c9de449d7 --- /dev/null +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOMailboxAutoReplyConfiguration/MSFT_EXOMailboxAutoReplyConfiguration.schema.mof @@ -0,0 +1,26 @@ +[ClassVersion("1.0.0.0"), FriendlyName("EXOMailboxAutoReplyConfiguration")] +class MSFT_EXOMailboxAutoReplyConfiguration : OMI_BaseResource +{ + [Key, Description("The Identity parameter specifies the mailbox that you want to modify. You can use any value that uniquely identifies the mailbox.")] String Identity; + [Write, Description("The AutoDeclineFutureRequestsWhenOOF parameter specifies whether to automatically decline new meeting requests that are sent to the mailbox during the scheduled time period when Automatic Replies are being sent. ")] Boolean AutoDeclineFutureRequestsWhenOOF; + [Write, Description("The AutoReplyState parameter specifies whether the mailbox is enabled for Automatic Replies. Valid values are: Enabled, Disabled, Scheduled"), ValueMap{"Enabled", "Disabled", "Scheduled"}, Values{"Enabled", "Disabled", "Scheduled"}] String AutoReplyState; + [Write, Description("The CreateOOFEvent parameter specifies whether to create a calendar event that corresponds to the scheduled time period when Automatic Replies are being sent for the mailbox.")] Boolean CreateOOFEvent; + [Write, Description("The DeclineAllEventsForScheduledOOF parameter specifies whether to decline all existing calendar events in the mailbox during the scheduled time period when Automatic Replies are being sent.")] Boolean DeclineAllEventsForScheduledOOF; + [Write, Description("The DeclineEventsForScheduledOOF parameter specifies whether it's possible to decline existing calendar events in the mailbox during the scheduled time period when Automatic Replies are being sent. ")] Boolean DeclineEventsForScheduledOOF; + [Write, Description("The DeclineMeetingMessage parameter specifies the text in the message when meetings requests that are sent to the mailbox are automatically declined.")] String DeclineMeetingMessage; + [Write, Description("The EndTime parameter specifies the end date and time that Automatic Replies are sent for the mailbox. You use this parameter only when the AutoReplyState parameter is set to Scheduled, and the value of this parameter is meaningful only when AutoReplyState is Scheduled.")] String EndTime; + [Write, Description("The EventsToDeleteIDs parameter specifies the calendar events to delete from the mailbox when the DeclineEventsForScheduledOOF parameter is set to $true.")] String EventsToDeleteIDs[]; + [Write, Description("The ExternalAudience parameter specifies whether Automatic Replies are sent to external senders. Valid values are: None, Known, All"), ValueMap{"None", "Known", "All"}, Values{"None", "Known", "All"}] String ExternalAudience; + [Write, Description("The ExternalMessage parameter specifies the Automatic Replies message that's sent to external senders or senders outside the organization. If the value contains spaces, enclose the value in quotation marks.")] String ExternalMessage; + [Write, Description("The InternalMessage parameter specifies the Automatic Replies message that's sent to internal senders or senders within the organization. If the value contains spaces, enclose the value in quotation marks.")] String InternalMessage; + [Write, Description("The OOFEventSubject parameter specifies the subject for the calendar event that's automatically created when the CreateOOFEvent parameter is set to $true.")] String OOFEventSubject; + [Write, Description("The StartTime parameter specifies the start date and time that Automatic Replies are sent for the specified mailbox. You use this parameter only when the AutoReplyState parameter is set to Scheduled, and the value of this parameter is meaningful only when AutoReplyState is Scheduled.")] String StartTime; + [Write, Description("Represents the existance of the instance. This must be set to 'Present'"), ValueMap{"Present"}, Values{"Present"}] String Ensure; + [Write, Description("Credentials of the Exchange Global 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("Thumbprint of the Azure Active Directory application's authentication certificate to use for authentication.")] String CertificateThumbprint; + [Write, Description("Username can be made up to anything but password will be used for CertificatePassword"), EmbeddedInstance("MSFT_Credential")] String CertificatePassword; + [Write, Description("Path to certificate used in service principal usually a PFX file.")] String CertificatePath; + [Write, Description("Managed ID being used for authentication.")] Boolean ManagedIdentity; +}; diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOMailboxAutoReplyConfiguration/readme.md b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOMailboxAutoReplyConfiguration/readme.md new file mode 100644 index 0000000000..c5f200a7ba --- /dev/null +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOMailboxAutoReplyConfiguration/readme.md @@ -0,0 +1,6 @@ +# EXOAntiPhishPolicy + +## Description + +This resource configures an Anti-Phish Policy in Exchange Online. +Reference: https://docs.microsoft.com/en-us/powershell/module/exchange/advanced-threat-protection/new-antiphishpolicy?view=exchange-ps diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOMailboxAutoReplyConfiguration/settings.json b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOMailboxAutoReplyConfiguration/settings.json new file mode 100644 index 0000000000..5db6f57363 --- /dev/null +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOMailboxAutoReplyConfiguration/settings.json @@ -0,0 +1,33 @@ +{ + "resourceName": "EXOAntiPhishPolicy", + "roles": { + "read": [ + "Security Reader" + ], + "update": [ + "Security Administrator" + ] + }, + "description": "", + "permissions": { + "graph": { + "delegated": { + "read": [], + "update": [] + }, + "application": { + "read": [], + "update": [] + } + }, + "exchange": { + "requiredroles": [ + "Transport Hygiene", + "Security Admin", + "View-Only Configuration", + "Security Reader" + ], + "requiredrolegroups": "Organization Management" + } + } +} diff --git a/Modules/Microsoft365DSC/Examples/Resources/EXOMailboxAutoReplyConfiguration/1-ConfigureMailboxAutoReplyConfiguration.ps1 b/Modules/Microsoft365DSC/Examples/Resources/EXOMailboxAutoReplyConfiguration/1-ConfigureMailboxAutoReplyConfiguration.ps1 new file mode 100644 index 0000000000..db26baa837 --- /dev/null +++ b/Modules/Microsoft365DSC/Examples/Resources/EXOMailboxAutoReplyConfiguration/1-ConfigureMailboxAutoReplyConfiguration.ps1 @@ -0,0 +1,28 @@ +<# +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] + $credsGlobalAdmin + ) + Import-DscResource -ModuleName Microsoft365DSC + + node localhost + { + EXOEmailAddressPolicy 'ConfigureEmailAddressPolicy' + { + Name = "Default Policy" + EnabledEmailAddressTemplates = @("SMTP:@contoso.onmicrosoft.com") + EnabledPrimarySMTPAddressTemplate = "@contoso.onmicrosoft.com" + ManagedByFilter = "" + Priority = "Lowest" + Ensure = "Present" + Credential = $credsGlobalAdmin + } + } +} diff --git a/Tests/Unit/Microsoft365DSC/Microsoft365DSC.EXOMailboxAutoReplyConfiguration.Tests.ps1 b/Tests/Unit/Microsoft365DSC/Microsoft365DSC.EXOMailboxAutoReplyConfiguration.Tests.ps1 new file mode 100644 index 0000000000..73abf19d10 --- /dev/null +++ b/Tests/Unit/Microsoft365DSC/Microsoft365DSC.EXOMailboxAutoReplyConfiguration.Tests.ps1 @@ -0,0 +1,291 @@ +[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 'EXOMalwareFilterPolicy' -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 'test@password1' -AsPlainText -Force + $Credential = New-Object System.Management.Automation.PSCredential ('tenantadmin@mydomain.com', $secpasswd) + + Mock -CommandName Confirm-M365DSCDependencies -MockWith { + } + + Mock -CommandName New-M365DSCConnection -MockWith { + return 'Credentials' + } + + Mock -CommandName Get-PSSession -MockWith { + } + + Mock -CommandName Remove-PSSession -MockWith { + } + + Mock -CommandName New-MalwareFilterPolicy -MockWith { + } + + Mock -CommandName Set-MalwareFilterPolicy -MockWith { + } + + Mock -CommandName Remove-MalwareFilterPolicy -MockWith { + } + + # Mock Write-Host to hide output during the tests + Mock -CommandName Write-Host -MockWith { + } + + Mock -CommandName Write-Warning -MockWith { + } + } + + # Test contexts + Context -Name 'MalwareFilterPolicy creation.' -Fixture { + BeforeAll { + $testParams = @{ + Ensure = 'Present' + Credential = $Credential + Identity = 'TestMalwareFilterPolicy' + AdminDisplayName = 'TestPolicy' + CustomExternalBody = 'This is a custom external body' + CustomExternalSubject = 'This is a custom external subject' + CustomFromAddress = 'customnotification@contoso.org' + CustomFromName = 'customnotifications' + CustomInternalBody = 'This is a custom internal body' + CustomInternalSubject = 'This is a custom internal subject' + CustomNotifications = $true + EnableExternalSenderAdminNotifications = $true + EnableFileFilter = $true + EnableInternalSenderAdminNotifications = $true + ExternalSenderAdminAddress = 'notifications@contoso.org' + FileTypes = @('.bat', '.rar') + InternalSenderAdminAddress = 'internalnotifications@contoso.org' + MakeDefault = $False + ZapEnabled = $true + } + + + Mock -CommandName Get-MalwareFilterPolicy -MockWith { + return @{ + Identity = 'SomeOtherMalwareFilterPolicy' + } + } + } + + It 'Should return Absent 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 call the Set method' { + Set-TargetResource @testParams + } + + } + + Context -Name 'MalwareFilterPolicy update not required.' -Fixture { + BeforeAll { + $testParams = @{ + Ensure = 'Present' + Credential = $Credential + Identity = 'TestMalwareFilterPolicy' + AdminDisplayName = 'TestPolicy' + CustomExternalBody = 'This is a custom external body' + CustomExternalSubject = 'This is a custom external subject' + CustomFromAddress = 'customnotification@contoso.org' + CustomFromName = 'customnotifications' + CustomInternalBody = 'This is a custom internal body' + CustomInternalSubject = 'This is a custom internal subject' + CustomNotifications = $true + EnableExternalSenderAdminNotifications = $true + EnableFileFilter = $true + EnableInternalSenderAdminNotifications = $true + ExternalSenderAdminAddress = 'notifications@contoso.org' + FileTypes = @('.bat', '.rar') + InternalSenderAdminAddress = 'internalnotifications@contoso.org' + MakeDefault = $False + ZapEnabled = $true + } + + Mock -CommandName Get-MalwareFilterPolicy -MockWith { + return @{ + Ensure = 'Present' + Credential = $Credential + Identity = 'TestMalwareFilterPolicy' + AdminDisplayName = 'TestPolicy' + CustomExternalBody = 'This is a custom external body' + CustomExternalSubject = 'This is a custom external subject' + CustomFromAddress = 'customnotification@contoso.org' + CustomFromName = 'customnotifications' + CustomInternalBody = 'This is a custom internal body' + CustomInternalSubject = 'This is a custom internal subject' + CustomNotifications = $true + EnableExternalSenderAdminNotifications = $true + EnableFileFilter = $true + EnableInternalSenderAdminNotifications = $true + ExternalSenderAdminAddress = 'notifications@contoso.org' + FileTypes = @('.bat', '.rar') + InternalSenderAdminAddress = 'internalnotifications@contoso.org' + IsDefault = $False + ZapEnabled = $true + } + } + } + + It 'Should return true from the Test method' { + Test-TargetResource @testParams | Should -Be $true + } + } + + Context -Name 'MalwareFilterPolicy update needed.' -Fixture { + BeforeAll { + $testParams = @{ + Ensure = 'Present' + Credential = $Credential + Identity = 'TestMalwareFilterPolicy' + AdminDisplayName = 'TestPolicy' + CustomExternalBody = 'This is a custom external body' + CustomExternalSubject = 'This is a custom external subject' + CustomFromAddress = 'customnotification@contoso.org' + CustomFromName = 'customnotifications' + CustomInternalBody = 'This is a custom internal body' + CustomInternalSubject = 'This is a custom internal subject' + CustomNotifications = $true + EnableExternalSenderAdminNotifications = $true + EnableFileFilter = $true + EnableInternalSenderAdminNotifications = $true + ExternalSenderAdminAddress = 'notifications@contoso.org' + FileTypes = @('.bat', '.rar') + InternalSenderAdminAddress = 'internalnotifications@contoso.org' + MakeDefault = $False + ZapEnabled = $true + } + + Mock -CommandName Get-MalwareFilterPolicy -MockWith { + return @{ + Ensure = 'Present' + Credential = $Credential + Identity = 'TestMalwareFilterPolicy' + AdminDisplayName = 'TestPolicy' + CustomExternalBody = 'This is a custom external body' + CustomExternalSubject = 'This is a custom external subject' + CustomFromAddress = 'customnotification@contoso.org' + CustomFromName = 'customnotifications' + CustomInternalBody = 'This is a custom internal body' + CustomInternalSubject = 'This is a custom internal subject' + CustomNotifications = $false + EnableExternalSenderAdminNotifications = $true + EnableFileFilter = $true + EnableInternalSenderAdminNotifications = $true + ExternalSenderAdminAddress = 'notifications@contoso.org' + FileTypes = @('.cmd', '.rar') + InternalSenderAdminAddress = 'internalnotifications@contoso.org' + IsDefault = $False + ZapEnabled = $true + } + } + + Mock -CommandName Set-MalwareFilterPolicy -MockWith { + return @{ + + } + } + } + + It 'Should return false from the Test method' { + Test-TargetResource @testParams | Should -Be $false + } + + It 'Should Successfully call the Set method' { + Set-TargetResource @testParams + } + } + + Context -Name 'MalwareFilterPolicy removal.' -Fixture { + BeforeAll { + $testParams = @{ + Ensure = 'Absent' + Credential = $Credential + Identity = 'TestMalwareFilterPolicy' + } + + Mock -CommandName Get-MalwareFilterPolicy -MockWith { + return @{ + Identity = 'TestMalwareFilterPolicy' + } + } + + Mock -CommandName Remove-MalwareFilterPolicy -MockWith { + return @{ + + } + } + } + + It 'Should return false from the Test method' { + Test-TargetResource @testParams | Should -Be $false + } + + It 'Should Remove the Policy in the Set method' { + Set-TargetResource @testParams + } + } + + Context -Name 'ReverseDSC Tests' -Fixture { + BeforeAll { + $Global:CurrentModeIsExport = $true + $Global:PartialExportFileName = "$(New-Guid).partial.ps1" + $testParams = @{ + Credential = $Credential + } + + Mock -CommandName Get-MalwareFilterPolicy -MockWith { + return @{ + Identity = 'TestMalwareFilterPolicy' + AdminDisplayName = 'TestPolicy' + CustomExternalBody = 'This is a custom external body' + CustomExternalSubject = 'This is a custom external subject' + CustomFromAddress = 'customnotification@contoso.org' + CustomFromName = 'customnotifications' + CustomInternalBody = 'This is a custom internal body' + CustomInternalSubject = 'This is a custom internal subject' + CustomNotifications = $false + EnableExternalSenderAdminNotifications = $true + EnableFileFilter = $true + EnableInternalSenderAdminNotifications = $true + ExternalSenderAdminAddress = 'notifications@contoso.org' + FileTypes = @('.cmd', '.rar') + InternalSenderAdminAddress = 'internalnotifications@contoso.org' + IsDefault = $False + ZapEnabled = $true + } + } + } + + 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 6ab1265f566a8b11f4b7baff593e3b2088d88ea8 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Mon, 2 Oct 2023 18:53:18 -0400 Subject: [PATCH 20/32] Commit --- Tests/Unit/Stubs/Microsoft365.psm1 | 197 +++++++++++++++++++++++------ 1 file changed, 156 insertions(+), 41 deletions(-) diff --git a/Tests/Unit/Stubs/Microsoft365.psm1 b/Tests/Unit/Stubs/Microsoft365.psm1 index 5ae21ddbc4..6337bc8606 100644 --- a/Tests/Unit/Stubs/Microsoft365.psm1 +++ b/Tests/Unit/Stubs/Microsoft365.psm1 @@ -725,6 +725,31 @@ function Get-Mailbox $IncludeEmailAddressDisplayNames ) } +function Get-MailboxAutoReplyConfiguration +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ReadFromDomainController, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $UseCustomRouting, + + [Parameter()] + [System.Management.Automation.PSCredential] + $Credential, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object] + $ResultSize + ) +} function Get-MailboxPlan { [CmdletBinding()] @@ -891,6 +916,10 @@ function Get-ManagementRoleAssignment [System.Object] $Identity, + [Parameter()] + [System.Object] + $RecipientGroupScope, + [Parameter()] [System.Boolean] $Enabled, @@ -907,10 +936,6 @@ function Get-ManagementRoleAssignment [System.Object] $ConfigWriteScope, - [Parameter()] - [System.Object] - $RoleAssignee, - [Parameter()] [System.Boolean] $Delegating, @@ -923,6 +948,10 @@ function Get-ManagementRoleAssignment [System.Object[]] $AssignmentMethod, + [Parameter()] + [System.Management.Automation.SwitchParameter] + $GetEffectiveUsers, + [Parameter()] [System.Object] $Role, @@ -940,8 +969,8 @@ function Get-ManagementRoleAssignment $RecipientOrganizationalUnitScope, [Parameter()] - [System.Management.Automation.SwitchParameter] - $GetEffectiveUsers + [System.Object] + $RoleAssignee ) } function Get-MessageClassification @@ -3323,8 +3352,8 @@ function New-ManagementRoleAssignment $CustomRecipientWriteScope, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object] + $RecipientGroupScope, [Parameter()] [System.String] @@ -3336,12 +3365,16 @@ function New-ManagementRoleAssignment [Parameter()] [System.Object] - $Policy, + $RecipientAdministrativeUnitScope, [Parameter()] [System.Object] $SecurityGroup, + [Parameter()] + [System.Object] + $ExclusiveRecipientWriteScope, + [Parameter()] [System.Management.Automation.SwitchParameter] $Delegating, @@ -3351,8 +3384,8 @@ function New-ManagementRoleAssignment $User, [Parameter()] - [System.Object] - $RecipientRelativeWriteScope, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] [System.Object] @@ -3368,15 +3401,15 @@ function New-ManagementRoleAssignment [Parameter()] [System.Object] - $RecipientAdministrativeUnitScope, + $Policy, [Parameter()] [System.Object] - $ExclusiveRecipientWriteScope, + $RecipientOrganizationalUnitScope, [Parameter()] [System.Object] - $RecipientOrganizationalUnitScope + $RecipientRelativeWriteScope ) } function New-MessageClassification @@ -4235,11 +4268,7 @@ function New-SafeAttachmentPolicy [Parameter()] [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Boolean] - $ActionOnError + $Confirm ) } function New-SafeAttachmentRule @@ -8382,6 +8411,75 @@ function Set-Mailbox $MessageTrackingReadStatusEnabled ) } +function Set-MailboxAutoReplyConfiguration +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.String] + $InternalMessage, + + [Parameter()] + [System.String] + $DeclineMeetingMessage, + + [Parameter()] + [System.Object] + $ExternalAudience, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $IgnoreDefaultScope, + + [Parameter()] + [System.Boolean] + $DeclineEventsForScheduledOOF, + + [Parameter()] + [System.Boolean] + $AutoDeclineFutureRequestsWhenOOF, + + [Parameter()] + [System.Object] + $AutoReplyState, + + [Parameter()] + [System.String[]] + $EventsToDeleteIDs, + + [Parameter()] + [System.DateTime] + $StartTime, + + [Parameter()] + [System.Boolean] + $CreateOOFEvent, + + [Parameter()] + [System.String] + $OOFEventSubject, + + [Parameter()] + [System.Boolean] + $DeclineAllEventsForScheduledOOF, + + [Parameter()] + [System.DateTime] + $EndTime, + + [Parameter()] + [System.String] + $ExternalMessage + ) +} function Set-MailboxPlan { [CmdletBinding()] @@ -8836,8 +8934,8 @@ function Set-ManagementRoleAssignment [CmdletBinding()] param( [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force, + [System.Object] + $RecipientGroupScope, [Parameter()] [System.Object] @@ -8859,6 +8957,10 @@ function Set-ManagementRoleAssignment [System.Object] $Identity, + [Parameter()] + [System.Object] + $RecipientOrganizationalUnitScope, + [Parameter()] [System.Boolean] $Enabled, @@ -8872,8 +8974,8 @@ function Set-ManagementRoleAssignment $RecipientRelativeWriteScope, [Parameter()] - [System.Object] - $RecipientOrganizationalUnitScope + [System.Management.Automation.SwitchParameter] + $Force ) } function Set-MessageClassification @@ -9548,7 +9650,7 @@ function Set-OrganizationConfig [Parameter()] [System.Boolean] - $OutlookMobileHelpShiftEnabled, + $AutomaticForcedReadReceiptEnabled, [Parameter()] [System.Boolean] @@ -9790,6 +9892,10 @@ function Set-OrganizationConfig [System.Boolean] $CustomerLockboxEnabled, + [Parameter()] + [System.Boolean] + $OutlookMobileHelpShiftEnabled, + [Parameter()] [System.Uri] $SiteMailboxCreationURL, @@ -10005,10 +10111,6 @@ function Set-OwaMailboxPolicy [System.Management.Automation.SwitchParameter] $Confirm, - [Parameter()] - [System.String] - $SetPhotoURL, - [Parameter()] [System.Int32] $DefaultClientLanguage, @@ -10023,7 +10125,7 @@ function Set-OwaMailboxPolicy [Parameter()] [System.Boolean] - $UseISO885915, + $MessagePreviewsDisabled, [Parameter()] [System.Boolean] @@ -10039,7 +10141,7 @@ function Set-OwaMailboxPolicy [Parameter()] [System.Boolean] - $OneDriveAttachmentsEnabled, + $NpsSurveysEnabled, [Parameter()] [System.Boolean] @@ -10077,13 +10179,17 @@ function Set-OwaMailboxPolicy [System.Boolean] $SMimeSuppressNameChecksEnabled, + [Parameter()] + [System.Object] + $ActionForUnknownFileAndMIMETypes, + [Parameter()] [System.String] $ExternalSPMySiteHostURL, [Parameter()] [System.Boolean] - $OnSendAddinsEnabled, + $OfflineEnabledWeb, [Parameter()] [System.Object] @@ -10171,7 +10277,7 @@ function Set-OwaMailboxPolicy [Parameter()] [System.Boolean] - $NpsSurveysEnabled, + $OfflineEnabledWin, [Parameter()] [System.Object] @@ -10187,7 +10293,7 @@ function Set-OwaMailboxPolicy [Parameter()] [System.Boolean] - $ReferenceAttachmentsEnabled, + $OnSendAddinsEnabled, [Parameter()] [System.Boolean] @@ -10257,6 +10363,10 @@ function Set-OwaMailboxPolicy [System.Boolean] $ReportJunkEmailEnabled, + [Parameter()] + [System.Boolean] + $UseISO885915, + [Parameter()] [System.Boolean] $RecoverDeletedItemsEnabled, @@ -10274,8 +10384,8 @@ function Set-OwaMailboxPolicy $WebPartsFrameOptionsType, [Parameter()] - [System.Object] - $ActionForUnknownFileAndMIMETypes, + [System.String] + $SetPhotoURL, [Parameter()] [System.Boolean] @@ -10397,6 +10507,10 @@ function Set-OwaMailboxPolicy [System.Boolean] $BizBarEnabled, + [Parameter()] + [System.Boolean] + $OneDriveAttachmentsEnabled, + [Parameter()] [System.Boolean] $PrintWithoutDownloadEnabled, @@ -10419,7 +10533,7 @@ function Set-OwaMailboxPolicy [Parameter()] [System.Boolean] - $MessagePreviewsDisabled, + $ReferenceAttachmentsEnabled, [Parameter()] [System.Management.Automation.SwitchParameter] @@ -10654,6 +10768,10 @@ function Set-RemoteDomain [System.Object] $PreferredInternetCodePageForShiftJis, + [Parameter()] + [System.Boolean] + $SmtpDaneMandatoryModeEnabled, + [Parameter()] [System.String] $NonMimeCharacterSet, @@ -10808,11 +10926,7 @@ function Set-SafeAttachmentPolicy [Parameter()] [System.String] - $QuarantineTag, - - [Parameter()] - [System.Boolean] - $ActionOnError + $QuarantineTag ) } function Set-SafeAttachmentRule @@ -12289,6 +12403,7 @@ function Update-RoleGroupMember ) } #endregion + #region Microsoft.Graph.Applications function Get-MgApplication { From ffd4031bfbf297b358d114baf9c6f665e0c803b0 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Mon, 2 Oct 2023 19:26:11 -0400 Subject: [PATCH 21/32] Update Microsoft365.psm1 --- Tests/Unit/Stubs/Microsoft365.psm1 | 11812 +-------------------------- 1 file changed, 245 insertions(+), 11567 deletions(-) diff --git a/Tests/Unit/Stubs/Microsoft365.psm1 b/Tests/Unit/Stubs/Microsoft365.psm1 index 6446adf855..7a25f2c490 100644 --- a/Tests/Unit/Stubs/Microsoft365.psm1 +++ b/Tests/Unit/Stubs/Microsoft365.psm1 @@ -321,6 +321,19 @@ function Get-AvailabilityConfig $Identity ) } +function Get-CalendarProcessing +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object] + $ResultSize + ) +} function Get-CASMailbox { [CmdletBinding()] @@ -891,6 +904,10 @@ function Get-ManagementRoleAssignment [System.Object] $Identity, + [Parameter()] + [System.Object] + $RecipientGroupScope, + [Parameter()] [System.Boolean] $Enabled, @@ -907,10 +924,6 @@ function Get-ManagementRoleAssignment [System.Object] $ConfigWriteScope, - [Parameter()] - [System.Object] - $RoleAssignee, - [Parameter()] [System.Boolean] $Delegating, @@ -923,6 +936,10 @@ function Get-ManagementRoleAssignment [System.Object[]] $AssignmentMethod, + [Parameter()] + [System.Management.Automation.SwitchParameter] + $GetEffectiveUsers, + [Parameter()] [System.Object] $Role, @@ -940,8 +957,8 @@ function Get-ManagementRoleAssignment $RecipientOrganizationalUnitScope, [Parameter()] - [System.Management.Automation.SwitchParameter] - $GetEffectiveUsers + [System.Object] + $RoleAssignee ) } function Get-MessageClassification @@ -3323,8 +3340,8 @@ function New-ManagementRoleAssignment $CustomRecipientWriteScope, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object] + $RecipientGroupScope, [Parameter()] [System.String] @@ -3336,12 +3353,16 @@ function New-ManagementRoleAssignment [Parameter()] [System.Object] - $Policy, + $RecipientAdministrativeUnitScope, [Parameter()] [System.Object] $SecurityGroup, + [Parameter()] + [System.Object] + $ExclusiveRecipientWriteScope, + [Parameter()] [System.Management.Automation.SwitchParameter] $Delegating, @@ -3351,8 +3372,8 @@ function New-ManagementRoleAssignment $User, [Parameter()] - [System.Object] - $RecipientRelativeWriteScope, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] [System.Object] @@ -3368,15 +3389,15 @@ function New-ManagementRoleAssignment [Parameter()] [System.Object] - $RecipientAdministrativeUnitScope, + $Policy, [Parameter()] [System.Object] - $ExclusiveRecipientWriteScope, + $RecipientOrganizationalUnitScope, [Parameter()] [System.Object] - $RecipientOrganizationalUnitScope + $RecipientRelativeWriteScope ) } function New-MessageClassification @@ -4235,11 +4256,7 @@ function New-SafeAttachmentPolicy [Parameter()] [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Boolean] - $ActionOnError + $Confirm ) } function New-SafeAttachmentRule @@ -6479,6 +6496,175 @@ function Set-AvailabilityConfig $AllowedTenantIds ) } +function Set-CalendarProcessing +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Int32] + $MaximumConflictInstances, + + [Parameter()] + [System.Object] + $BookingType, + + [Parameter()] + [System.Boolean] + $ForwardRequestsToDelegates, + + [Parameter()] + [System.Boolean] + $RemoveCanceledMeetings, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object[]] + $ResourceDelegates, + + [Parameter()] + [System.Boolean] + $DeleteNonCalendarItems, + + [Parameter()] + [System.Boolean] + $RemovePrivateProperty, + + [Parameter()] + [System.Boolean] + $DeleteComments, + + [Parameter()] + [System.Boolean] + $EnforceSchedulingHorizon, + + [Parameter()] + [System.Boolean] + $EnableResponseDetails, + + [Parameter()] + [System.Object[]] + $RequestInPolicy, + + [Parameter()] + [System.Boolean] + $EnforceCapacity, + + [Parameter()] + [System.Boolean] + $AllowConflicts, + + [Parameter()] + [System.Boolean] + $AllRequestInPolicy, + + [Parameter()] + [System.Boolean] + $AddOrganizerToSubject, + + [Parameter()] + [System.Object[]] + $BookInPolicy, + + [Parameter()] + [System.Int32] + $ConflictPercentageAllowed, + + [Parameter()] + [System.Object] + $AutomateProcessing, + + [Parameter()] + [System.Boolean] + $AllRequestOutOfPolicy, + + [Parameter()] + [System.Boolean] + $AddNewRequestsTentatively, + + [Parameter()] + [System.Boolean] + $EnableAutoRelease, + + [Parameter()] + [System.Int32] + $PostReservationMaxClaimTimeInMinutes, + + [Parameter()] + [System.Boolean] + $AllBookInPolicy, + + [Parameter()] + [System.Boolean] + $ProcessExternalMeetingMessages, + + [Parameter()] + [System.Boolean] + $DeleteAttachments, + + [Parameter()] + [System.Boolean] + $ScheduleOnlyDuringWorkHours, + + [Parameter()] + [System.String] + $AdditionalResponse, + + [Parameter()] + [System.Boolean] + $TentativePendingApproval, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Int32] + $MaximumDurationInMinutes, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $IgnoreDefaultScope, + + [Parameter()] + [System.Object[]] + $RequestOutOfPolicy, + + [Parameter()] + [System.Boolean] + $RemoveOldMeetingMessages, + + [Parameter()] + [System.Boolean] + $OrganizerInfo, + + [Parameter()] + [System.Boolean] + $AddAdditionalResponse, + + [Parameter()] + [System.Boolean] + $RemoveForwardedMeetingNotifications, + + [Parameter()] + [System.Int32] + $MinimumDurationInMinutes, + + [Parameter()] + [System.Int32] + $BookingWindowInDays, + + [Parameter()] + [System.Boolean] + $AllowRecurringMeetings, + + [Parameter()] + [System.Boolean] + $DeleteSubject + ) +} function Set-CASMailbox { [CmdletBinding()] @@ -8836,8 +9022,8 @@ function Set-ManagementRoleAssignment [CmdletBinding()] param( [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force, + [System.Object] + $RecipientGroupScope, [Parameter()] [System.Object] @@ -8859,6 +9045,10 @@ function Set-ManagementRoleAssignment [System.Object] $Identity, + [Parameter()] + [System.Object] + $RecipientOrganizationalUnitScope, + [Parameter()] [System.Boolean] $Enabled, @@ -8872,8 +9062,8 @@ function Set-ManagementRoleAssignment $RecipientRelativeWriteScope, [Parameter()] - [System.Object] - $RecipientOrganizationalUnitScope + [System.Management.Automation.SwitchParameter] + $Force ) } function Set-MessageClassification @@ -9548,7 +9738,7 @@ function Set-OrganizationConfig [Parameter()] [System.Boolean] - $OutlookMobileHelpShiftEnabled, + $AutomaticForcedReadReceiptEnabled, [Parameter()] [System.Boolean] @@ -9790,6 +9980,10 @@ function Set-OrganizationConfig [System.Boolean] $CustomerLockboxEnabled, + [Parameter()] + [System.Boolean] + $OutlookMobileHelpShiftEnabled, + [Parameter()] [System.Uri] $SiteMailboxCreationURL, @@ -10005,10 +10199,6 @@ function Set-OwaMailboxPolicy [System.Management.Automation.SwitchParameter] $Confirm, - [Parameter()] - [System.String] - $SetPhotoURL, - [Parameter()] [System.Int32] $DefaultClientLanguage, @@ -10023,7 +10213,7 @@ function Set-OwaMailboxPolicy [Parameter()] [System.Boolean] - $UseISO885915, + $MessagePreviewsDisabled, [Parameter()] [System.Boolean] @@ -10039,7 +10229,7 @@ function Set-OwaMailboxPolicy [Parameter()] [System.Boolean] - $OneDriveAttachmentsEnabled, + $NpsSurveysEnabled, [Parameter()] [System.Boolean] @@ -10077,13 +10267,17 @@ function Set-OwaMailboxPolicy [System.Boolean] $SMimeSuppressNameChecksEnabled, + [Parameter()] + [System.Object] + $ActionForUnknownFileAndMIMETypes, + [Parameter()] [System.String] $ExternalSPMySiteHostURL, [Parameter()] [System.Boolean] - $OnSendAddinsEnabled, + $OfflineEnabledWeb, [Parameter()] [System.Object] @@ -10171,7 +10365,7 @@ function Set-OwaMailboxPolicy [Parameter()] [System.Boolean] - $NpsSurveysEnabled, + $OfflineEnabledWin, [Parameter()] [System.Object] @@ -10187,7 +10381,7 @@ function Set-OwaMailboxPolicy [Parameter()] [System.Boolean] - $ReferenceAttachmentsEnabled, + $OnSendAddinsEnabled, [Parameter()] [System.Boolean] @@ -10257,6 +10451,10 @@ function Set-OwaMailboxPolicy [System.Boolean] $ReportJunkEmailEnabled, + [Parameter()] + [System.Boolean] + $UseISO885915, + [Parameter()] [System.Boolean] $RecoverDeletedItemsEnabled, @@ -10274,8 +10472,8 @@ function Set-OwaMailboxPolicy $WebPartsFrameOptionsType, [Parameter()] - [System.Object] - $ActionForUnknownFileAndMIMETypes, + [System.String] + $SetPhotoURL, [Parameter()] [System.Boolean] @@ -10397,6 +10595,10 @@ function Set-OwaMailboxPolicy [System.Boolean] $BizBarEnabled, + [Parameter()] + [System.Boolean] + $OneDriveAttachmentsEnabled, + [Parameter()] [System.Boolean] $PrintWithoutDownloadEnabled, @@ -10419,7 +10621,7 @@ function Set-OwaMailboxPolicy [Parameter()] [System.Boolean] - $MessagePreviewsDisabled, + $ReferenceAttachmentsEnabled, [Parameter()] [System.Management.Automation.SwitchParameter] @@ -10654,6 +10856,10 @@ function Set-RemoteDomain [System.Object] $PreferredInternetCodePageForShiftJis, + [Parameter()] + [System.Boolean] + $SmtpDaneMandatoryModeEnabled, + [Parameter()] [System.String] $NonMimeCharacterSet, @@ -10808,11 +11014,7 @@ function Set-SafeAttachmentPolicy [Parameter()] [System.String] - $QuarantineTag, - - [Parameter()] - [System.Boolean] - $ActionOnError + $QuarantineTag ) } function Set-SafeAttachmentRule @@ -12289,6 +12491,8 @@ function Update-RoleGroupMember ) } #endregion + + #region Microsoft.Graph.Applications function Get-MgApplication { @@ -63599,11532 +63803,6 @@ function Set-MgUserLicense ) } #endregion -#region ExchangeOnlineManagement -function Add-AvailabilityAddressSpace -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.PSCredential] - $Credentials, - - [Parameter()] - [System.String] - $ForestName, - - [Parameter()] - [System.Uri] - $TargetAutodiscoverEpr, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.String] - $TargetTenantId, - - [Parameter()] - [System.String] - $TargetServiceEpr, - - [Parameter()] - [System.Object] - $AccessMethod - ) -} -function Disable-JournalRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Enable-JournalRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Enable-OrganizationCustomization -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm - ) -} -function Get-AcceptedDomain -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $ResultSize - ) -} -function Get-ActiveSyncDevice -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $SortBy, - - [Parameter()] - [System.Object] - $Mailbox, - - [Parameter()] - [System.Object] - $OrganizationalUnit, - - [Parameter()] - [System.String] - $Filter, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $ResultSize - ) -} -function Get-ActiveSyncDeviceAccessRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-AddressBookPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-AddressList -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $SearchText, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $Container - ) -} -function Get-AdminAuditLogConfig -{ - [CmdletBinding()] - param( - - ) -} -function Get-AntiPhishPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Spoof - ) -} -function Get-AntiPhishRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $State - ) -} -function Get-App -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Mailbox, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $OrganizationApp, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $PrivateCatalog - ) -} -function Get-ApplicationAccessPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-AuditConfig -{ - [CmdletBinding()] - param( - - ) -} -function Get-AuditConfigurationPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-AuthenticationPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-AvailabilityAddressSpace -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-AvailabilityConfig -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-CalendarProcessing -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $ResultSize - ) -} -function Get-CASMailbox -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $RecalculateHasActiveSyncDevicePartnership, - - [Parameter()] - [System.String] - $SortBy, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $ProtocolSettings, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $ReadIsOptimizedForAccessibility, - - [Parameter()] - [System.Management.Automation.PSCredential] - $Credential, - - [Parameter()] - [System.Object] - $OrganizationalUnit, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $ActiveSyncDebugLogging, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $IgnoreDefaultScope, - - [Parameter()] - [System.Object[]] - $RecipientTypeDetails, - - [Parameter()] - [System.Object] - $ResultSize, - - [Parameter()] - [System.String] - $Filter, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $ActiveSyncSuppressReadReceipt, - - [Parameter()] - [System.String] - $Anr - ) -} -function Get-CASMailboxPlan -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $SortBy, - - [Parameter()] - [System.Management.Automation.PSCredential] - $Credential, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $IgnoreDefaultScope, - - [Parameter()] - [System.Object] - $ResultSize, - - [Parameter()] - [System.String] - $Filter - ) -} -function Get-ClientAccessRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $DomainController - ) -} -function Get-ComplianceTag -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $IncludingLabelState, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-DataClassification -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $ClassificationRuleCollectionIdentity - ) -} -function Get-DataEncryptionPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $DomainController - ) -} -function Get-DeviceConditionalAccessPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-DeviceConfigurationPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-DistributionGroup -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $SortBy, - - [Parameter()] - [System.Management.Automation.PSCredential] - $Credential, - - [Parameter()] - [System.Object] - $OrganizationalUnit, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object[]] - $RecipientTypeDetails, - - [Parameter()] - [System.Object] - $ManagedBy, - - [Parameter()] - [System.String] - $Filter, - - [Parameter()] - [System.Object] - $ResultSize, - - [Parameter()] - [System.String] - $Anr - ) -} -function Get-DkimSigningConfig -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-EmailAddressPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-GlobalAddressList -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $DefaultOnly - ) -} -function Get-HostedConnectionFilterPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-HostedContentFilterPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-HostedContentFilterRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $State - ) -} -function Get-HostedOutboundSpamFilterPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-HostedOutboundSpamFilterRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $State - ) -} -function Get-InboundConnector -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $ResultSize - ) -} -function Get-IntraOrganizationConnector -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-IRMConfiguration -{ - [CmdletBinding()] - param( - - ) -} -function Get-JournalRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-Mailbox -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $ServiceSafetyConfiguration, - - [Parameter()] - [System.String] - $SortBy, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $InactiveMailboxOnly, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $PublicFolder, - - [Parameter()] - [System.String] - $Anr, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Archive, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $SoftDeletedMailbox, - - [Parameter()] - [System.Object] - $ResultSize, - - [Parameter()] - [System.Object] - $MailboxPlan, - - [Parameter()] - [System.Object[]] - $RecipientTypeDetails, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Migration, - - [Parameter()] - [System.String] - $Filter, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $GroupMailbox, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $IncludeInactiveMailbox, - - [Parameter()] - [System.Object] - $OrganizationalUnit, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $IncludeEmailAddressDisplayNames - ) -} -function Get-MailboxPlan -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $SortBy, - - [Parameter()] - [System.Management.Automation.PSCredential] - $Credential, - - [Parameter()] - [System.String] - $Filter, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $IgnoreDefaultScope, - - [Parameter()] - [System.Object] - $ResultSize, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllMailboxPlanReleases - ) -} -function Get-MailboxRegionalConfiguration -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $VerifyDefaultFolderNameLanguage, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $UseCustomRouting, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Archive, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $MailboxLocation - ) -} -function Get-MailContact -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $SortBy, - - [Parameter()] - [System.Object] - $OrganizationalUnit, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object[]] - $RecipientTypeDetails, - - [Parameter()] - [System.Object] - $ResultSize, - - [Parameter()] - [System.String] - $Filter, - - [Parameter()] - [System.String] - $Anr - ) -} -function Get-MalwareFilterPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-MalwareFilterRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $State - ) -} -function Get-ManagementRole -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $RoleType, - - [Parameter()] - [System.String[]] - $CmdletParameters, - - [Parameter()] - [System.String[]] - $ScriptParameters, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.String] - $Cmdlet, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Recurse, - - [Parameter()] - [System.String] - $Script, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $GetChildren - ) -} -function Get-ManagementRoleAssignment -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $RoleAssigneeType, - - [Parameter()] - [System.Object] - $CustomRecipientWriteScope, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $RecipientGroupScope, - - [Parameter()] - [System.Boolean] - $Enabled, - - [Parameter()] - [System.Object] - $RecipientWriteScope, - - [Parameter()] - [System.Object] - $WritableRecipient, - - [Parameter()] - [System.Object] - $ConfigWriteScope, - - [Parameter()] - [System.Boolean] - $Delegating, - - [Parameter()] - [System.Boolean] - $Exclusive, - - [Parameter()] - [System.Object[]] - $AssignmentMethod, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $GetEffectiveUsers, - - [Parameter()] - [System.Object] - $Role, - - [Parameter()] - [System.Object] - $RecipientAdministrativeUnitScope, - - [Parameter()] - [System.Object] - $ExclusiveRecipientWriteScope, - - [Parameter()] - [System.Object] - $RecipientOrganizationalUnitScope, - - [Parameter()] - [System.Object] - $RoleAssignee - ) -} -function Get-MessageClassification -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $IncludeLocales - ) -} -function Get-MobileDevice -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $OWAforDevices, - - [Parameter()] - [System.String] - $SortBy, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $UniversalOutlook, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $ActiveSync, - - [Parameter()] - [System.Object] - $Mailbox, - - [Parameter()] - [System.Object] - $OrganizationalUnit, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $RestApi, - - [Parameter()] - [System.Object] - $ResultSize, - - [Parameter()] - [System.String] - $Filter - ) -} -function Get-MobileDeviceMailboxPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-OfflineAddressBook -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-OMEConfiguration -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-OnPremisesOrganization -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-OrganizationConfig -{ - [CmdletBinding()] - param( - - ) -} -function Get-OrganizationRelationship -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-OutboundConnector -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Boolean] - $IncludeTestModeConnectors, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $ResultSize, - - [Parameter()] - [System.Boolean] - $IsTransportRuleScoped - ) -} -function Get-OwaMailboxPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-PartnerApplication -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-PerimeterConfig -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-PolicyTipConfig -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Action, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Original, - - [Parameter()] - [System.Globalization.CultureInfo] - $Locale, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-QuarantinePolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $QuarantinePolicyType - ) -} -function Get-RemoteDomain -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $ResultSize - ) -} -function Get-ResourceConfig -{ - [CmdletBinding()] - param( - - ) -} -function Get-RoleAssignmentPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-RoleGroup -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $SortBy, - - [Parameter()] - [System.String] - $Filter, - - [Parameter()] - [System.Object] - $ResultSize, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $ShowPartnerLinked, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-RoleGroupMember -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $ResultSize - ) -} -function Get-ServicePrincipal -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $Organization - ) -} -function Get-SharingPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-SupervisoryReviewPolicyV2 -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-SupervisoryReviewRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $Policy - ) -} -function Get-TransportConfig -{ - [CmdletBinding()] - param( - - ) -} -function Get-TransportRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $DlpPolicy, - - [Parameter()] - [System.Object] - $ResultSize, - - [Parameter()] - [System.Boolean] - $ExcludeConditionActionDetails, - - [Parameter()] - [System.String] - $Filter, - - [Parameter()] - [System.Object] - $State, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Get-UnifiedGroup -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $SortBy, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $IncludeSoftDeletedGroups, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $IncludeAllProperties, - - [Parameter()] - [System.String] - $Filter, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $ResultSize, - - [Parameter()] - [System.String] - $Anr - ) -} -function Get-User -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $SortBy, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $PublicFolder, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $IsVIP, - - [Parameter()] - [System.Object] - $OrganizationalUnit, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object[]] - $RecipientTypeDetails, - - [Parameter()] - [System.Object] - $ResultSize, - - [Parameter()] - [System.String] - $Filter, - - [Parameter()] - [System.String] - $Anr - ) -} -function New-ActiveSyncDeviceAccessRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $QueryString, - - [Parameter()] - [System.Object] - $Characteristic, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $AccessLevel - ) -} -function New-AddressBookPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $RoomList, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $GlobalAddressList, - - [Parameter()] - [System.Object[]] - $AddressLists, - - [Parameter()] - [System.Object] - $OfflineAddressBook - ) -} -function New-AddressList -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $RecipientFilter, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute8, - - [Parameter()] - [System.String] - $DisplayName, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute10, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute9, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute2, - - [Parameter()] - [System.Object] - $IncludedRecipients, - - [Parameter()] - [System.Object] - $ConditionalCompany, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute6, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute3, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute12, - - [Parameter()] - [System.Object] - $Container, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute13, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute15, - - [Parameter()] - [System.Object] - $ConditionalDepartment, - - [Parameter()] - [System.Object] - $ConditionalStateOrProvince, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute7, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute14, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute4, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute11, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute1, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute5 - ) -} -function New-AntiPhishPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Boolean] - $EnableFirstContactSafetyTips, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $MakeDefault, - - [Parameter()] - [System.Boolean] - $EnableUnauthenticatedSender, - - [Parameter()] - [System.Boolean] - $HonorDmarcPolicy, - - [Parameter()] - [System.Boolean] - $Enabled, - - [Parameter()] - [System.Boolean] - $EnableViaTag, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Boolean] - $EnableSpoofIntelligence, - - [Parameter()] - [System.Object] - $DmarcQuarantineAction, - - [Parameter()] - [System.Object] - $RecommendedPolicyType, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.String] - $SpoofQuarantineTag, - - [Parameter()] - [System.Object] - $DmarcRejectAction, - - [Parameter()] - [System.String] - $AdminDisplayName, - - [Parameter()] - [System.Object] - $AuthenticationFailAction - ) -} -function New-AntiPhishRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Int32] - $Priority, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object[]] - $SentToMemberOf, - - [Parameter()] - [System.Object] - $AntiPhishPolicy, - - [Parameter()] - [System.Object[]] - $SentTo, - - [Parameter()] - [System.String] - $Comments, - - [Parameter()] - [System.Object[]] - $RecipientDomainIs, - - [Parameter()] - [System.Object[]] - $ExceptIfRecipientDomainIs, - - [Parameter()] - [System.Object[]] - $ExceptIfSentTo, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object[]] - $ExceptIfSentToMemberOf, - - [Parameter()] - [System.Boolean] - $Enabled - ) -} -function New-App -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $Etoken, - - [Parameter()] - [System.IO.Stream] - $FileStream, - - [Parameter()] - [System.Boolean] - $Enabled, - - [Parameter()] - [System.Uri] - $Url, - - [Parameter()] - [System.Object] - $Mailbox, - - [Parameter()] - [System.String] - $MarketplaceServicesUrl, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $PrivateCatalog, - - [Parameter()] - [System.String] - $MarketplaceCorrelationID, - - [Parameter()] - [System.Object] - $DefaultStateForUser, - - [Parameter()] - [System.String] - $MarketplaceQueryMarket, - - [Parameter()] - [System.String] - $MarketplaceUserProfileType, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $DownloadOnly, - - [Parameter()] - [System.Object] - $ProvidedTo, - - [Parameter()] - [System.Object] - $UserList, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $OrganizationApp, - - [Parameter()] - [System.String] - $MarketplaceAssetID, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Byte[]] - $FileData, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowReadWriteMailbox - ) -} -function New-ApplicationAccessPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $Description, - - [Parameter()] - [System.Object] - $PolicyScopeGroupId, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $AccessRight, - - [Parameter()] - [System.String[]] - $AppId - ) -} -function New-AuthenticationPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowBasicAuthPop, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowBasicAuthSmtp, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowBasicAuthMapi, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowBasicAuthImap, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowBasicAuthAutodiscover, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowBasicAuthPowershell, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowBasicAuthRpc, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowBasicAuthOfflineAddressBook, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowBasicAuthReportingWebServices, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowBasicAuthOutlookService, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowBasicAuthActiveSync, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowBasicAuthWebServices - ) -} -function New-AvailabilityConfig -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $OrgWideAccount, - - [Parameter()] - [System.Object] - $AllowedTenantIds - ) -} -function New-ClientAccessRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $ExceptAnyOfClientIPAddressesOrRanges, - - [Parameter()] - [System.Object] - $Action, - - [Parameter()] - [System.Object] - $AnyOfClientIPAddressesOrRanges, - - [Parameter()] - [System.Boolean] - $Enabled, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.String] - $UserRecipientFilter, - - [Parameter()] - [System.Object] - $ExceptAnyOfProtocols, - - [Parameter()] - [System.Int32] - $Priority, - - [Parameter()] - [System.Object] - $ExceptUsernameMatchesAnyOfPatterns, - - [Parameter()] - [System.Object] - $UsernameMatchesAnyOfPatterns, - - [Parameter()] - [System.Object] - $AnyOfAuthenticationTypes, - - [Parameter()] - [System.Object] - $AnyOfProtocols, - - [Parameter()] - [System.Object] - $ExceptAnyOfAuthenticationTypes, - - [Parameter()] - [System.Object] - $Scope - ) -} -function New-DataClassification -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $Description, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Globalization.CultureInfo] - $Locale, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Fingerprints, - - [Parameter()] - [System.Object] - $ClassificationRuleCollectionIdentity - ) -} -function New-DistributionGroup -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $ModeratedBy, - - [Parameter()] - [System.Boolean] - $RequireSenderAuthenticationEnabled, - - [Parameter()] - [System.Boolean] - $ModerationEnabled, - - [Parameter()] - [System.String] - $DisplayName, - - [Parameter()] - [System.Object] - $MemberDepartRestriction, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $IgnoreNamingPolicy, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $RoomList, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $HiddenGroupMembershipEnabled, - - [Parameter()] - [System.Boolean] - $BypassNestedModerationEnabled, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $CopyOwnerToMember, - - [Parameter()] - [System.Boolean] - $BccBlocked, - - [Parameter()] - [System.Object] - $Members, - - [Parameter()] - [System.Object] - $Description, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.String] - $Notes, - - [Parameter()] - [System.Object] - $MemberJoinRestriction, - - [Parameter()] - [System.Object] - $Type, - - [Parameter()] - [System.Object] - $ManagedBy, - - [Parameter()] - [System.String] - $Alias, - - [Parameter()] - [System.Object] - $PrimarySmtpAddress, - - [Parameter()] - [System.Object] - $SendModerationNotifications, - - [Parameter()] - [System.Object] - $OrganizationalUnit - ) -} -function New-DkimSigningConfig -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $AdminDisplayName, - - [Parameter()] - [System.Object] - $BodyCanonicalization, - - [Parameter()] - [System.Object] - $HeaderCanonicalization, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.UInt16] - $KeySize, - - [Parameter()] - [System.Object] - $DomainName, - - [Parameter()] - [System.Boolean] - $Enabled - ) -} -function New-EmailAddressPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Priority, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object] - $EnabledEmailAddressTemplates, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.String] - $EnabledPrimarySMTPAddressTemplate, - - [Parameter()] - [System.String] - $ManagedByFilter, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $IncludeUnifiedGroupRecipients - ) -} -function New-GlobalAddressList -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $RecipientFilter, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute8, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute10, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute9, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute2, - - [Parameter()] - [System.Object] - $IncludedRecipients, - - [Parameter()] - [System.Object] - $ConditionalCompany, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute6, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute3, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute12, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute13, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute15, - - [Parameter()] - [System.Object] - $ConditionalDepartment, - - [Parameter()] - [System.Object] - $ConditionalStateOrProvince, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute7, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute14, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute4, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute11, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute1, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute5 - ) -} -function New-HostedConnectionFilterPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $ConfigurationXmlRaw, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.String] - $AdminDisplayName, - - [Parameter()] - [System.Boolean] - $EnableSafeList, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $IPBlockList, - - [Parameter()] - [System.Object] - $IPAllowList - ) -} -function New-HostedContentFilterPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Boolean] - $InlineSafetyTipsEnabled, - - [Parameter()] - [System.Object] - $RegionBlockList, - - [Parameter()] - [System.String] - $HighConfidencePhishQuarantineTag, - - [Parameter()] - [System.Int32] - $EndUserSpamNotificationFrequency, - - [Parameter()] - [System.Int32] - $QuarantineRetentionPeriod, - - [Parameter()] - [System.Int32] - $EndUserSpamNotificationLimit, - - [Parameter()] - [System.Int32] - $BulkThreshold, - - [Parameter()] - [System.Object] - $TestModeBccToRecipients, - - [Parameter()] - [System.String] - $PhishQuarantineTag, - - [Parameter()] - [System.String] - $AddXHeaderValue, - - [Parameter()] - [System.Object] - $MarkAsSpamEmbedTagsInHtml, - - [Parameter()] - [System.Object] - $MarkAsSpamFramesInHtml, - - [Parameter()] - [System.Object] - $IncreaseScoreWithImageLinks, - - [Parameter()] - [System.Boolean] - $EnableLanguageBlockList, - - [Parameter()] - [System.Object] - $PhishSpamAction, - - [Parameter()] - [System.String] - $EndUserSpamNotificationCustomFromName, - - [Parameter()] - [System.Object] - $MarkAsSpamSensitiveWordList, - - [Parameter()] - [System.String] - $SpamQuarantineTag, - - [Parameter()] - [System.Object] - $MarkAsSpamNdrBackscatter, - - [Parameter()] - [System.Object] - $BlockedSenders, - - [Parameter()] - [System.Object] - $LanguageBlockList, - - [Parameter()] - [System.Object] - $HighConfidenceSpamAction, - - [Parameter()] - [System.Object] - $AllowedSenderDomains, - - [Parameter()] - [System.Object] - $IncreaseScoreWithBizOrInfoUrls, - - [Parameter()] - [System.Object] - $MarkAsSpamWebBugsInHtml, - - [Parameter()] - [System.String] - $AdminDisplayName, - - [Parameter()] - [System.Object] - $IntraOrgFilterState, - - [Parameter()] - [System.Object] - $MarkAsSpamFromAddressAuthFail, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object] - $MarkAsSpamEmptyMessages, - - [Parameter()] - [System.String] - $BulkQuarantineTag, - - [Parameter()] - [System.Object] - $MarkAsSpamFormTagsInHtml, - - [Parameter()] - [System.Object] - $MarkAsSpamObjectTagsInHtml, - - [Parameter()] - [System.Object] - $BulkSpamAction, - - [Parameter()] - [System.Object] - $EndUserSpamNotificationLanguage, - - [Parameter()] - [System.Object] - $IncreaseScoreWithRedirectToOtherPort, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $HighConfidencePhishAction, - - [Parameter()] - [System.Object] - $RedirectToRecipients, - - [Parameter()] - [System.Boolean] - $SpamZapEnabled, - - [Parameter()] - [System.Object] - $TestModeAction, - - [Parameter()] - [System.Boolean] - $EnableRegionBlockList, - - [Parameter()] - [System.String] - $EndUserSpamNotificationCustomSubject, - - [Parameter()] - [System.Object] - $MarkAsSpamSpfRecordHardFail, - - [Parameter()] - [System.Object] - $EndUserSpamNotificationCustomFromAddress, - - [Parameter()] - [System.Boolean] - $DownloadLink, - - [Parameter()] - [System.Object] - $SpamAction, - - [Parameter()] - [System.String] - $ModifySubjectValue, - - [Parameter()] - [System.Object] - $IncreaseScoreWithNumericIps, - - [Parameter()] - [System.Object] - $AllowedSenders, - - [Parameter()] - [System.Object] - $MarkAsSpamJavaScriptInHtml, - - [Parameter()] - [System.Object] - $MarkAsSpamBulkMail, - - [Parameter()] - [System.Object] - $BlockedSenderDomains, - - [Parameter()] - [System.Object] - $RecommendedPolicyType, - - [Parameter()] - [System.Boolean] - $PhishZapEnabled, - - [Parameter()] - [System.Boolean] - $EnableEndUserSpamNotifications, - - [Parameter()] - [System.String] - $HighConfidenceSpamQuarantineTag - ) -} -function New-HostedContentFilterRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Int32] - $Priority, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object[]] - $SentToMemberOf, - - [Parameter()] - [System.Object] - $HostedContentFilterPolicy, - - [Parameter()] - [System.Object[]] - $SentTo, - - [Parameter()] - [System.String] - $Comments, - - [Parameter()] - [System.Object[]] - $RecipientDomainIs, - - [Parameter()] - [System.Object[]] - $ExceptIfRecipientDomainIs, - - [Parameter()] - [System.Object[]] - $ExceptIfSentTo, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object[]] - $ExceptIfSentToMemberOf, - - [Parameter()] - [System.Boolean] - $Enabled - ) -} -function New-HostedOutboundSpamFilterPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $RecommendedPolicyType, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.String] - $AdminDisplayName, - - [Parameter()] - [System.Object] - $BccSuspiciousOutboundAdditionalRecipients, - - [Parameter()] - [System.Object] - $NotifyOutboundSpamRecipients, - - [Parameter()] - [System.UInt32] - $RecipientLimitPerDay, - - [Parameter()] - [System.Object] - $ActionWhenThresholdReached, - - [Parameter()] - [System.Object] - $AutoForwardingMode, - - [Parameter()] - [System.Boolean] - $NotifyOutboundSpam, - - [Parameter()] - [System.Boolean] - $BccSuspiciousOutboundMail, - - [Parameter()] - [System.UInt32] - $RecipientLimitInternalPerHour, - - [Parameter()] - [System.UInt32] - $RecipientLimitExternalPerHour - ) -} -function New-HostedOutboundSpamFilterRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Int32] - $Priority, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object[]] - $ExceptIfFromMemberOf, - - [Parameter()] - [System.Object[]] - $ExceptIfFrom, - - [Parameter()] - [System.Object[]] - $ExceptIfSenderDomainIs, - - [Parameter()] - [System.String] - $Comments, - - [Parameter()] - [System.Object[]] - $FromMemberOf, - - [Parameter()] - [System.Object[]] - $SenderDomainIs, - - [Parameter()] - [System.Object] - $HostedOutboundSpamFilterPolicy, - - [Parameter()] - [System.Object[]] - $From, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Boolean] - $Enabled - ) -} -function New-InboundConnector -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Boolean] - $RestrictDomainsToIPAddresses, - - [Parameter()] - [System.Boolean] - $CloudServicesMailEnabled, - - [Parameter()] - [System.Boolean] - $Enabled, - - [Parameter()] - [System.Object] - $EFSkipMailGateway, - - [Parameter()] - [System.Boolean] - $EFTestMode, - - [Parameter()] - [System.Object] - $TrustedOrganizations, - - [Parameter()] - [System.Object] - $TlsSenderCertificateName, - - [Parameter()] - [System.Object] - $ScanAndDropRecipients, - - [Parameter()] - [System.Object] - $AssociatedAcceptedDomains, - - [Parameter()] - [System.String] - $Comment, - - [Parameter()] - [System.Boolean] - $RequireTls, - - [Parameter()] - [System.Object] - $SenderDomains, - - [Parameter()] - [System.Object] - $SenderIPAddresses, - - [Parameter()] - [System.Boolean] - $EFSkipLastIP, - - [Parameter()] - [System.Object] - $EFUsers, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $ConnectorType, - - [Parameter()] - [System.Boolean] - $RestrictDomainsToCertificate, - - [Parameter()] - [System.Object] - $EFSkipIPs, - - [Parameter()] - [System.Boolean] - $TreatMessagesAsInternal, - - [Parameter()] - [System.Object] - $ConnectorSource, - - [Parameter()] - [System.String] - $Name - ) -} -function New-IntraOrganizationConnector -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object] - $TargetAddressDomains, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Uri] - $TargetSharingEpr, - - [Parameter()] - [System.Uri] - $DiscoveryEndpoint, - - [Parameter()] - [System.Boolean] - $Enabled - ) -} -function New-JournalRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object] - $Scope, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $JournalEmailAddress, - - [Parameter()] - [System.Object] - $Recipient, - - [Parameter()] - [System.Boolean] - $Enabled - ) -} -function New-Mailbox -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $MailboxRegion, - - [Parameter()] - [System.Object] - $ModeratedBy, - - [Parameter()] - [System.Boolean] - $ModerationEnabled, - - [Parameter()] - [System.String] - $Office, - - [Parameter()] - [System.String] - $DisplayName, - - [Parameter()] - [System.Security.SecureString] - $Password, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object] - $RemovedMailbox, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $PublicFolder, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force, - - [Parameter()] - [System.String] - $LastName, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $TargetAllMDBs, - - [Parameter()] - [System.Object] - $RoleAssignmentPolicy, - - [Parameter()] - [System.Object] - $ResourceCapacity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Archive, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Equipment, - - [Parameter()] - [System.String] - $ImmutableId, - - [Parameter()] - [System.Security.SecureString] - $RoomMailboxPassword, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Shared, - - [Parameter()] - [System.Boolean] - $IsExcludedFromServingHierarchy, - - [Parameter()] - [System.Object] - $MailboxPlan, - - [Parameter()] - [System.Object] - $MicrosoftOnlineServicesID, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Migration, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Room, - - [Parameter()] - [System.String] - $Initials, - - [Parameter()] - [System.Object] - $InactiveMailbox, - - [Parameter()] - [System.String] - $FederatedIdentity, - - [Parameter()] - [System.Object] - $ActiveSyncMailboxPolicy, - - [Parameter()] - [System.Object] - $OrganizationalUnit, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $HoldForMigration, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Discovery, - - [Parameter()] - [System.Boolean] - $ResetPasswordOnNextLogon, - - [Parameter()] - [System.Boolean] - $EnableRoomMailboxAccount, - - [Parameter()] - [System.String] - $FirstName, - - [Parameter()] - [System.String] - $Phone, - - [Parameter()] - [System.Object] - $PrimarySmtpAddress, - - [Parameter()] - [System.Object] - $SendModerationNotifications, - - [Parameter()] - [System.String] - $Alias, - - [Parameter()] - [System.Boolean] - $RemotePowerShellEnabled - ) -} -function New-MailContact -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $ModeratedBy, - - [Parameter()] - [System.Boolean] - $ModerationEnabled, - - [Parameter()] - [System.Object] - $MacAttachmentFormat, - - [Parameter()] - [System.String] - $DisplayName, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.String] - $LastName, - - [Parameter()] - [System.Boolean] - $UsePreferMessageFormat, - - [Parameter()] - [System.Object] - $MessageBodyFormat, - - [Parameter()] - [System.String] - $Initials, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $ExternalEmailAddress, - - [Parameter()] - [System.String] - $Alias, - - [Parameter()] - [System.Object] - $MessageFormat, - - [Parameter()] - [System.String] - $FirstName, - - [Parameter()] - [System.Object] - $SendModerationNotifications, - - [Parameter()] - [System.Object] - $OrganizationalUnit - ) -} -function New-MalwareFilterPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $CustomFromName, - - [Parameter()] - [System.String] - $AdminDisplayName, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.String] - $CustomExternalBody, - - [Parameter()] - [System.String] - $QuarantineTag, - - [Parameter()] - [System.Boolean] - $CustomNotifications, - - [Parameter()] - [System.Boolean] - $EnableExternalSenderAdminNotifications, - - [Parameter()] - [System.Object] - $InternalSenderAdminAddress, - - [Parameter()] - [System.String[]] - $FileTypes, - - [Parameter()] - [System.Boolean] - $EnableInternalSenderAdminNotifications, - - [Parameter()] - [System.Object] - $CustomFromAddress, - - [Parameter()] - [System.String] - $CustomExternalSubject, - - [Parameter()] - [System.Boolean] - $ZapEnabled, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $ExternalSenderAdminAddress, - - [Parameter()] - [System.Object] - $RecommendedPolicyType, - - [Parameter()] - [System.Object] - $FileTypeAction, - - [Parameter()] - [System.String] - $CustomInternalSubject, - - [Parameter()] - [System.String] - $CustomInternalBody, - - [Parameter()] - [System.Boolean] - $EnableFileFilter - ) -} -function New-MalwareFilterRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Int32] - $Priority, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object[]] - $SentToMemberOf, - - [Parameter()] - [System.Object[]] - $SentTo, - - [Parameter()] - [System.String] - $Comments, - - [Parameter()] - [System.Object[]] - $RecipientDomainIs, - - [Parameter()] - [System.Object[]] - $ExceptIfRecipientDomainIs, - - [Parameter()] - [System.Object] - $MalwareFilterPolicy, - - [Parameter()] - [System.Object[]] - $ExceptIfSentTo, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object[]] - $ExceptIfSentToMemberOf, - - [Parameter()] - [System.Boolean] - $Enabled - ) -} -function New-ManagementRole -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $Description, - - [Parameter()] - [System.String[]] - $EnabledCmdlets, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Parent, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force - ) -} -function New-ManagementRoleAssignment -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $CustomRecipientWriteScope, - - [Parameter()] - [System.Object] - $RecipientGroupScope, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force, - - [Parameter()] - [System.Object] - $RecipientAdministrativeUnitScope, - - [Parameter()] - [System.Object] - $SecurityGroup, - - [Parameter()] - [System.Object] - $ExclusiveRecipientWriteScope, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Delegating, - - [Parameter()] - [System.Object] - $User, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $App, - - [Parameter()] - [System.Object] - $Role, - - [Parameter()] - [System.Object] - $CustomResourceScope, - - [Parameter()] - [System.Object] - $Policy, - - [Parameter()] - [System.Object] - $RecipientOrganizationalUnitScope, - - [Parameter()] - [System.Object] - $RecipientRelativeWriteScope - ) -} -function New-MessageClassification -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $SenderDescription, - - [Parameter()] - [System.String] - $DisplayName, - - [Parameter()] - [System.String] - $RecipientDescription, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Globalization.CultureInfo] - $Locale, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Boolean] - $PermissionMenuVisible, - - [Parameter()] - [System.Guid] - $ClassificationID, - - [Parameter()] - [System.Object] - $DisplayPrecedence, - - [Parameter()] - [System.Boolean] - $RetainClassificationEnabled - ) -} -function New-MobileDeviceMailboxPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Boolean] - $AllowMicrosoftPushNotifications, - - [Parameter()] - [System.Boolean] - $AllowUnsignedApplications, - - [Parameter()] - [System.Boolean] - $AllowUnsignedInstallationPackages, - - [Parameter()] - [System.Boolean] - $AllowExternalDeviceManagement, - - [Parameter()] - [System.Boolean] - $AllowIrDA, - - [Parameter()] - [System.Boolean] - $RequireSignedSMIMEMessages, - - [Parameter()] - [System.Boolean] - $AllowStorageCard, - - [Parameter()] - [System.Int32] - $PasswordHistory, - - [Parameter()] - [System.Boolean] - $AllowNonProvisionableDevices, - - [Parameter()] - [System.Object] - $UnapprovedInROMApplicationList, - - [Parameter()] - [System.Boolean] - $RequireEncryptedSMIMEMessages, - - [Parameter()] - [System.Boolean] - $RequireDeviceEncryption, - - [Parameter()] - [System.Boolean] - $AllowInternetSharing, - - [Parameter()] - [System.Boolean] - $PasswordEnabled, - - [Parameter()] - [System.Object] - $RequireSignedSMIMEAlgorithm, - - [Parameter()] - [System.Object] - $MaxEmailHTMLBodyTruncationSize, - - [Parameter()] - [System.Int32] - $MinPasswordComplexCharacters, - - [Parameter()] - [System.Boolean] - $UNCAccessEnabled, - - [Parameter()] - [System.Boolean] - $AllowCamera, - - [Parameter()] - [System.Boolean] - $IrmEnabled, - - [Parameter()] - [System.Object] - $PasswordExpiration, - - [Parameter()] - [System.Boolean] - $AllowBrowser, - - [Parameter()] - [System.Object] - $MaxEmailAgeFilter, - - [Parameter()] - [System.Boolean] - $RequireManualSyncWhenRoaming, - - [Parameter()] - [System.Boolean] - $AlphanumericPasswordRequired, - - [Parameter()] - [System.Object] - $AllowSMIMEEncryptionAlgorithmNegotiation, - - [Parameter()] - [System.Object] - $MaxEmailBodyTruncationSize, - - [Parameter()] - [System.Object] - $AllowBluetooth, - - [Parameter()] - [System.Boolean] - $WSSAccessEnabled, - - [Parameter()] - [System.Object] - $RequireEncryptionSMIMEAlgorithm, - - [Parameter()] - [System.Object] - $DevicePolicyRefreshInterval, - - [Parameter()] - [System.Boolean] - $AllowGooglePushNotifications, - - [Parameter()] - [System.Boolean] - $AllowMobileOTAUpdate, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object] - $MaxAttachmentSize, - - [Parameter()] - [System.Boolean] - $AllowSimplePassword, - - [Parameter()] - [System.Boolean] - $AllowConsumerEmail, - - [Parameter()] - [System.Boolean] - $AllowDesktopSync, - - [Parameter()] - [System.Boolean] - $PasswordRecoveryEnabled, - - [Parameter()] - [System.Boolean] - $RequireStorageCardEncryption, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Boolean] - $AllowSMIMESoftCerts, - - [Parameter()] - [System.Boolean] - $AllowRemoteDesktop, - - [Parameter()] - [System.Boolean] - $AttachmentsEnabled, - - [Parameter()] - [System.Object] - $MaxCalendarAgeFilter, - - [Parameter()] - [System.Boolean] - $AllowWiFi, - - [Parameter()] - [System.Boolean] - $AllowApplePushNotifications, - - [Parameter()] - [System.Boolean] - $AllowPOPIMAPEmail, - - [Parameter()] - [System.Boolean] - $IsDefault, - - [Parameter()] - [System.Object] - $MaxInactivityTimeLock, - - [Parameter()] - [System.Object] - $ApprovedApplicationList, - - [Parameter()] - [System.Boolean] - $AllowTextMessaging, - - [Parameter()] - [System.Object] - $MaxPasswordFailedAttempts, - - [Parameter()] - [System.Boolean] - $DeviceEncryptionEnabled, - - [Parameter()] - [System.Object] - $MinPasswordLength, - - [Parameter()] - [System.Boolean] - $AllowHTMLEmail - ) -} -function New-OfflineAddressBook -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $DiffRetentionPeriod, - - [Parameter()] - [System.Object[]] - $AddressLists, - - [Parameter()] - [System.Boolean] - $IsDefault - ) -} -function New-OnPremisesOrganization -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $InboundConnector, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object] - $OutboundConnector, - - [Parameter()] - [System.String] - $OrganizationName, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.String] - $Comment, - - [Parameter()] - [System.Guid] - $OrganizationGuid, - - [Parameter()] - [System.Object] - $OrganizationRelationship, - - [Parameter()] - [System.Object] - $HybridDomains - ) -} -function New-OrganizationRelationship -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $MailTipsAccessLevel, - - [Parameter()] - [System.Uri] - $TargetAutodiscoverEpr, - - [Parameter()] - [System.Boolean] - $Enabled, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object] - $FreeBusyAccessScope, - - [Parameter()] - [System.Boolean] - $DeliveryReportEnabled, - - [Parameter()] - [System.String] - $OAuthApplicationId, - - [Parameter()] - [System.Boolean] - $MailTipsAccessEnabled, - - [Parameter()] - [System.Object] - $OrganizationContact, - - [Parameter()] - [System.Boolean] - $ArchiveAccessEnabled, - - [Parameter()] - [System.Boolean] - $FreeBusyAccessEnabled, - - [Parameter()] - [System.Object] - $MailTipsAccessScope, - - [Parameter()] - [System.Uri] - $TargetOwaURL, - - [Parameter()] - [System.Uri] - $TargetApplicationUri, - - [Parameter()] - [System.Boolean] - $PhotosEnabled, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $MailboxMovePublishedScopes, - - [Parameter()] - [System.Boolean] - $MailboxMoveEnabled, - - [Parameter()] - [System.Object] - $MailboxMoveCapability, - - [Parameter()] - [System.Uri] - $TargetSharingEpr, - - [Parameter()] - [System.Object] - $FreeBusyAccessLevel, - - [Parameter()] - [System.Object] - $DomainNames - ) -} -function New-OutboundConnector -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Boolean] - $RouteAllMessagesViaOnPremises, - - [Parameter()] - [System.Object] - $RecipientDomains, - - [Parameter()] - [System.Boolean] - $CloudServicesMailEnabled, - - [Parameter()] - [System.Boolean] - $Enabled, - - [Parameter()] - [System.Guid] - $LinkForModifiedConnector, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Boolean] - $AllAcceptedDomains, - - [Parameter()] - [System.Object] - $TlsDomain, - - [Parameter()] - [System.String] - $Comment, - - [Parameter()] - [System.Boolean] - $IsTransportRuleScoped, - - [Parameter()] - [System.Boolean] - $UseMXRecord, - - [Parameter()] - [System.Object] - $TlsSettings, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $ConnectorType, - - [Parameter()] - [System.Object] - $SmartHosts, - - [Parameter()] - [System.Boolean] - $SenderRewritingEnabled, - - [Parameter()] - [System.Boolean] - $TestMode, - - [Parameter()] - [System.Object] - $ConnectorSource - ) -} -function New-OwaMailboxPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $IsDefault - ) -} -function New-PartnerApplication -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $ApplicationIdentifier, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object] - $LinkedAccount, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Boolean] - $AcceptSecurityIdentifierInformation, - - [Parameter()] - [System.Object] - $AccountType, - - [Parameter()] - [System.Boolean] - $Enabled - ) -} -function New-PolicyTipConfig -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $Value, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm - ) -} -function New-QuarantinePolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $MultiLanguageCustomDisclaimer, - - [Parameter()] - [System.Object] - $AdminNotificationLanguage, - - [Parameter()] - [System.String] - $EndUserSpamNotificationCustomFromAddress, - - [Parameter()] - [System.String] - $AdminDisplayName, - - [Parameter()] - [System.Int32] - $EndUserSpamNotificationFrequencyInDays, - - [Parameter()] - [System.String] - $CustomDisclaimer, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Int32] - $EndUserQuarantinePermissionsValue, - - [Parameter()] - [System.Boolean] - $ESNEnabled, - - [Parameter()] - [System.Object] - $EndUserQuarantinePermissions, - - [Parameter()] - [System.Boolean] - $AdminNotificationsEnabled, - - [Parameter()] - [System.Object] - $EndUserSpamNotificationLanguage, - - [Parameter()] - [System.Object] - $DomainController, - - [Parameter()] - [System.Object] - $MultiLanguageSenderName, - - [Parameter()] - [System.Object] - $AdminQuarantinePermissionsList, - - [Parameter()] - [System.Object] - $MultiLanguageSetting, - - [Parameter()] - [System.TimeSpan] - $EndUserSpamNotificationFrequency, - - [Parameter()] - [System.Int32] - $QuarantineRetentionDays, - - [Parameter()] - [System.Object] - $EsnCustomSubject, - - [Parameter()] - [System.Boolean] - $OrganizationBrandingEnabled, - - [Parameter()] - [System.Int32] - $AdminNotificationFrequencyInDays, - - [Parameter()] - [System.Object] - $QuarantinePolicyType - ) -} -function New-RemoteDomain -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $DomainName - ) -} -function New-RoleAssignmentPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $Description, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object[]] - $Roles, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $IsDefault - ) -} -function New-RoleGroup -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $Description, - - [Parameter()] - [System.Object] - $CustomRecipientWriteScope, - - [Parameter()] - [System.String] - $DisplayName, - - [Parameter()] - [System.Object] - $Members, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object[]] - $Roles, - - [Parameter()] - [System.String] - $WellKnownObject, - - [Parameter()] - [System.Object] - $ManagedBy, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force - ) -} -function New-SharingPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Domains, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Default, - - [Parameter()] - [System.Boolean] - $Enabled - ) -} -function New-TransportRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $ActivationDate, - - [Parameter()] - [System.Object[]] - $AddToRecipients, - - [Parameter()] - [System.Object] - $ApplyHtmlDisclaimerFallbackAction, - - [Parameter()] - [System.Object[]] - $ExceptIfRecipientADAttributeContainsWords, - - [Parameter()] - [System.Object] - $AttachmentSizeOver, - - [Parameter()] - [System.Object[]] - $ExceptIfSenderADAttributeContainsWords, - - [Parameter()] - [System.Object] - $SetSCL, - - [Parameter()] - [System.Object[]] - $AnyOfToHeaderMemberOf, - - [Parameter()] - [System.Boolean] - $Disconnect, - - [Parameter()] - [System.Int32] - $Priority, - - [Parameter()] - [System.Object[]] - $ExceptIfSentToMemberOf, - - [Parameter()] - [System.Object[]] - $ExceptIfAnyOfCcHeader, - - [Parameter()] - [System.Object[]] - $ExceptIfAttachmentMatchesPatterns, - - [Parameter()] - [System.Object[]] - $RecipientDomainIs, - - [Parameter()] - [System.Object] - $ManagerForEvaluatedUser, - - [Parameter()] - [System.Object[]] - $ExceptIfHeaderMatchesPatterns, - - [Parameter()] - [System.Object] - $ExceptIfFromScope, - - [Parameter()] - [System.Object] - $AdComparisonAttribute, - - [Parameter()] - [System.Object[]] - $ExceptIfAttachmentContainsWords, - - [Parameter()] - [System.Object[]] - $ExceptIfHeaderContainsWords, - - [Parameter()] - [System.Object[]] - $HeaderMatchesPatterns, - - [Parameter()] - [System.Object] - $AddManagerAsRecipientType, - - [Parameter()] - [System.Boolean] - $DeleteMessage, - - [Parameter()] - [System.Boolean] - $HasSenderOverride, - - [Parameter()] - [System.Object] - $SmtpRejectMessageRejectStatusCode, - - [Parameter()] - [System.String] - $ExceptIfHasClassification, - - [Parameter()] - [System.Boolean] - $Quarantine, - - [Parameter()] - [System.Object[]] - $ExceptIfAnyOfRecipientAddressMatchesPatterns, - - [Parameter()] - [System.Object[]] - $ExceptIfRecipientInSenderList, - - [Parameter()] - [System.Object] - $RecipientAddressType, - - [Parameter()] - [System.Object[]] - $ExceptIfContentCharacterSetContainsWords, - - [Parameter()] - [System.Object[]] - $BlindCopyTo, - - [Parameter()] - [System.Object] - $ApplyHtmlDisclaimerLocation, - - [Parameter()] - [System.Object] - $ExceptIfMessageTypeMatches, - - [Parameter()] - [System.Object] - $SenderIpRanges, - - [Parameter()] - [System.Collections.Hashtable[]] - $ExceptIfMessageContainsDataClassifications, - - [Parameter()] - [System.Object[]] - $ModerateMessageByUser, - - [Parameter()] - [System.Boolean] - $HasNoClassification, - - [Parameter()] - [System.Object[]] - $ExceptIfSenderInRecipientList, - - [Parameter()] - [System.Object] - $HeaderContainsMessageHeader, - - [Parameter()] - [System.Object] - $RemoveHeader, - - [Parameter()] - [System.String] - $HasClassification, - - [Parameter()] - [System.Collections.Hashtable[]] - $MessageContainsDataClassifications, - - [Parameter()] - [System.Object[]] - $ExceptIfFromMemberOf, - - [Parameter()] - [System.Object] - $RuleSubType, - - [Parameter()] - [System.Object[]] - $AnyOfRecipientAddressMatchesPatterns, - - [Parameter()] - [System.Object] - $SentToScope, - - [Parameter()] - [System.Object[]] - $AnyOfToCcHeaderMemberOf, - - [Parameter()] - [System.Object[]] - $From, - - [Parameter()] - [System.Object[]] - $ExceptIfAnyOfRecipientAddressContainsWords, - - [Parameter()] - [System.Object] - $ExceptIfWithImportance, - - [Parameter()] - [System.Object[]] - $ContentCharacterSetContainsWords, - - [Parameter()] - [System.Object[]] - $SubjectContainsWords, - - [Parameter()] - [System.Object] - $RejectMessageEnhancedStatusCode, - - [Parameter()] - [System.Object[]] - $SenderADAttributeMatchesPatterns, - - [Parameter()] - [System.Object[]] - $ExceptIfSenderADAttributeMatchesPatterns, - - [Parameter()] - [System.Object[]] - $IncidentReportContent, - - [Parameter()] - [System.Boolean] - $UseLegacyRegex, - - [Parameter()] - [System.Object[]] - $FromMemberOf, - - [Parameter()] - [System.Object[]] - $AttachmentContainsWords, - - [Parameter()] - [System.Object] - $ExceptIfSCLOver, - - [Parameter()] - [System.Object[]] - $ExceptIfBetweenMemberOf1, - - [Parameter()] - [System.Object] - $GenerateNotification, - - [Parameter()] - [System.Object] - $NotifySender, - - [Parameter()] - [System.Boolean] - $ExceptIfAttachmentIsPasswordProtected, - - [Parameter()] - [System.Object[]] - $ExceptIfAttachmentNameMatchesPatterns, - - [Parameter()] - [System.Object] - $ExceptIfSenderManagementRelationship, - - [Parameter()] - [System.String] - $SetAuditSeverity, - - [Parameter()] - [System.Object[]] - $AttachmentPropertyContainsWords, - - [Parameter()] - [System.Object[]] - $ExceptIfAnyOfToHeader, - - [Parameter()] - [System.Object] - $ApplyRightsProtectionCustomizationTemplate, - - [Parameter()] - [System.Object] - $SetHeaderName, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Boolean] - $RouteMessageOutboundRequireTls, - - [Parameter()] - [System.Object] - $WithImportance, - - [Parameter()] - [System.Object] - $RuleErrorAction, - - [Parameter()] - [System.Object] - $FromScope, - - [Parameter()] - [System.Object[]] - $AttachmentNameMatchesPatterns, - - [Parameter()] - [System.Object[]] - $SentTo, - - [Parameter()] - [System.Object[]] - $ExceptIfFromAddressMatchesPatterns, - - [Parameter()] - [System.Boolean] - $Enabled, - - [Parameter()] - [System.Object] - $ExceptIfAttachmentSizeOver, - - [Parameter()] - [System.Object] - $ExceptIfManagerForEvaluatedUser, - - [Parameter()] - [System.Boolean] - $RemoveOMEv2, - - [Parameter()] - [System.Object[]] - $ExceptIfFromAddressContainsWords, - - [Parameter()] - [System.Boolean] - $AttachmentHasExecutableContent, - - [Parameter()] - [System.Object] - $RouteMessageOutboundConnector, - - [Parameter()] - [System.Object[]] - $ExceptIfRecipientDomainIs, - - [Parameter()] - [System.Object[]] - $ExceptIfSenderDomainIs, - - [Parameter()] - [System.Object] - $SenderManagementRelationship, - - [Parameter()] - [System.Object[]] - $ExceptIfBetweenMemberOf2, - - [Parameter()] - [System.Object[]] - $RedirectMessageTo, - - [Parameter()] - [System.Boolean] - $ApplyOME, - - [Parameter()] - [System.Object[]] - $SenderDomainIs, - - [Parameter()] - [System.Object[]] - $SenderADAttributeContainsWords, - - [Parameter()] - [System.Object[]] - $ExceptIfAnyOfCcHeaderMemberOf, - - [Parameter()] - [System.Object] - $ApplyHtmlDisclaimerText, - - [Parameter()] - [System.Boolean] - $ExceptIfAttachmentHasExecutableContent, - - [Parameter()] - [System.Boolean] - $ExceptIfAttachmentIsUnsupported, - - [Parameter()] - [System.Boolean] - $RemoveOME, - - [Parameter()] - [System.Object] - $RejectMessageReasonText, - - [Parameter()] - [System.Object[]] - $RecipientAddressContainsWords, - - [Parameter()] - [System.Object] - $GenerateIncidentReport, - - [Parameter()] - [System.Object[]] - $FromAddressContainsWords, - - [Parameter()] - [System.Boolean] - $RemoveRMSAttachmentEncryption, - - [Parameter()] - [System.Object[]] - $RecipientAddressMatchesPatterns, - - [Parameter()] - [System.Object[]] - $ExceptIfSubjectContainsWords, - - [Parameter()] - [System.Object[]] - $ExceptIfFrom, - - [Parameter()] - [System.Object[]] - $AnyOfToCcHeader, - - [Parameter()] - [System.Object] - $ExceptIfSentToScope, - - [Parameter()] - [System.Object[]] - $ExceptIfAnyOfToCcHeaderMemberOf, - - [Parameter()] - [System.Boolean] - $ModerateMessageByManager, - - [Parameter()] - [System.Object] - $AdComparisonOperator, - - [Parameter()] - [System.Object] - $MessageSizeOver, - - [Parameter()] - [System.Object[]] - $BetweenMemberOf2, - - [Parameter()] - [System.Object[]] - $SubjectMatchesPatterns, - - [Parameter()] - [System.Boolean] - $AttachmentProcessingLimitExceeded, - - [Parameter()] - [System.Object[]] - $ExceptIfSubjectMatchesPatterns, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object[]] - $ExceptIfRecipientAddressContainsWords, - - [Parameter()] - [System.Object] - $HeaderMatchesMessageHeader, - - [Parameter()] - [System.Object[]] - $AnyOfRecipientAddressContainsWords, - - [Parameter()] - [System.Object[]] - $HeaderContainsWords, - - [Parameter()] - [System.String] - $Comments, - - [Parameter()] - [System.Object[]] - $SentToMemberOf, - - [Parameter()] - [System.Object] - $ExceptIfAdComparisonAttribute, - - [Parameter()] - [System.Object[]] - $ExceptIfSentTo, - - [Parameter()] - [System.Object] - $ExceptIfAdComparisonOperator, - - [Parameter()] - [System.Object[]] - $ExceptIfAnyOfToHeaderMemberOf, - - [Parameter()] - [System.Object] - $Mode, - - [Parameter()] - [System.Object[]] - $RecipientInSenderList, - - [Parameter()] - [System.Object[]] - $SubjectOrBodyMatchesPatterns, - - [Parameter()] - [System.Object[]] - $ExceptIfAttachmentExtensionMatchesWords, - - [Parameter()] - [System.Object[]] - $ExceptIfSubjectOrBodyMatchesPatterns, - - [Parameter()] - [System.Object[]] - $ExceptIfRecipientAddressMatchesPatterns, - - [Parameter()] - [System.Boolean] - $ExceptIfHasNoClassification, - - [Parameter()] - [System.Object] - $ExceptIfSenderIpRanges, - - [Parameter()] - [System.Object[]] - $ExceptIfRecipientADAttributeMatchesPatterns, - - [Parameter()] - [System.Object[]] - $RecipientADAttributeContainsWords, - - [Parameter()] - [System.Boolean] - $AttachmentIsUnsupported, - - [Parameter()] - [System.Object] - $ExpiryDate, - - [Parameter()] - [System.Object[]] - $AttachmentExtensionMatchesWords, - - [Parameter()] - [System.Object[]] - $ExceptIfSubjectOrBodyContainsWords, - - [Parameter()] - [System.Object] - $LogEventText, - - [Parameter()] - [System.Object[]] - $ExceptIfManagerAddresses, - - [Parameter()] - [System.Object[]] - $SenderInRecipientList, - - [Parameter()] - [System.Object[]] - $ExceptIfAnyOfToCcHeader, - - [Parameter()] - [System.Object[]] - $AttachmentMatchesPatterns, - - [Parameter()] - [System.String] - $DlpPolicy, - - [Parameter()] - [System.Object[]] - $ManagerAddresses, - - [Parameter()] - [System.Object] - $SenderAddressLocation, - - [Parameter()] - [System.Object[]] - $CopyTo, - - [Parameter()] - [System.Object[]] - $SubjectOrBodyContainsWords, - - [Parameter()] - [System.String] - $ApplyClassification, - - [Parameter()] - [System.Object[]] - $RecipientADAttributeMatchesPatterns, - - [Parameter()] - [System.Object] - $SetHeaderValue, - - [Parameter()] - [System.Boolean] - $AttachmentIsPasswordProtected, - - [Parameter()] - [System.Object[]] - $BetweenMemberOf1, - - [Parameter()] - [System.Object] - $ExceptIfMessageSizeOver, - - [Parameter()] - [System.Object[]] - $AnyOfCcHeader, - - [Parameter()] - [System.Boolean] - $ExceptIfAttachmentProcessingLimitExceeded, - - [Parameter()] - [System.Object[]] - $FromAddressMatchesPatterns, - - [Parameter()] - [System.Object] - $ExceptIfHeaderMatchesMessageHeader, - - [Parameter()] - [System.Object] - $SmtpRejectMessageRejectText, - - [Parameter()] - [System.Object[]] - $AnyOfCcHeaderMemberOf, - - [Parameter()] - [System.Object[]] - $AnyOfToHeader, - - [Parameter()] - [System.Boolean] - $ExceptIfHasSenderOverride, - - [Parameter()] - [System.Object] - $SCLOver, - - [Parameter()] - [System.Object] - $PrependSubject, - - [Parameter()] - [System.Object] - $ApplyRightsProtectionTemplate, - - [Parameter()] - [System.Object] - $MessageTypeMatches, - - [Parameter()] - [System.Object[]] - $ExceptIfAttachmentPropertyContainsWords, - - [Parameter()] - [System.Boolean] - $StopRuleProcessing, - - [Parameter()] - [System.Object] - $ExceptIfHeaderContainsMessageHeader - ) -} -function Remove-ActiveSyncDevice -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-ActiveSyncDeviceAccessRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-AddressBookPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-AddressList -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Recursive - ) -} -function Remove-AntiPhishPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force - ) -} -function Remove-AntiPhishRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-App -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Mailbox, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $OrganizationApp, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $PrivateCatalog - ) -} -function Remove-ApplicationAccessPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-AuditConfigurationPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm - ) -} -function Remove-AuthenticationPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-AvailabilityAddressSpace -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-AvailabilityConfig -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-ClientAccessRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-DataClassification -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-DistributionGroup -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $BypassSecurityGroupManagerCheck - ) -} -function Remove-EmailAddressPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-GlobalAddressList -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-HostedConnectionFilterPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-HostedContentFilterPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-HostedContentFilterRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-HostedOutboundSpamFilterPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force - ) -} -function Remove-HostedOutboundSpamFilterRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-InboundConnector -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-IntraOrganizationConnector -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-JournalRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-Mailbox -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $PublicFolder, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $PermanentlyDelete, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $RemoveCNFPublicFolderMailboxPermanently, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Migration, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force - ) -} -function Remove-MailContact -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-MalwareFilterPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-MalwareFilterRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-ManagementRole -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Recurse, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force - ) -} -function Remove-ManagementRoleAssignment -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force - ) -} -function Remove-MessageClassification -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-MobileDevice -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-MobileDeviceMailboxPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force - ) -} -function Remove-OfflineAddressBook -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force - ) -} -function Remove-OnPremisesOrganization -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-OrganizationRelationship -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-OutboundConnector -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-OwaMailboxPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force - ) -} -function Remove-PartnerApplication -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-PolicyTipConfig -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-QuarantinePolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $DomainController - ) -} -function Remove-RemoteDomain -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-RoleAssignmentPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-RoleGroup -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $BypassSecurityGroupManagerCheck, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force - ) -} -function Remove-SharingPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Remove-TransportRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Set-AcceptedDomain -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Boolean] - $EnableNego2Authentication, - - [Parameter()] - [System.Boolean] - $OutboundOnly, - - [Parameter()] - [System.Boolean] - $CanHaveCloudCache, - - [Parameter()] - [System.Boolean] - $SendingFromDomainDisabled, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Boolean] - $MatchSubDomains, - - [Parameter()] - [System.Object] - $DomainType - ) -} -function Set-ActiveSyncDeviceAccessRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $AccessLevel - ) -} -function Set-AddressBookPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $RoomList, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $GlobalAddressList, - - [Parameter()] - [System.Object[]] - $AddressLists, - - [Parameter()] - [System.Object] - $OfflineAddressBook - ) -} -function Set-AddressList -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute8, - - [Parameter()] - [System.String] - $DisplayName, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute10, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute9, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute2, - - [Parameter()] - [System.Object] - $IncludedRecipients, - - [Parameter()] - [System.Object] - $ConditionalCompany, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute6, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute3, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute12, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute13, - - [Parameter()] - [System.String] - $RecipientFilter, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute15, - - [Parameter()] - [System.Object] - $ConditionalDepartment, - - [Parameter()] - [System.Object] - $ConditionalStateOrProvince, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute7, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute14, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute4, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute11, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute1, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute5 - ) -} -function Set-AdminAuditLogConfig -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Boolean] - $UnifiedAuditLogIngestionEnabled, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force - ) -} -function Set-AntiPhishPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Boolean] - $HonorDmarcPolicy, - - [Parameter()] - [System.Boolean] - $EnableUnauthenticatedSender, - - [Parameter()] - [System.Boolean] - $EnableSpoofIntelligence, - - [Parameter()] - [System.Boolean] - $EnableFirstContactSafetyTips, - - [Parameter()] - [System.String] - $AdminDisplayName, - - [Parameter()] - [System.String] - $SpoofQuarantineTag, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Boolean] - $EnableViaTag, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Boolean] - $Enabled, - - [Parameter()] - [System.Object] - $AuthenticationFailAction, - - [Parameter()] - [System.Object] - $DmarcQuarantineAction, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $MakeDefault, - - [Parameter()] - [System.Object] - $DmarcRejectAction - ) -} -function Set-AntiPhishRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Int32] - $Priority, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object[]] - $SentToMemberOf, - - [Parameter()] - [System.Object] - $AntiPhishPolicy, - - [Parameter()] - [System.Object[]] - $SentTo, - - [Parameter()] - [System.String] - $Comments, - - [Parameter()] - [System.Object[]] - $RecipientDomainIs, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object[]] - $ExceptIfRecipientDomainIs, - - [Parameter()] - [System.Object[]] - $ExceptIfSentTo, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object[]] - $ExceptIfSentToMemberOf - ) -} -function Set-App -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $UserList, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $PrivateCatalog, - - [Parameter()] - [System.Object] - $DefaultStateForUser, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $OrganizationApp, - - [Parameter()] - [System.Object] - $ProvidedTo, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Boolean] - $Enabled - ) -} -function Set-ApplicationAccessPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $Description, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Set-AuthenticationPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowBasicAuthPop, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowBasicAuthSmtp, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowBasicAuthMapi, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowBasicAuthImap, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowBasicAuthAutodiscover, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowBasicAuthPowershell, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowBasicAuthRpc, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowBasicAuthOfflineAddressBook, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowBasicAuthReportingWebServices, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowBasicAuthOutlookService, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowBasicAuthActiveSync, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowBasicAuthWebServices - ) -} -function Set-AvailabilityConfig -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $OrgWideAccount, - - [Parameter()] - [System.Object] - $AllowedTenantIds - ) -} -function Set-CalendarProcessing -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Int32] - $MaximumConflictInstances, - - [Parameter()] - [System.Object] - $BookingType, - - [Parameter()] - [System.Boolean] - $ForwardRequestsToDelegates, - - [Parameter()] - [System.Boolean] - $RemoveCanceledMeetings, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object[]] - $ResourceDelegates, - - [Parameter()] - [System.Boolean] - $DeleteNonCalendarItems, - - [Parameter()] - [System.Boolean] - $RemovePrivateProperty, - - [Parameter()] - [System.Boolean] - $DeleteComments, - - [Parameter()] - [System.Boolean] - $EnforceSchedulingHorizon, - - [Parameter()] - [System.Boolean] - $EnableResponseDetails, - - [Parameter()] - [System.Object[]] - $RequestInPolicy, - - [Parameter()] - [System.Boolean] - $EnforceCapacity, - - [Parameter()] - [System.Boolean] - $AllowConflicts, - - [Parameter()] - [System.Boolean] - $AllRequestInPolicy, - - [Parameter()] - [System.Boolean] - $AddOrganizerToSubject, - - [Parameter()] - [System.Object[]] - $BookInPolicy, - - [Parameter()] - [System.Int32] - $ConflictPercentageAllowed, - - [Parameter()] - [System.Object] - $AutomateProcessing, - - [Parameter()] - [System.Boolean] - $AllRequestOutOfPolicy, - - [Parameter()] - [System.Boolean] - $AddNewRequestsTentatively, - - [Parameter()] - [System.Boolean] - $EnableAutoRelease, - - [Parameter()] - [System.Int32] - $PostReservationMaxClaimTimeInMinutes, - - [Parameter()] - [System.Boolean] - $AllBookInPolicy, - - [Parameter()] - [System.Boolean] - $ProcessExternalMeetingMessages, - - [Parameter()] - [System.Boolean] - $DeleteAttachments, - - [Parameter()] - [System.Boolean] - $ScheduleOnlyDuringWorkHours, - - [Parameter()] - [System.String] - $AdditionalResponse, - - [Parameter()] - [System.Boolean] - $TentativePendingApproval, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Int32] - $MaximumDurationInMinutes, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $IgnoreDefaultScope, - - [Parameter()] - [System.Object[]] - $RequestOutOfPolicy, - - [Parameter()] - [System.Boolean] - $RemoveOldMeetingMessages, - - [Parameter()] - [System.Boolean] - $OrganizerInfo, - - [Parameter()] - [System.Int32] - $MinimumDurationInMinutes, - - [Parameter()] - [System.Boolean] - $AddAdditionalResponse, - - [Parameter()] - [System.Boolean] - $RemoveForwardedMeetingNotifications, - - [Parameter()] - [System.Int32] - $BookingWindowInDays, - - [Parameter()] - [System.Boolean] - $AllowRecurringMeetings, - - [Parameter()] - [System.Boolean] - $DeleteSubject - ) -} -function Set-CASMailbox -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Boolean] - $IsOptimizedForAccessibility, - - [Parameter()] - [System.Boolean] - $ImapEnabled, - - [Parameter()] - [System.Boolean] - $ImapSuppressReadReceipt, - - [Parameter()] - [System.Boolean] - $ActiveSyncSuppressReadReceipt, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $EwsBlockList, - - [Parameter()] - [System.Object] - $EwsAllowEntourage, - - [Parameter()] - [System.Object] - $OwaMailboxPolicy, - - [Parameter()] - [System.Boolean] - $PopUseProtocolDefaults, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $SmtpClientAuthenticationDisabled, - - [Parameter()] - [System.Boolean] - $PopForceICalForCalendarRetrievalOption, - - [Parameter()] - [System.Boolean] - $ImapForceICalForCalendarRetrievalOption, - - [Parameter()] - [System.Boolean] - $ShowGalAsDefaultView, - - [Parameter()] - [System.Object] - $ActiveSyncBlockedDeviceIDs, - - [Parameter()] - [System.Boolean] - $MAPIEnabled, - - [Parameter()] - [System.Object] - $EwsAllowOutlook, - - [Parameter()] - [System.Boolean] - $PopEnabled, - - [Parameter()] - [System.Object] - $ActiveSyncAllowedDeviceIDs, - - [Parameter()] - [System.Object] - $EwsEnabled, - - [Parameter()] - [System.Object] - $OutlookMobileEnabled, - - [Parameter()] - [System.Object] - $EwsAllowMacOutlook, - - [Parameter()] - [System.Object] - $EwsApplicationAccessPolicy, - - [Parameter()] - [System.Object] - $OneWinNativeOutlookEnabled, - - [Parameter()] - [System.Boolean] - $OWAEnabled, - - [Parameter()] - [System.Boolean] - $PublicFolderClientAccess, - - [Parameter()] - [System.Object] - $ActiveSyncMailboxPolicy, - - [Parameter()] - [System.Object] - $UniversalOutlookEnabled, - - [Parameter()] - [System.Boolean] - $ImapUseProtocolDefaults, - - [Parameter()] - [System.Boolean] - $ActiveSyncDebugLogging, - - [Parameter()] - [System.Boolean] - $OWAforDevicesEnabled, - - [Parameter()] - [System.Object] - $ImapMessagesRetrievalMimeFormat, - - [Parameter()] - [System.Boolean] - $ActiveSyncEnabled, - - [Parameter()] - [System.Object] - $MacOutlookEnabled, - - [Parameter()] - [System.Boolean] - $PopSuppressReadReceipt, - - [Parameter()] - [System.Object] - $EwsAllowList, - - [Parameter()] - [System.Object] - $PopMessagesRetrievalMimeFormat - ) -} -function set-CASMailboxPlan -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Boolean] - $ImapEnabled, - - [Parameter()] - [System.Object] - $OwaMailboxPolicy, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Boolean] - $PopEnabled, - - [Parameter()] - [System.Boolean] - $ActiveSyncEnabled - ) -} -function Set-ClientAccessRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $UsernameMatchesAnyOfPatterns, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $Action, - - [Parameter()] - [System.Object] - $AnyOfClientIPAddressesOrRanges, - - [Parameter()] - [System.Boolean] - $Enabled, - - [Parameter()] - [System.Object] - $ExceptAnyOfClientIPAddressesOrRanges, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.String] - $UserRecipientFilter, - - [Parameter()] - [System.Object] - $ExceptAnyOfProtocols, - - [Parameter()] - [System.Object] - $AnyOfProtocols, - - [Parameter()] - [System.Int32] - $Priority, - - [Parameter()] - [System.Object] - $ExceptUsernameMatchesAnyOfPatterns, - - [Parameter()] - [System.Object] - $AnyOfAuthenticationTypes, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $ExceptAnyOfAuthenticationTypes, - - [Parameter()] - [System.Object] - $Scope - ) -} -function Set-DataClassification -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $Description, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Globalization.CultureInfo] - $Locale, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Fingerprints, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $IsDefault - ) -} -function Set-DataEncryptionPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $DomainController, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $PermanentDataPurgeRequested, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.String] - $PermanentDataPurgeReason, - - [Parameter()] - [System.Boolean] - $Enabled, - - [Parameter()] - [System.String] - $PermanentDataPurgeContact, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force - ) -} -function Set-DistributionGroup -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $EmailAddresses, - - [Parameter()] - [System.Object] - $RejectMessagesFromDLMembers, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $RoomList, - - [Parameter()] - [System.Object] - $AcceptMessagesOnlyFromSendersOrMembers, - - [Parameter()] - [System.String] - $CustomAttribute10, - - [Parameter()] - [System.Object] - $ExtensionCustomAttribute5, - - [Parameter()] - [System.String] - $CustomAttribute8, - - [Parameter()] - [System.String] - $CustomAttribute5, - - [Parameter()] - [System.Boolean] - $BccBlocked, - - [Parameter()] - [System.Object] - $AcceptMessagesOnlyFromDLMembers, - - [Parameter()] - [System.String] - $SimpleDisplayName, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $IgnoreNamingPolicy, - - [Parameter()] - [System.Boolean] - $ReportToManagerEnabled, - - [Parameter()] - [System.String] - $MailTip, - - [Parameter()] - [System.Object] - $ModeratedBy, - - [Parameter()] - [System.Object] - $GrantSendOnBehalfTo, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $ResetMigrationToUnifiedGroup, - - [Parameter()] - [System.Object] - $AcceptMessagesOnlyFrom, - - [Parameter()] - [System.Boolean] - $BypassNestedModerationEnabled, - - [Parameter()] - [System.Boolean] - $ModerationEnabled, - - [Parameter()] - [System.Object] - $MemberDepartRestriction, - - [Parameter()] - [System.Object] - $ExtensionCustomAttribute4, - - [Parameter()] - [System.String] - $CustomAttribute15, - - [Parameter()] - [System.Object] - $RejectMessagesFromSendersOrMembers, - - [Parameter()] - [System.Object] - $WindowsEmailAddress, - - [Parameter()] - [System.String] - $Alias, - - [Parameter()] - [System.String] - $DisplayName, - - [Parameter()] - [System.Boolean] - $ReportToOriginatorEnabled, - - [Parameter()] - [System.Object] - $BypassModerationFromSendersOrMembers, - - [Parameter()] - [System.Object] - $RejectMessagesFrom, - - [Parameter()] - [System.String] - $CustomAttribute1, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $ForceUpgrade, - - [Parameter()] - [System.Object] - $ManagedBy, - - [Parameter()] - [System.Object] - $Description, - - [Parameter()] - [System.Object] - $ExtensionCustomAttribute1, - - [Parameter()] - [System.String] - $CustomAttribute14, - - [Parameter()] - [System.Boolean] - $RequireSenderAuthenticationEnabled, - - [Parameter()] - [System.String] - $CustomAttribute9, - - [Parameter()] - [System.String] - $CustomAttribute6, - - [Parameter()] - [System.Boolean] - $SendOofMessageToOriginatorEnabled, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $BypassSecurityGroupManagerCheck, - - [Parameter()] - [System.Object] - $ExtensionCustomAttribute2, - - [Parameter()] - [System.String] - $CustomAttribute13, - - [Parameter()] - [System.String] - $CustomAttribute2, - - [Parameter()] - [System.Object] - $PrimarySmtpAddress, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $SendModerationNotifications, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $HiddenGroupMembershipEnabled, - - [Parameter()] - [System.Object] - $MemberJoinRestriction, - - [Parameter()] - [System.Boolean] - $HiddenFromAddressListsEnabled, - - [Parameter()] - [System.Object] - $MailTipTranslations, - - [Parameter()] - [System.String] - $CustomAttribute7, - - [Parameter()] - [System.String] - $CustomAttribute4, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object] - $ExtensionCustomAttribute3, - - [Parameter()] - [System.String] - $CustomAttribute12, - - [Parameter()] - [System.String] - $CustomAttribute3, - - [Parameter()] - [System.String] - $CustomAttribute11, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Set-DkimSigningConfig -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $AdminDisplayName, - - [Parameter()] - [System.Object] - $BodyCanonicalization, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $PublishTxtRecords, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Boolean] - $Enabled, - - [Parameter()] - [System.Object] - $HeaderCanonicalization - ) -} -function Set-EmailAddressPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Priority, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object] - $EnabledEmailAddressTemplates, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $ForceUpgrade, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.String] - $EnabledPrimarySMTPAddressTemplate, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Set-GlobalAddressList -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute8, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute10, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute9, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute2, - - [Parameter()] - [System.Object] - $IncludedRecipients, - - [Parameter()] - [System.Object] - $ConditionalCompany, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute6, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute3, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute12, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute13, - - [Parameter()] - [System.String] - $RecipientFilter, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute15, - - [Parameter()] - [System.Object] - $ConditionalDepartment, - - [Parameter()] - [System.Object] - $ConditionalStateOrProvince, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute7, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute14, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute4, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute1, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute5, - - [Parameter()] - [System.Object] - $ConditionalCustomAttribute11 - ) -} -function Set-HostedConnectionFilterPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $ConfigurationXmlRaw, - - [Parameter()] - [System.String] - $AdminDisplayName, - - [Parameter()] - [System.Boolean] - $EnableSafeList, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $IPBlockList, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $IPAllowList, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $MakeDefault - ) -} -function Set-HostedContentFilterPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Boolean] - $InlineSafetyTipsEnabled, - - [Parameter()] - [System.Object] - $RegionBlockList, - - [Parameter()] - [System.String] - $HighConfidencePhishQuarantineTag, - - [Parameter()] - [System.Int32] - $EndUserSpamNotificationFrequency, - - [Parameter()] - [System.Int32] - $QuarantineRetentionPeriod, - - [Parameter()] - [System.Int32] - $EndUserSpamNotificationLimit, - - [Parameter()] - [System.Int32] - $BulkThreshold, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $MakeDefault, - - [Parameter()] - [System.Object] - $TestModeBccToRecipients, - - [Parameter()] - [System.String] - $PhishQuarantineTag, - - [Parameter()] - [System.String] - $AddXHeaderValue, - - [Parameter()] - [System.Object] - $MarkAsSpamEmbedTagsInHtml, - - [Parameter()] - [System.Object] - $MarkAsSpamFramesInHtml, - - [Parameter()] - [System.Object] - $IncreaseScoreWithImageLinks, - - [Parameter()] - [System.Boolean] - $EnableLanguageBlockList, - - [Parameter()] - [System.Object] - $PhishSpamAction, - - [Parameter()] - [System.String] - $EndUserSpamNotificationCustomFromName, - - [Parameter()] - [System.Object] - $MarkAsSpamSensitiveWordList, - - [Parameter()] - [System.String] - $SpamQuarantineTag, - - [Parameter()] - [System.Object] - $MarkAsSpamNdrBackscatter, - - [Parameter()] - [System.Object] - $BlockedSenders, - - [Parameter()] - [System.Object] - $LanguageBlockList, - - [Parameter()] - [System.Object] - $HighConfidenceSpamAction, - - [Parameter()] - [System.Object] - $AllowedSenderDomains, - - [Parameter()] - [System.Object] - $IncreaseScoreWithBizOrInfoUrls, - - [Parameter()] - [System.Object] - $MarkAsSpamWebBugsInHtml, - - [Parameter()] - [System.String] - $AdminDisplayName, - - [Parameter()] - [System.Object] - $IntraOrgFilterState, - - [Parameter()] - [System.Object] - $MarkAsSpamFromAddressAuthFail, - - [Parameter()] - [System.Object] - $MarkAsSpamEmptyMessages, - - [Parameter()] - [System.String] - $BulkQuarantineTag, - - [Parameter()] - [System.Object] - $MarkAsSpamFormTagsInHtml, - - [Parameter()] - [System.Object] - $MarkAsSpamObjectTagsInHtml, - - [Parameter()] - [System.Object] - $BulkSpamAction, - - [Parameter()] - [System.Object] - $EndUserSpamNotificationLanguage, - - [Parameter()] - [System.Object] - $IncreaseScoreWithRedirectToOtherPort, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $HighConfidencePhishAction, - - [Parameter()] - [System.Object] - $RedirectToRecipients, - - [Parameter()] - [System.Boolean] - $SpamZapEnabled, - - [Parameter()] - [System.Object] - $TestModeAction, - - [Parameter()] - [System.Boolean] - $EnableRegionBlockList, - - [Parameter()] - [System.String] - $EndUserSpamNotificationCustomSubject, - - [Parameter()] - [System.Object] - $MarkAsSpamSpfRecordHardFail, - - [Parameter()] - [System.Object] - $EndUserSpamNotificationCustomFromAddress, - - [Parameter()] - [System.Boolean] - $DownloadLink, - - [Parameter()] - [System.Object] - $SpamAction, - - [Parameter()] - [System.String] - $ModifySubjectValue, - - [Parameter()] - [System.Object] - $IncreaseScoreWithNumericIps, - - [Parameter()] - [System.Object] - $AllowedSenders, - - [Parameter()] - [System.Object] - $MarkAsSpamJavaScriptInHtml, - - [Parameter()] - [System.Object] - $MarkAsSpamBulkMail, - - [Parameter()] - [System.Object] - $BlockedSenderDomains, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Boolean] - $PhishZapEnabled, - - [Parameter()] - [System.Boolean] - $EnableEndUserSpamNotifications, - - [Parameter()] - [System.String] - $HighConfidenceSpamQuarantineTag - ) -} -function Set-HostedContentFilterRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Int32] - $Priority, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object[]] - $SentToMemberOf, - - [Parameter()] - [System.Object] - $HostedContentFilterPolicy, - - [Parameter()] - [System.Object[]] - $SentTo, - - [Parameter()] - [System.String] - $Comments, - - [Parameter()] - [System.Object[]] - $RecipientDomainIs, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object[]] - $ExceptIfRecipientDomainIs, - - [Parameter()] - [System.Object[]] - $ExceptIfSentTo, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object[]] - $ExceptIfSentToMemberOf - ) -} -function Set-HostedOutboundSpamFilterPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $AdminDisplayName, - - [Parameter()] - [System.Object] - $BccSuspiciousOutboundAdditionalRecipients, - - [Parameter()] - [System.Object] - $NotifyOutboundSpamRecipients, - - [Parameter()] - [System.UInt32] - $RecipientLimitPerDay, - - [Parameter()] - [System.Object] - $ActionWhenThresholdReached, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.UInt32] - $RecipientLimitExternalPerHour, - - [Parameter()] - [System.Object] - $AutoForwardingMode, - - [Parameter()] - [System.Boolean] - $NotifyOutboundSpam, - - [Parameter()] - [System.UInt32] - $RecipientLimitInternalPerHour, - - [Parameter()] - [System.Boolean] - $BccSuspiciousOutboundMail - ) -} -function Set-HostedOutboundSpamFilterRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Int32] - $Priority, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object[]] - $ExceptIfFromMemberOf, - - [Parameter()] - [System.Object[]] - $ExceptIfFrom, - - [Parameter()] - [System.Object[]] - $ExceptIfSenderDomainIs, - - [Parameter()] - [System.String] - $Comments, - - [Parameter()] - [System.Object[]] - $FromMemberOf, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object[]] - $SenderDomainIs, - - [Parameter()] - [System.Object] - $HostedOutboundSpamFilterPolicy, - - [Parameter()] - [System.Object[]] - $From, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm - ) -} -function Set-InboundConnector -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Boolean] - $RestrictDomainsToIPAddresses, - - [Parameter()] - [System.Boolean] - $CloudServicesMailEnabled, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Boolean] - $Enabled, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object] - $EFSkipMailGateway, - - [Parameter()] - [System.Boolean] - $EFTestMode, - - [Parameter()] - [System.Object] - $TrustedOrganizations, - - [Parameter()] - [System.Object] - $TlsSenderCertificateName, - - [Parameter()] - [System.Object] - $ScanAndDropRecipients, - - [Parameter()] - [System.Object] - $AssociatedAcceptedDomains, - - [Parameter()] - [System.String] - $Comment, - - [Parameter()] - [System.Boolean] - $RequireTls, - - [Parameter()] - [System.Object] - $SenderDomains, - - [Parameter()] - [System.Object] - $SenderIPAddresses, - - [Parameter()] - [System.Boolean] - $EFSkipLastIP, - - [Parameter()] - [System.Object] - $EFUsers, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $ConnectorType, - - [Parameter()] - [System.Boolean] - $RestrictDomainsToCertificate, - - [Parameter()] - [System.Object] - $EFSkipIPs, - - [Parameter()] - [System.Boolean] - $TreatMessagesAsInternal, - - [Parameter()] - [System.Object] - $ConnectorSource - ) -} -function Set-IntraOrganizationConnector -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $TargetAddressDomains, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Uri] - $DiscoveryEndpoint, - - [Parameter()] - [System.Uri] - $TargetSharingEpr, - - [Parameter()] - [System.Boolean] - $Enabled - ) -} -function Set-IRMConfiguration -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Uri] - $RMSOnlineKeySharingLocation, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $TransportDecryptionSetting, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force, - - [Parameter()] - [System.Boolean] - $AzureRMSLicensingEnabled, - - [Parameter()] - [System.Boolean] - $EnablePdfEncryption, - - [Parameter()] - [System.Boolean] - $DecryptAttachmentForEncryptOnly, - - [Parameter()] - [System.Boolean] - $RejectIfRecipientHasNoRights, - - [Parameter()] - [System.Boolean] - $SimplifiedClientAccessEncryptOnlyDisabled, - - [Parameter()] - [System.Boolean] - $InternalLicensingEnabled, - - [Parameter()] - [System.Boolean] - $EDiscoverySuperUserEnabled, - - [Parameter()] - [System.Boolean] - $JournalReportDecryptionEnabled, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Boolean] - $AutomaticServiceUpdateEnabled, - - [Parameter()] - [System.Boolean] - $SimplifiedClientAccessDoNotForwardDisabled, - - [Parameter()] - [System.Boolean] - $SearchEnabled, - - [Parameter()] - [System.Object] - $LicensingLocation, - - [Parameter()] - [System.Boolean] - $SimplifiedClientAccessEnabled - ) -} -function Set-JournalRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $JournalEmailAddress, - - [Parameter()] - [System.Object] - $Recipient, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $Scope - ) -} -function Set-Mailbox -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $EmailAddresses, - - [Parameter()] - [System.Object] - $RejectMessagesFromDLMembers, - - [Parameter()] - [System.Object] - $AuditOwner, - - [Parameter()] - [System.Object] - $AcceptMessagesOnlyFromSendersOrMembers, - - [Parameter()] - [System.Object] - $Type, - - [Parameter()] - [System.Object] - $UserCertificate, - - [Parameter()] - [System.String] - $CustomAttribute10, - - [Parameter()] - [System.Boolean] - $DeliverToMailboxAndForward, - - [Parameter()] - [System.String] - $RetentionUrl, - - [Parameter()] - [System.Object] - $ExtensionCustomAttribute5, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $RecalculateInactiveMailbox, - - [Parameter()] - [System.String] - $CustomAttribute8, - - [Parameter()] - [System.Object] - $ProhibitSendReceiveQuota, - - [Parameter()] - [System.String] - $CustomAttribute5, - - [Parameter()] - [System.Security.SecureString] - $RoomMailboxPassword, - - [Parameter()] - [System.Boolean] - $CalendarVersionStoreDisabled, - - [Parameter()] - [System.Object] - $UseDatabaseQuotaDefaults, - - [Parameter()] - [System.Boolean] - $ElcProcessingDisabled, - - [Parameter()] - [System.String[]] - $ExcludeFromOrgHolds, - - [Parameter()] - [System.String] - $MailboxRegion, - - [Parameter()] - [System.String] - $MailTip, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $GroupMailbox, - - [Parameter()] - [System.Object] - $ResourceCapacity, - - [Parameter()] - [System.Object] - $GrantSendOnBehalfTo, - - [Parameter()] - [System.Object] - $UserSMimeCertificate, - - [Parameter()] - [System.Object] - $AcceptMessagesOnlyFrom, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $RemoveDisabledArchive, - - [Parameter()] - [System.Object] - $Languages, - - [Parameter()] - [System.Object] - $JournalArchiveAddress, - - [Parameter()] - [System.Object] - $LitigationHoldDuration, - - [Parameter()] - [System.Object] - $ModeratedBy, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $ProvisionedForOfficeGraph, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $InactiveMailbox, - - [Parameter()] - [System.String] - $RetentionComment, - - [Parameter()] - [System.Object] - $MaxReceiveSize, - - [Parameter()] - [System.Boolean] - $MessageCopyForSendOnBehalfEnabled, - - [Parameter()] - [System.String] - $CustomAttribute15, - - [Parameter()] - [System.Boolean] - $LitigationHoldEnabled, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $UpdateEnforcedTimestamp, - - [Parameter()] - [System.String] - $ImmutableId, - - [Parameter()] - [System.Object] - $WindowsEmailAddress, - - [Parameter()] - [System.Boolean] - $UseDatabaseRetentionDefaults, - - [Parameter()] - [System.Boolean] - $SchedulerAssistant, - - [Parameter()] - [System.String[]] - $RemoveOrphanedHolds, - - [Parameter()] - [System.Object] - $RulesQuota, - - [Parameter()] - [System.String] - $Alias, - - [Parameter()] - [System.String] - $EnforcedTimestamps, - - [Parameter()] - [System.Object] - $RejectMessagesFromSendersOrMembers, - - [Parameter()] - [System.String] - $DisplayName, - - [Parameter()] - [System.Object] - $ResourceCustom, - - [Parameter()] - [System.Boolean] - $MessageCopyForSMTPClientSubmissionEnabled, - - [Parameter()] - [System.Object] - $BypassModerationFromSendersOrMembers, - - [Parameter()] - [System.Object] - $DefaultAuditSet, - - [Parameter()] - [System.Object] - $AcceptMessagesOnlyFromDLMembers, - - [Parameter()] - [System.String] - $CustomAttribute1, - - [Parameter()] - [System.Object] - $EmailAddressDisplayNames, - - [Parameter()] - [System.Boolean] - $CalendarRepairDisabled, - - [Parameter()] - [System.Object] - $AddressBookPolicy, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $RemoveMailboxProvisioningConstraint, - - [Parameter()] - [System.Object] - $NonCompliantDevices, - - [Parameter()] - [System.Boolean] - $ModerationEnabled, - - [Parameter()] - [System.String] - $LitigationHoldOwner, - - [Parameter()] - [System.Object] - $ProhibitSendQuota, - - [Parameter()] - [System.Boolean] - $AccountDisabled, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $ClearThrottlingPolicyAssignment, - - [Parameter()] - [System.Object] - $AuditDelegate, - - [Parameter()] - [System.String] - $CustomAttribute14, - - [Parameter()] - [System.Boolean] - $SingleItemRecoveryEnabled, - - [Parameter()] - [System.Boolean] - $RequireSenderAuthenticationEnabled, - - [Parameter()] - [System.String] - $CustomAttribute9, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.String] - $CustomAttribute6, - - [Parameter()] - [System.Object] - $ExternalOofOptions, - - [Parameter()] - [System.Object] - $ExtensionCustomAttribute4, - - [Parameter()] - [System.Object] - $LitigationHoldDate, - - [Parameter()] - [System.Boolean] - $EnableRoomMailboxAccount, - - [Parameter()] - [System.Boolean] - $HiddenFromAddressListsEnabled, - - [Parameter()] - [System.Object] - $RetainDeletedItemsFor, - - [Parameter()] - [System.Object] - $MicrosoftOnlineServicesID, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $RemoveDelayReleaseHoldApplied, - - [Parameter()] - [System.Object] - $AuditAdmin, - - [Parameter()] - [System.Object] - $ExtensionCustomAttribute2, - - [Parameter()] - [System.Object] - $DefaultPublicFolderMailbox, - - [Parameter()] - [System.Boolean] - $RetentionHoldEnabled, - - [Parameter()] - [System.String] - $CustomAttribute13, - - [Parameter()] - [System.Object] - $RetentionPolicy, - - [Parameter()] - [System.String] - $CustomAttribute2, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $RemoveDelayHoldApplied, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $AuditLogAgeLimit, - - [Parameter()] - [System.Object] - $StartDateForRetentionHold, - - [Parameter()] - [System.Object] - $SendModerationNotifications, - - [Parameter()] - [System.Object] - $EndDateForRetentionHold, - - [Parameter()] - [System.Object] - $RoleAssignmentPolicy, - - [Parameter()] - [System.Boolean] - $IsExcludedFromServingHierarchy, - - [Parameter()] - [System.String] - $Office, - - [Parameter()] - [System.Object] - $MaxSendSize, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $ApplyMandatoryProperties, - - [Parameter()] - [System.Object] - $RejectMessagesFrom, - - [Parameter()] - [System.Object] - $RecipientLimits, - - [Parameter()] - [System.Boolean] - $MessageCopyForSentAsEnabled, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $PublicFolder, - - [Parameter()] - [System.Object] - $MailTipTranslations, - - [Parameter()] - [System.String] - $CustomAttribute7, - - [Parameter()] - [System.Object] - $SharingPolicy, - - [Parameter()] - [System.String] - $CustomAttribute4, - - [Parameter()] - [System.Object] - $ExtensionCustomAttribute1, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $ExcludeFromAllOrgHolds, - - [Parameter()] - [System.Object] - $ArchiveName, - - [Parameter()] - [System.Boolean] - $AuditEnabled, - - [Parameter()] - [System.Security.SecureString] - $Password, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force, - - [Parameter()] - [System.Object] - $IssueWarningQuota, - - [Parameter()] - [System.Object] - $StsRefreshTokensValidFrom, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object] - $ExtensionCustomAttribute3, - - [Parameter()] - [System.Object] - $ForwardingAddress, - - [Parameter()] - [System.String] - $CustomAttribute12, - - [Parameter()] - [System.String] - $CustomAttribute3, - - [Parameter()] - [System.String] - $CustomAttribute11, - - [Parameter()] - [System.String] - $SimpleDisplayName, - - [Parameter()] - [System.Object] - $ForwardingSmtpAddress, - - [Parameter()] - [System.Boolean] - $MessageTrackingReadStatusEnabled - ) -} -function Set-MailboxPlan -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $IssueWarningQuota, - - [Parameter()] - [System.Object] - $RoleAssignmentPolicy, - - [Parameter()] - [System.Object] - $RetentionPolicy, - - [Parameter()] - [System.Object] - $ProhibitSendReceiveQuota, - - [Parameter()] - [System.Object] - $MaxSendSize, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $ProhibitSendQuota, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $IsDefault, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $RetainDeletedItemsFor, - - [Parameter()] - [System.Object] - $RecipientLimits, - - [Parameter()] - [System.Object] - $MaxReceiveSize, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force - ) -} -function Set-MailboxRegionalConfiguration -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $DateFormat, - - [Parameter()] - [System.String] - $TimeFormat, - - [Parameter()] - [System.Object] - $MailboxLocation, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $UseCustomRouting, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Archive, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $LocalizeDefaultFolderName, - - [Parameter()] - [System.Object] - $TimeZone, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Globalization.CultureInfo] - $Language - ) -} -function Set-MailContact -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $WindowsEmailAddress, - - [Parameter()] - [System.Object] - $AcceptMessagesOnlyFromDLMembers, - - [Parameter()] - [System.String] - $CustomAttribute10, - - [Parameter()] - [System.Boolean] - $RequireSenderAuthenticationEnabled, - - [Parameter()] - [System.Boolean] - $ModerationEnabled, - - [Parameter()] - [System.Object] - $ExtensionCustomAttribute4, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $MacAttachmentFormat, - - [Parameter()] - [System.String] - $CustomAttribute8, - - [Parameter()] - [System.String] - $DisplayName, - - [Parameter()] - [System.String] - $CustomAttribute3, - - [Parameter()] - [System.Object] - $RejectMessagesFromSendersOrMembers, - - [Parameter()] - [System.Object] - $MailTipTranslations, - - [Parameter()] - [System.String] - $CustomAttribute7, - - [Parameter()] - [System.Object] - $UseMapiRichTextFormat, - - [Parameter()] - [System.String] - $CustomAttribute5, - - [Parameter()] - [System.Object] - $AcceptMessagesOnlyFromSendersOrMembers, - - [Parameter()] - [System.Boolean] - $HiddenFromAddressListsEnabled, - - [Parameter()] - [System.String] - $CustomAttribute6, - - [Parameter()] - [System.Boolean] - $UsePreferMessageFormat, - - [Parameter()] - [System.String] - $CustomAttribute1, - - [Parameter()] - [System.Object] - $BypassModerationFromSendersOrMembers, - - [Parameter()] - [System.String] - $CustomAttribute11, - - [Parameter()] - [System.String] - $CustomAttribute13, - - [Parameter()] - [System.Object] - $ModeratedBy, - - [Parameter()] - [System.String] - $CustomAttribute14, - - [Parameter()] - [System.String] - $MailTip, - - [Parameter()] - [System.Object] - $MessageBodyFormat, - - [Parameter()] - [System.Object] - $AcceptMessagesOnlyFrom, - - [Parameter()] - [System.Object] - $ExtensionCustomAttribute3, - - [Parameter()] - [System.String] - $CustomAttribute15, - - [Parameter()] - [System.Object] - $RejectMessagesFrom, - - [Parameter()] - [System.Object] - $ExtensionCustomAttribute1, - - [Parameter()] - [System.Object] - $MessageFormat, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $ExtensionCustomAttribute5, - - [Parameter()] - [System.Object] - $ExternalEmailAddress, - - [Parameter()] - [System.String] - $CustomAttribute4, - - [Parameter()] - [System.Object] - $ExtensionCustomAttribute2, - - [Parameter()] - [System.String] - $CustomAttribute9, - - [Parameter()] - [System.Object] - $RejectMessagesFromDLMembers, - - [Parameter()] - [System.String] - $Alias, - - [Parameter()] - [System.String] - $SimpleDisplayName, - - [Parameter()] - [System.String] - $CustomAttribute2, - - [Parameter()] - [System.Object] - $GrantSendOnBehalfTo, - - [Parameter()] - [System.Object] - $SendModerationNotifications, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object] - $EmailAddresses, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $ForceUpgrade, - - [Parameter()] - [System.String] - $CustomAttribute12 - ) -} -function Set-MalwareFilterPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $MakeDefault, - - [Parameter()] - [System.String] - $CustomFromName, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.String] - $AdminDisplayName, - - [Parameter()] - [System.String] - $CustomExternalBody, - - [Parameter()] - [System.String] - $QuarantineTag, - - [Parameter()] - [System.Boolean] - $CustomNotifications, - - [Parameter()] - [System.Boolean] - $EnableExternalSenderAdminNotifications, - - [Parameter()] - [System.Object] - $InternalSenderAdminAddress, - - [Parameter()] - [System.String[]] - $FileTypes, - - [Parameter()] - [System.Boolean] - $EnableInternalSenderAdminNotifications, - - [Parameter()] - [System.Object] - $CustomFromAddress, - - [Parameter()] - [System.Boolean] - $IsPolicyOverrideApplied, - - [Parameter()] - [System.Boolean] - $ZapEnabled, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $ExternalSenderAdminAddress, - - [Parameter()] - [System.String] - $CustomExternalSubject, - - [Parameter()] - [System.Object] - $FileTypeAction, - - [Parameter()] - [System.String] - $CustomInternalSubject, - - [Parameter()] - [System.String] - $CustomInternalBody, - - [Parameter()] - [System.Boolean] - $EnableFileFilter - ) -} -function Set-MalwareFilterRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Int32] - $Priority, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object[]] - $SentToMemberOf, - - [Parameter()] - [System.Object[]] - $SentTo, - - [Parameter()] - [System.String] - $Comments, - - [Parameter()] - [System.Object[]] - $RecipientDomainIs, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object[]] - $ExceptIfRecipientDomainIs, - - [Parameter()] - [System.Object] - $MalwareFilterPolicy, - - [Parameter()] - [System.Object[]] - $ExceptIfSentTo, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object[]] - $ExceptIfSentToMemberOf - ) -} -function Set-ManagementRoleAssignment -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $RecipientGroupScope, - - [Parameter()] - [System.Object] - $CustomRecipientWriteScope, - - [Parameter()] - [System.Object] - $RecipientAdministrativeUnitScope, - - [Parameter()] - [System.Object] - $ExclusiveRecipientWriteScope, - - [Parameter()] - [System.Object] - $CustomResourceScope, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $RecipientOrganizationalUnitScope, - - [Parameter()] - [System.Boolean] - $Enabled, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $RecipientRelativeWriteScope, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force - ) -} -function Set-MessageClassification -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $SenderDescription, - - [Parameter()] - [System.String] - $DisplayName, - - [Parameter()] - [System.String] - $RecipientDescription, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Boolean] - $PermissionMenuVisible, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Guid] - $ClassificationID, - - [Parameter()] - [System.Object] - $DisplayPrecedence, - - [Parameter()] - [System.Boolean] - $RetainClassificationEnabled - ) -} -function Set-MobileDeviceMailboxPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Boolean] - $AllowMicrosoftPushNotifications, - - [Parameter()] - [System.Boolean] - $AllowUnsignedApplications, - - [Parameter()] - [System.Boolean] - $AllowUnsignedInstallationPackages, - - [Parameter()] - [System.Boolean] - $AllowExternalDeviceManagement, - - [Parameter()] - [System.Boolean] - $AllowIrDA, - - [Parameter()] - [System.Boolean] - $AllowStorageCard, - - [Parameter()] - [System.Int32] - $PasswordHistory, - - [Parameter()] - [System.Boolean] - $AllowNonProvisionableDevices, - - [Parameter()] - [System.Object] - $UnapprovedInROMApplicationList, - - [Parameter()] - [System.Boolean] - $RequireEncryptedSMIMEMessages, - - [Parameter()] - [System.Boolean] - $RequireDeviceEncryption, - - [Parameter()] - [System.Boolean] - $AllowInternetSharing, - - [Parameter()] - [System.Boolean] - $PasswordEnabled, - - [Parameter()] - [System.Object] - $RequireSignedSMIMEAlgorithm, - - [Parameter()] - [System.Object] - $MaxEmailHTMLBodyTruncationSize, - - [Parameter()] - [System.Int32] - $MinPasswordComplexCharacters, - - [Parameter()] - [System.Boolean] - $UNCAccessEnabled, - - [Parameter()] - [System.Boolean] - $AllowCamera, - - [Parameter()] - [System.Boolean] - $IrmEnabled, - - [Parameter()] - [System.Object] - $PasswordExpiration, - - [Parameter()] - [System.Boolean] - $AllowBrowser, - - [Parameter()] - [System.Object] - $MaxEmailAgeFilter, - - [Parameter()] - [System.Boolean] - $RequireManualSyncWhenRoaming, - - [Parameter()] - [System.Boolean] - $AlphanumericPasswordRequired, - - [Parameter()] - [System.Object] - $AllowSMIMEEncryptionAlgorithmNegotiation, - - [Parameter()] - [System.Boolean] - $DeviceEncryptionEnabled, - - [Parameter()] - [System.Object] - $MaxEmailBodyTruncationSize, - - [Parameter()] - [System.Object] - $AllowBluetooth, - - [Parameter()] - [System.Boolean] - $WSSAccessEnabled, - - [Parameter()] - [System.Object] - $RequireEncryptionSMIMEAlgorithm, - - [Parameter()] - [System.Object] - $DevicePolicyRefreshInterval, - - [Parameter()] - [System.Boolean] - $AllowGooglePushNotifications, - - [Parameter()] - [System.Boolean] - $AllowMobileOTAUpdate, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object] - $MaxAttachmentSize, - - [Parameter()] - [System.Boolean] - $AllowSimplePassword, - - [Parameter()] - [System.Boolean] - $AllowConsumerEmail, - - [Parameter()] - [System.Boolean] - $AllowDesktopSync, - - [Parameter()] - [System.Boolean] - $PasswordRecoveryEnabled, - - [Parameter()] - [System.Boolean] - $RequireStorageCardEncryption, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Boolean] - $AllowSMIMESoftCerts, - - [Parameter()] - [System.Boolean] - $AllowRemoteDesktop, - - [Parameter()] - [System.Boolean] - $AttachmentsEnabled, - - [Parameter()] - [System.Object] - $MaxCalendarAgeFilter, - - [Parameter()] - [System.Boolean] - $AllowWiFi, - - [Parameter()] - [System.Boolean] - $AllowApplePushNotifications, - - [Parameter()] - [System.Boolean] - $AllowPOPIMAPEmail, - - [Parameter()] - [System.Boolean] - $IsDefault, - - [Parameter()] - [System.Object] - $MaxInactivityTimeLock, - - [Parameter()] - [System.Object] - $ApprovedApplicationList, - - [Parameter()] - [System.Boolean] - $AllowTextMessaging, - - [Parameter()] - [System.Object] - $MaxPasswordFailedAttempts, - - [Parameter()] - [System.Boolean] - $RequireSignedSMIMEMessages, - - [Parameter()] - [System.Object] - $MinPasswordLength, - - [Parameter()] - [System.Boolean] - $AllowHTMLEmail, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Set-OfflineAddressBook -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object] - $Versions, - - [Parameter()] - [System.Object] - $Schedule, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $ApplyMandatoryProperties, - - [Parameter()] - [System.Boolean] - $ZipOabFilesBeforeUploading, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $UpgradeFromE14, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Int32] - $FullOabDownloadPreventionThreshold, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $DiffRetentionPeriod, - - [Parameter()] - [System.Object[]] - $AddressLists, - - [Parameter()] - [System.Object] - $ConfiguredAttributes, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $UseDefaultAttributes, - - [Parameter()] - [System.Boolean] - $IsDefault - ) -} -function Set-OMEConfiguration -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $IntroductionText, - - [Parameter()] - [System.String] - $ReadButtonText, - - [Parameter()] - [System.String] - $PortalText, - - [Parameter()] - [System.Byte[]] - $Image, - - [Parameter()] - [System.Boolean] - $OTPEnabled, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.String] - $BackgroundColor, - - [Parameter()] - [System.String] - $DisclaimerText, - - [Parameter()] - [System.String] - $PrivacyStatementUrl, - - [Parameter()] - [System.Boolean] - $SocialIdSignIn, - - [Parameter()] - [System.String] - $EmailText, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Set-OnPremisesOrganization -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $InboundConnector, - - [Parameter()] - [System.Object] - $OutboundConnector, - - [Parameter()] - [System.String] - $OrganizationName, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.String] - $Comment, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $OrganizationRelationship, - - [Parameter()] - [System.Object] - $HybridDomains - ) -} -function Set-Organization -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Boolean] - $UnifiedAuditLogIngestionEnabled, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force - ) -} -function Set-OrganizationConfig -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Boolean] - $FindTimeLockPollForAttendeesEnabled, - - [Parameter()] - [System.Boolean] - $ConnectorsEnabledForYammer, - - [Parameter()] - [System.Boolean] - $PublicFolderShowClientControl, - - [Parameter()] - [System.Boolean] - $MailTipsGroupMetricsEnabled, - - [Parameter()] - [System.Object] - $PublicFoldersEnabled, - - [Parameter()] - [System.Boolean] - $ReadTrackingEnabled, - - [Parameter()] - [System.Boolean] - $ExchangeNotificationEnabled, - - [Parameter()] - [System.Boolean] - $BookingsNamingPolicyPrefixEnabled, - - [Parameter()] - [System.Boolean] - $MailTipsExternalRecipientsTipsEnabled, - - [Parameter()] - [System.Object] - $FocusedInboxOn, - - [Parameter()] - [System.Object] - $EwsApplicationAccessPolicy, - - [Parameter()] - [System.Boolean] - $OAuth2ClientProfileEnabled, - - [Parameter()] - [System.Boolean] - $MobileAppEducationEnabled, - - [Parameter()] - [System.Boolean] - $EnableOutlookEvents, - - [Parameter()] - [System.Boolean] - $BookingsExposureOfStaffDetailsRestricted, - - [Parameter()] - [System.Boolean] - $ElcProcessingDisabled, - - [Parameter()] - [System.Boolean] - $UnblockUnsafeSenderPromptEnabled, - - [Parameter()] - [System.Boolean] - $AutoEnableArchiveMailbox, - - [Parameter()] - [System.Boolean] - $HybridRSVPEnabled, - - [Parameter()] - [System.Boolean] - $RefreshSessionEnabled, - - [Parameter()] - [System.Boolean] - $ActivityBasedAuthenticationTimeoutEnabled, - - [Parameter()] - [System.Boolean] - $SmtpActionableMessagesEnabled, - - [Parameter()] - [System.Boolean] - $ConnectorsEnabledForTeams, - - [Parameter()] - [System.Boolean] - $ComplianceMLBgdCrawlEnabled, - - [Parameter()] - [System.Boolean] - $MailTipsAllTipsEnabled, - - [Parameter()] - [System.Boolean] - $PostponeRoamingSignaturesUntilLater, - - [Parameter()] - [System.Object] - $RemotePublicFolderMailboxes, - - [Parameter()] - [System.Boolean] - $BlockMoveMessagesForGroupFolders, - - [Parameter()] - [System.Int32] - $DefaultMinutesToReduceShortEventsBy, - - [Parameter()] - [System.Object] - $EwsAllowEntourage, - - [Parameter()] - [System.Boolean] - $OutlookGifPickerDisabled, - - [Parameter()] - [System.Object] - $OnlineMeetingsByDefaultEnabled, - - [Parameter()] - [System.Uri] - $SiteMailboxCreationURL, - - [Parameter()] - [System.Object] - $DefaultPublicFolderProhibitPostQuota, - - [Parameter()] - [System.Object] - $ExchangeNotificationRecipients, - - [Parameter()] - [System.Boolean] - $MessageRemindersEnabled, - - [Parameter()] - [System.Boolean] - $DirectReportsGroupAutoCreationEnabled, - - [Parameter()] - [System.Boolean] - $AuditDisabled, - - [Parameter()] - [System.Boolean] - $BookingsAuthEnabled, - - [Parameter()] - [System.Boolean] - $OutlookMobileGCCRestrictionsEnabled, - - [Parameter()] - [System.Boolean] - $BookingsCreationOfCustomQuestionsRestricted, - - [Parameter()] - [System.Boolean] - $BookingsSmsMicrosoftEnabled, - - [Parameter()] - [System.Boolean] - $WebPushNotificationsDisabled, - - [Parameter()] - [System.Boolean] - $ConnectorsEnabledForOutlook, - - [Parameter()] - [System.Boolean] - $BookingsAddressEntryRestricted, - - [Parameter()] - [System.String] - $BookingsNamingPolicyPrefix, - - [Parameter()] - [System.Object] - $DefaultPublicFolderDeletedItemRetention, - - [Parameter()] - [System.Boolean] - $IsGroupMemberAllowedToEditContent, - - [Parameter()] - [System.Int32] - $PreferredInternetCodePageForShiftJis, - - [Parameter()] - [System.Object] - $ShortenEventScopeDefault, - - [Parameter()] - [System.Object] - $HierarchicalAddressBookRoot, - - [Parameter()] - [System.Boolean] - $IsAgendaMailEnabled, - - [Parameter()] - [System.Boolean] - $FindTimeOnlineMeetingOptionDisabled, - - [Parameter()] - [System.Object] - $EwsEnabled, - - [Parameter()] - [System.Boolean] - $FindTimeAttendeeAuthenticationEnabled, - - [Parameter()] - [System.Boolean] - $AutomaticForcedReadReceiptEnabled, - - [Parameter()] - [System.Boolean] - $LeanPopoutEnabled, - - [Parameter()] - [System.Object] - $DistributionGroupNameBlockedWordsList, - - [Parameter()] - [System.Boolean] - $AsyncSendEnabled, - - [Parameter()] - [System.Boolean] - $ConnectorsEnabledForSharepoint, - - [Parameter()] - [System.Boolean] - $BookingsBlockedWordsEnabled, - - [Parameter()] - [System.Boolean] - $ActivityBasedAuthenticationTimeoutWithSingleSignOnEnabled, - - [Parameter()] - [System.Boolean] - $BookingsPaymentsEnabled, - - [Parameter()] - [System.Boolean] - $WorkspaceTenantEnabled, - - [Parameter()] - [System.Boolean] - $BookingsNamingPolicyEnabled, - - [Parameter()] - [System.Object] - $DefaultPublicFolderAgeLimit, - - [Parameter()] - [System.String] - $VisibleMeetingUpdateProperties, - - [Parameter()] - [System.Boolean] - $OutlookPayEnabled, - - [Parameter()] - [System.UInt32] - $MailTipsLargeAudienceThreshold, - - [Parameter()] - [System.Object] - $DefaultGroupAccessType, - - [Parameter()] - [System.Boolean] - $CalendarVersionStoreEnabled, - - [Parameter()] - [System.Int32] - $RequiredCharsetCoverage, - - [Parameter()] - [System.Object] - $MessageRecallEnabled, - - [Parameter()] - [System.Boolean] - $MessageHighlightsEnabled, - - [Parameter()] - [System.Boolean] - $WebSuggestedRepliesDisabled, - - [Parameter()] - [System.Boolean] - $DisablePlusAddressInRecipients, - - [Parameter()] - [System.Object] - $DistributionGroupNamingPolicy, - - [Parameter()] - [System.Boolean] - $PublicComputersDetectionEnabled, - - [Parameter()] - [System.Boolean] - $BookingsSocialSharingRestricted, - - [Parameter()] - [System.String] - $BookingsNamingPolicySuffix, - - [Parameter()] - [System.Boolean] - $BookingsNamingPolicySuffixEnabled, - - [Parameter()] - [System.Boolean] - $BookingsMembershipApprovalRequired, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $DefaultPublicFolderMovedItemRetention, - - [Parameter()] - [System.Object] - $DistributionGroupDefaultOU, - - [Parameter()] - [System.Boolean] - $OutlookTextPredictionDisabled, - - [Parameter()] - [System.Boolean] - $SharedDomainEmailAddressFlowEnabled, - - [Parameter()] - [System.Boolean] - $ConnectorsActionableMessagesEnabled, - - [Parameter()] - [System.Object] - $DefaultAuthenticationPolicy, - - [Parameter()] - [System.Boolean] - $MailTipsMailboxSourcedTipsEnabled, - - [Parameter()] - [System.Boolean] - $BookingsEnabled, - - [Parameter()] - [System.Boolean] - $EndUserDLUpgradeFlowsDisabled, - - [Parameter()] - [System.Object] - $RecallReadMessagesEnabled, - - [Parameter()] - [System.Boolean] - $BookingsPhoneNumberEntryRestricted, - - [Parameter()] - [System.Boolean] - $AppsForOfficeEnabled, - - [Parameter()] - [System.Boolean] - $EnableForwardingAddressSyncForMailboxes, - - [Parameter()] - [System.Object] - $EwsAllowOutlook, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AutoExpandingArchive, - - [Parameter()] - [System.Boolean] - $LinkPreviewEnabled, - - [Parameter()] - [System.Boolean] - $BookingsSearchEngineIndexDisabled, - - [Parameter()] - [System.Object] - $EwsAllowMacOutlook, - - [Parameter()] - [System.Object] - $EwsAllowList, - - [Parameter()] - [System.Object] - $DefaultPublicFolderMaxItemSize, - - [Parameter()] - [System.Boolean] - $MatchSenderOrganizerProperties, - - [Parameter()] - [System.Int32] - $DefaultMinutesToReduceLongEventsBy, - - [Parameter()] - [System.Object] - $IPListBlocked, - - [Parameter()] - [System.Boolean] - $BookingsNotesEntryRestricted, - - [Parameter()] - [System.Boolean] - $SendFromAliasEnabled, - - [Parameter()] - [System.Boolean] - $AutodiscoverPartialDirSync, - - [Parameter()] - [System.Object] - $ActivityBasedAuthenticationTimeoutInterval, - - [Parameter()] - [System.Boolean] - $OutlookMobileSingleAccountEnabled, - - [Parameter()] - [System.Boolean] - $IsGroupFoldersAndRulesEnabled, - - [Parameter()] - [System.Boolean] - $MaskClientIpInReceivedHeadersEnabled, - - [Parameter()] - [System.Boolean] - $PerTenantSwitchToESTSEnabled, - - [Parameter()] - [System.Boolean] - $ConnectorsEnabled, - - [Parameter()] - [System.Object] - $EwsBlockList, - - [Parameter()] - [System.Boolean] - $OutlookMobileHelpShiftEnabled, - - [Parameter()] - [System.Int32] - $ByteEncoderTypeFor7BitCharsets, - - [Parameter()] - [System.Boolean] - $FindTimeAutoScheduleDisabled, - - [Parameter()] - [System.Object] - $DefaultPublicFolderIssueWarningQuota - ) -} -function Set-OrganizationRelationship -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $MailTipsAccessLevel, - - [Parameter()] - [System.Uri] - $TargetAutodiscoverEpr, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Boolean] - $Enabled, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object] - $FreeBusyAccessScope, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force, - - [Parameter()] - [System.Boolean] - $DeliveryReportEnabled, - - [Parameter()] - [System.String] - $OAuthApplicationId, - - [Parameter()] - [System.Boolean] - $MailTipsAccessEnabled, - - [Parameter()] - [System.Boolean] - $ArchiveAccessEnabled, - - [Parameter()] - [System.Boolean] - $FreeBusyAccessEnabled, - - [Parameter()] - [System.Object] - $MailTipsAccessScope, - - [Parameter()] - [System.Uri] - $TargetOwaURL, - - [Parameter()] - [System.Uri] - $TargetApplicationUri, - - [Parameter()] - [System.Object] - $OrganizationContact, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $MailboxMovePublishedScopes, - - [Parameter()] - [System.Boolean] - $MailboxMoveEnabled, - - [Parameter()] - [System.Object] - $MailboxMoveCapability, - - [Parameter()] - [System.Uri] - $TargetSharingEpr, - - [Parameter()] - [System.Object] - $FreeBusyAccessLevel, - - [Parameter()] - [System.Object] - $DomainNames, - - [Parameter()] - [System.Boolean] - $PhotosEnabled - ) -} -function Set-OutboundConnector -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Boolean] - $RouteAllMessagesViaOnPremises, - - [Parameter()] - [System.Object] - $RecipientDomains, - - [Parameter()] - [System.Boolean] - $CloudServicesMailEnabled, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Boolean] - $Enabled, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Boolean] - $AllAcceptedDomains, - - [Parameter()] - [System.Boolean] - $TestMode, - - [Parameter()] - [System.String] - $Comment, - - [Parameter()] - [System.Boolean] - $IsTransportRuleScoped, - - [Parameter()] - [System.Boolean] - $IsValidated, - - [Parameter()] - [System.Boolean] - $UseMXRecord, - - [Parameter()] - [System.Object] - $LastValidationTimestamp, - - [Parameter()] - [System.Object] - $TlsSettings, - - [Parameter()] - [System.String[]] - $ValidationRecipients, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $ConnectorType, - - [Parameter()] - [System.Object] - $SmartHosts, - - [Parameter()] - [System.Boolean] - $SenderRewritingEnabled, - - [Parameter()] - [System.Object] - $TlsDomain, - - [Parameter()] - [System.Object] - $ConnectorSource - ) -} -function Set-OwaMailboxPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Int32] - $DefaultClientLanguage, - - [Parameter()] - [System.Boolean] - $ContactsEnabled, - - [Parameter()] - [System.Boolean] - $PersonalAccountCalendarsEnabled, - - [Parameter()] - [System.Boolean] - $MessagePreviewsDisabled, - - [Parameter()] - [System.Boolean] - $ExplicitLogonEnabled, - - [Parameter()] - [System.Boolean] - $ShowOnlineArchiveEnabled, - - [Parameter()] - [System.Object] - $BlockedFileTypes, - - [Parameter()] - [System.Boolean] - $NpsSurveysEnabled, - - [Parameter()] - [System.Boolean] - $LinkedInEnabled, - - [Parameter()] - [System.Object] - $ConditionalAccessPolicy, - - [Parameter()] - [System.String[]] - $AllowedOrganizationAccountDomains, - - [Parameter()] - [System.Boolean] - $ChangePasswordEnabled, - - [Parameter()] - [System.String] - $BookingsMailboxDomain, - - [Parameter()] - [System.Boolean] - $AdditionalStorageProvidersAvailable, - - [Parameter()] - [System.Boolean] - $WacViewingOnPublicComputersEnabled, - - [Parameter()] - [System.Boolean] - $OutlookBetaToggleEnabled, - - [Parameter()] - [System.Boolean] - $SMimeSuppressNameChecksEnabled, - - [Parameter()] - [System.Object] - $ActionForUnknownFileAndMIMETypes, - - [Parameter()] - [System.String] - $ExternalSPMySiteHostURL, - - [Parameter()] - [System.Boolean] - $OfflineEnabledWeb, - - [Parameter()] - [System.Object] - $ForceSaveMimeTypes, - - [Parameter()] - [System.Boolean] - $CalendarEnabled, - - [Parameter()] - [System.Boolean] - $SpellCheckerEnabled, - - [Parameter()] - [System.Boolean] - $DisplayPhotosEnabled, - - [Parameter()] - [System.Boolean] - $TasksEnabled, - - [Parameter()] - [System.Boolean] - $GroupCreationEnabled, - - [Parameter()] - [System.Object] - $ForceSaveFileTypes, - - [Parameter()] - [System.Object] - $ChangeSettingsAccountEnabled, - - [Parameter()] - [System.Object] - $AdditionalAccountsEnabled, - - [Parameter()] - [System.Boolean] - $TeamsnapCalendarsEnabled, - - [Parameter()] - [System.Boolean] - $WacViewingOnPrivateComputersEnabled, - - [Parameter()] - [System.Boolean] - $TextMessagingEnabled, - - [Parameter()] - [System.Boolean] - $SearchFoldersEnabled, - - [Parameter()] - [System.Boolean] - $UserVoiceEnabled, - - [Parameter()] - [System.Boolean] - $ForceWacViewingFirstOnPublicComputers, - - [Parameter()] - [System.Boolean] - $GlobalAddressListEnabled, - - [Parameter()] - [System.Boolean] - $IRMEnabled, - - [Parameter()] - [System.Boolean] - $DirectFileAccessOnPublicComputersEnabled, - - [Parameter()] - [System.Boolean] - $WacOMEXEnabled, - - [Parameter()] - [System.Boolean] - $DirectFileAccessOnPrivateComputersEnabled, - - [Parameter()] - [System.Boolean] - $JournalEnabled, - - [Parameter()] - [System.Boolean] - $OfflineEnabledWin, - - [Parameter()] - [System.Object] - $ItemsToOtherAccountsEnabled, - - [Parameter()] - [System.Boolean] - $WSSAccessOnPublicComputersEnabled, - - [Parameter()] - [System.Boolean] - $SignaturesEnabled, - - [Parameter()] - [System.Boolean] - $OnSendAddinsEnabled, - - [Parameter()] - [System.Boolean] - $WacExternalServicesEnabled, - - [Parameter()] - [System.String] - $InternalSPMySiteHostURL, - - [Parameter()] - [System.Boolean] - $RemindersAndNotificationsEnabled, - - [Parameter()] - [System.Boolean] - $SatisfactionEnabled, - - [Parameter()] - [System.Boolean] - $OWALightEnabled, - - [Parameter()] - [System.Object] - $InstantMessagingType, - - [Parameter()] - [System.Boolean] - $ActiveSyncIntegrationEnabled, - - [Parameter()] - [System.Object] - $PersonalAccountsEnabled, - - [Parameter()] - [System.String] - $DefaultTheme, - - [Parameter()] - [System.Boolean] - $SetPhotoEnabled, - - [Parameter()] - [System.Boolean] - $ClassicAttachmentsEnabled, - - [Parameter()] - [System.Boolean] - $ForceWacViewingFirstOnPrivateComputers, - - [Parameter()] - [System.Object] - $AllowedMimeTypes, - - [Parameter()] - [System.Boolean] - $AllowCopyContactsToDeviceAddressBook, - - [Parameter()] - [System.Object] - $OutboundCharset, - - [Parameter()] - [System.Boolean] - $PlacesEnabled, - - [Parameter()] - [System.Boolean] - $ReportJunkEmailEnabled, - - [Parameter()] - [System.Boolean] - $UseISO885915, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Boolean] - $NotesEnabled, - - [Parameter()] - [System.Boolean] - $OrganizationEnabled, - - [Parameter()] - [System.Object] - $WebPartsFrameOptionsType, - - [Parameter()] - [System.String] - $SetPhotoURL, - - [Parameter()] - [System.Boolean] - $WacEditingEnabled, - - [Parameter()] - [System.Boolean] - $PublicFoldersEnabled, - - [Parameter()] - [System.Boolean] - $BookingsMailboxCreationEnabled, - - [Parameter()] - [System.Boolean] - $ForceSaveAttachmentFilteringEnabled, - - [Parameter()] - [System.Int32] - $LogonAndErrorLanguage, - - [Parameter()] - [System.Boolean] - $WSSAccessOnPrivateComputersEnabled, - - [Parameter()] - [System.Boolean] - $AllAddressListsEnabled, - - [Parameter()] - [System.Boolean] - $EmptyStateEnabled, - - [Parameter()] - [System.Boolean] - $ProjectMocaEnabled, - - [Parameter()] - [System.Boolean] - $DelegateAccessEnabled, - - [Parameter()] - [System.Boolean] - $PremiumClientEnabled, - - [Parameter()] - [System.Object] - $BlockedMimeTypes, - - [Parameter()] - [System.Boolean] - $UMIntegrationEnabled, - - [Parameter()] - [System.Boolean] - $FeedbackEnabled, - - [Parameter()] - [System.Boolean] - $SilverlightEnabled, - - [Parameter()] - [System.Boolean] - $WeatherEnabled, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $IsDefault, - - [Parameter()] - [System.Boolean] - $UseGB18030, - - [Parameter()] - [System.Object] - $AllowOfflineOn, - - [Parameter()] - [System.Object] - $AllowedFileTypes, - - [Parameter()] - [System.Boolean] - $ExternalImageProxyEnabled, - - [Parameter()] - [System.Boolean] - $RulesEnabled, - - [Parameter()] - [System.Object] - $OneWinNativeOutlookEnabled, - - [Parameter()] - [System.Boolean] - $FreCardsEnabled, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Boolean] - $ThemeSelectionEnabled, - - [Parameter()] - [System.Boolean] - $InstantMessagingEnabled, - - [Parameter()] - [System.Boolean] - $LocalEventsEnabled, - - [Parameter()] - [System.Boolean] - $InterestingCalendarsEnabled, - - [Parameter()] - [System.Boolean] - $BizBarEnabled, - - [Parameter()] - [System.Boolean] - $OneDriveAttachmentsEnabled, - - [Parameter()] - [System.Boolean] - $PrintWithoutDownloadEnabled, - - [Parameter()] - [System.Boolean] - $SaveAttachmentsToCloudEnabled, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Boolean] - $PhoneticSupportEnabled, - - [Parameter()] - [System.Boolean] - $SkipCreateUnifiedGroupCustomSharepointClassification, - - [Parameter()] - [System.Boolean] - $ReferenceAttachmentsEnabled, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $DisableFacebook, - - [Parameter()] - [System.Boolean] - $RecoverDeletedItemsEnabled - ) -} -function Set-PartnerApplication -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $ApplicationIdentifier, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object] - $LinkedAccount, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Boolean] - $AcceptSecurityIdentifierInformation, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.String[]] - $ActAsPermissions, - - [Parameter()] - [System.Object] - $AccountType, - - [Parameter()] - [System.Boolean] - $Enabled - ) -} -function Set-PerimeterConfig -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $GatewayIPAddresses - ) -} -function Set-PolicyTipConfig -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $Value, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity - ) -} -function Set-QuarantinePolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $MultiLanguageCustomDisclaimer, - - [Parameter()] - [System.Object] - $AdminNotificationLanguage, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.String] - $EndUserSpamNotificationCustomFromAddress, - - [Parameter()] - [System.Int32] - $EndUserSpamNotificationFrequencyInDays, - - [Parameter()] - [System.String] - $CustomDisclaimer, - - [Parameter()] - [System.Int32] - $EndUserQuarantinePermissionsValue, - - [Parameter()] - [System.Boolean] - $ESNEnabled, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $IgnoreDehydratedFlag, - - [Parameter()] - [System.Object] - $EndUserQuarantinePermissions, - - [Parameter()] - [System.Boolean] - $AdminNotificationsEnabled, - - [Parameter()] - [System.Object] - $EndUserSpamNotificationLanguage, - - [Parameter()] - [System.Object] - $DomainController, - - [Parameter()] - [System.Object] - $MultiLanguageSenderName, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $AdminQuarantinePermissionsList, - - [Parameter()] - [System.Object] - $MultiLanguageSetting, - - [Parameter()] - [System.TimeSpan] - $EndUserSpamNotificationFrequency, - - [Parameter()] - [System.Int32] - $QuarantineRetentionDays, - - [Parameter()] - [System.Object] - $EsnCustomSubject, - - [Parameter()] - [System.Boolean] - $OrganizationBrandingEnabled, - - [Parameter()] - [System.Int32] - $AdminNotificationFrequencyInDays - ) -} -function Set-RemoteDomain -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Boolean] - $AutoReplyEnabled, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object] - $TNEFEnabled, - - [Parameter()] - [System.Boolean] - $DeliveryReportEnabled, - - [Parameter()] - [System.Object] - $RequiredCharsetCoverage, - - [Parameter()] - [System.Boolean] - $MeetingForwardNotificationEnabled, - - [Parameter()] - [System.Object] - $ContentType, - - [Parameter()] - [System.Object] - $ByteEncoderTypeFor7BitCharsets, - - [Parameter()] - [System.Boolean] - $AutoForwardEnabled, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Boolean] - $TrustedMailInboundEnabled, - - [Parameter()] - [System.Object] - $LineWrapSize, - - [Parameter()] - [System.String] - $CharacterSet, - - [Parameter()] - [System.Object] - $PreferredInternetCodePageForShiftJis, - - [Parameter()] - [System.Boolean] - $SmtpDaneMandatoryModeEnabled, - - [Parameter()] - [System.String] - $NonMimeCharacterSet, - - [Parameter()] - [System.Boolean] - $TargetDeliveryDomain, - - [Parameter()] - [System.Boolean] - $TrustedMailOutboundEnabled, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Boolean] - $DisplaySenderName, - - [Parameter()] - [System.Object] - $AllowedOOFType, - - [Parameter()] - [System.Boolean] - $NDRDiagnosticInfoEnabled, - - [Parameter()] - [System.Boolean] - $NDREnabled, - - [Parameter()] - [System.Boolean] - $IsInternal, - - [Parameter()] - [System.Boolean] - $UseSimpleDisplayName - ) -} -function Set-ResourceConfig -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $ResourcePropertySchema - ) -} -function Set-RoleAssignmentPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $Description, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $IsDefault - ) -} -function Set-RoleGroup -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $Description, - - [Parameter()] - [System.String] - $DisplayName, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.String] - $WellKnownObject, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $BypassSecurityGroupManagerCheck, - - [Parameter()] - [System.Object] - $ManagedBy, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force - ) -} -function Set-SharingPolicy -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Domains, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Default, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Boolean] - $Enabled - ) -} -function Set-TransportConfig -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Boolean] - $InternalDelayDsnEnabled, - - [Parameter()] - [System.Boolean] - $InternalDsnSendHtml, - - [Parameter()] - [System.Boolean] - $ExternalDelayDsnEnabled, - - [Parameter()] - [System.Object] - $DSNConversionMode, - - [Parameter()] - [System.Boolean] - $SmtpClientAuthenticationDisabled, - - [Parameter()] - [System.Object] - $MessageExpiration, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force, - - [Parameter()] - [System.Boolean] - $ReplyAllStormProtectionEnabled, - - [Parameter()] - [System.Boolean] - $AddressBookPolicyRoutingEnabled, - - [Parameter()] - [System.Boolean] - $ExternalDsnLanguageDetectionEnabled, - - [Parameter()] - [System.Boolean] - $ExternalDsnSendHtml, - - [Parameter()] - [System.Boolean] - $Rfc2231EncodingEnabled, - - [Parameter()] - [System.Boolean] - $InternalDsnLanguageDetectionEnabled, - - [Parameter()] - [System.Boolean] - $VoicemailJournalingEnabled, - - [Parameter()] - [System.Object] - $HeaderPromotionModeSetting, - - [Parameter()] - [System.Object] - $JournalingReportNdrTo, - - [Parameter()] - [System.Boolean] - $ConvertDisclaimerWrapperToEml, - - [Parameter()] - [System.Object] - $InternalDsnReportingAuthority, - - [Parameter()] - [System.Int32] - $JournalMessageExpirationDays, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $MaxRecipientEnvelopeLimit, - - [Parameter()] - [System.Int32] - $ReplyAllStormDetectionMinimumReplies, - - [Parameter()] - [System.Object] - $ExternalDsnReportingAuthority, - - [Parameter()] - [System.Globalization.CultureInfo] - $ExternalDsnDefaultLanguage, - - [Parameter()] - [System.Globalization.CultureInfo] - $InternalDsnDefaultLanguage, - - [Parameter()] - [System.Object] - $AllowLegacyTLSClients, - - [Parameter()] - [System.Boolean] - $ClearCategories, - - [Parameter()] - [System.Int32] - $ReplyAllStormBlockDurationHours, - - [Parameter()] - [System.Object] - $ExternalPostmasterAddress, - - [Parameter()] - [System.Int32] - $ReplyAllStormDetectionMinimumRecipients - ) -} -function Set-TransportRule -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $ActivationDate, - - [Parameter()] - [System.Object[]] - $AddToRecipients, - - [Parameter()] - [System.Object] - $ApplyHtmlDisclaimerFallbackAction, - - [Parameter()] - [System.Object[]] - $ExceptIfRecipientADAttributeContainsWords, - - [Parameter()] - [System.Object] - $AttachmentSizeOver, - - [Parameter()] - [System.Object[]] - $ExceptIfSenderADAttributeContainsWords, - - [Parameter()] - [System.Object] - $SetSCL, - - [Parameter()] - [System.Object[]] - $AnyOfToHeaderMemberOf, - - [Parameter()] - [System.Boolean] - $Disconnect, - - [Parameter()] - [System.Int32] - $Priority, - - [Parameter()] - [System.Object[]] - $ExceptIfSentToMemberOf, - - [Parameter()] - [System.Object[]] - $ExceptIfAnyOfCcHeader, - - [Parameter()] - [System.Object[]] - $ExceptIfAttachmentMatchesPatterns, - - [Parameter()] - [System.Object[]] - $RecipientDomainIs, - - [Parameter()] - [System.Object] - $ManagerForEvaluatedUser, - - [Parameter()] - [System.Object[]] - $ExceptIfHeaderMatchesPatterns, - - [Parameter()] - [System.Object] - $ExceptIfFromScope, - - [Parameter()] - [System.Object] - $AdComparisonAttribute, - - [Parameter()] - [System.Object[]] - $ExceptIfHeaderContainsWords, - - [Parameter()] - [System.Object[]] - $HeaderMatchesPatterns, - - [Parameter()] - [System.Object] - $AddManagerAsRecipientType, - - [Parameter()] - [System.Boolean] - $DeleteMessage, - - [Parameter()] - [System.Boolean] - $HasSenderOverride, - - [Parameter()] - [System.Object] - $SmtpRejectMessageRejectStatusCode, - - [Parameter()] - [System.String] - $ExceptIfHasClassification, - - [Parameter()] - [System.Boolean] - $Quarantine, - - [Parameter()] - [System.Object[]] - $ExceptIfAnyOfRecipientAddressMatchesPatterns, - - [Parameter()] - [System.Object[]] - $ExceptIfRecipientInSenderList, - - [Parameter()] - [System.Object] - $RecipientAddressType, - - [Parameter()] - [System.Object[]] - $ExceptIfContentCharacterSetContainsWords, - - [Parameter()] - [System.Object[]] - $BlindCopyTo, - - [Parameter()] - [System.Object] - $ApplyHtmlDisclaimerLocation, - - [Parameter()] - [System.Object] - $ExceptIfMessageTypeMatches, - - [Parameter()] - [System.Object] - $SenderIpRanges, - - [Parameter()] - [System.Collections.Hashtable[]] - $ExceptIfMessageContainsDataClassifications, - - [Parameter()] - [System.Object[]] - $ModerateMessageByUser, - - [Parameter()] - [System.Boolean] - $HasNoClassification, - - [Parameter()] - [System.Object[]] - $ExceptIfSenderInRecipientList, - - [Parameter()] - [System.Object] - $HeaderContainsMessageHeader, - - [Parameter()] - [System.Object] - $RemoveHeader, - - [Parameter()] - [System.String] - $HasClassification, - - [Parameter()] - [System.Collections.Hashtable[]] - $MessageContainsDataClassifications, - - [Parameter()] - [System.Object[]] - $ExceptIfFromMemberOf, - - [Parameter()] - [System.Object] - $RuleSubType, - - [Parameter()] - [System.Object[]] - $AnyOfRecipientAddressMatchesPatterns, - - [Parameter()] - [System.Object] - $SentToScope, - - [Parameter()] - [System.Object[]] - $AnyOfToCcHeaderMemberOf, - - [Parameter()] - [System.Object[]] - $From, - - [Parameter()] - [System.Object[]] - $ExceptIfAnyOfRecipientAddressContainsWords, - - [Parameter()] - [System.Object] - $ExceptIfWithImportance, - - [Parameter()] - [System.Object[]] - $ContentCharacterSetContainsWords, - - [Parameter()] - [System.Object[]] - $SubjectContainsWords, - - [Parameter()] - [System.Object] - $RejectMessageEnhancedStatusCode, - - [Parameter()] - [System.Object[]] - $SenderADAttributeMatchesPatterns, - - [Parameter()] - [System.Object[]] - $ExceptIfSenderADAttributeMatchesPatterns, - - [Parameter()] - [System.Object[]] - $IncidentReportContent, - - [Parameter()] - [System.Object[]] - $FromMemberOf, - - [Parameter()] - [System.Object[]] - $AttachmentContainsWords, - - [Parameter()] - [System.Object] - $ExceptIfSCLOver, - - [Parameter()] - [System.Object[]] - $ExceptIfBetweenMemberOf1, - - [Parameter()] - [System.Object] - $GenerateNotification, - - [Parameter()] - [System.Object] - $NotifySender, - - [Parameter()] - [System.Boolean] - $ExceptIfAttachmentIsPasswordProtected, - - [Parameter()] - [System.Object[]] - $ExceptIfAttachmentNameMatchesPatterns, - - [Parameter()] - [System.Object] - $ExceptIfSenderManagementRelationship, - - [Parameter()] - [System.String] - $SetAuditSeverity, - - [Parameter()] - [System.Object[]] - $AttachmentPropertyContainsWords, - - [Parameter()] - [System.Object[]] - $ExceptIfAnyOfToHeader, - - [Parameter()] - [System.Object] - $ApplyRightsProtectionCustomizationTemplate, - - [Parameter()] - [System.Object] - $SetHeaderName, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Boolean] - $RouteMessageOutboundRequireTls, - - [Parameter()] - [System.Object] - $WithImportance, - - [Parameter()] - [System.Object] - $RuleErrorAction, - - [Parameter()] - [System.Object] - $FromScope, - - [Parameter()] - [System.Object[]] - $AttachmentNameMatchesPatterns, - - [Parameter()] - [System.Object[]] - $SentTo, - - [Parameter()] - [System.Object[]] - $ExceptIfFromAddressMatchesPatterns, - - [Parameter()] - [System.Object[]] - $AnyOfCcHeaderMemberOf, - - [Parameter()] - [System.Object] - $ExceptIfAttachmentSizeOver, - - [Parameter()] - [System.Object] - $ExceptIfManagerForEvaluatedUser, - - [Parameter()] - [System.Boolean] - $RemoveOMEv2, - - [Parameter()] - [System.Object[]] - $ExceptIfFromAddressContainsWords, - - [Parameter()] - [System.Boolean] - $AttachmentHasExecutableContent, - - [Parameter()] - [System.Object] - $RouteMessageOutboundConnector, - - [Parameter()] - [System.Object[]] - $ExceptIfRecipientDomainIs, - - [Parameter()] - [System.Object[]] - $ExceptIfSenderDomainIs, - - [Parameter()] - [System.Object] - $SenderManagementRelationship, - - [Parameter()] - [System.Object[]] - $ExceptIfBetweenMemberOf2, - - [Parameter()] - [System.Object[]] - $RedirectMessageTo, - - [Parameter()] - [System.Boolean] - $ApplyOME, - - [Parameter()] - [System.Object[]] - $SenderDomainIs, - - [Parameter()] - [System.Object[]] - $SenderADAttributeContainsWords, - - [Parameter()] - [System.Object[]] - $ExceptIfAnyOfCcHeaderMemberOf, - - [Parameter()] - [System.Object] - $ApplyHtmlDisclaimerText, - - [Parameter()] - [System.Boolean] - $ExceptIfAttachmentHasExecutableContent, - - [Parameter()] - [System.Boolean] - $ExceptIfAttachmentIsUnsupported, - - [Parameter()] - [System.Boolean] - $RemoveOME, - - [Parameter()] - [System.Object] - $RejectMessageReasonText, - - [Parameter()] - [System.Object[]] - $RecipientAddressContainsWords, - - [Parameter()] - [System.Object] - $GenerateIncidentReport, - - [Parameter()] - [System.Object[]] - $FromAddressContainsWords, - - [Parameter()] - [System.Boolean] - $RemoveRMSAttachmentEncryption, - - [Parameter()] - [System.Object[]] - $RecipientAddressMatchesPatterns, - - [Parameter()] - [System.Object[]] - $ExceptIfSubjectContainsWords, - - [Parameter()] - [System.Object[]] - $ExceptIfFrom, - - [Parameter()] - [System.Object[]] - $AnyOfToCcHeader, - - [Parameter()] - [System.Object] - $ExceptIfSentToScope, - - [Parameter()] - [System.Object[]] - $ExceptIfAnyOfToCcHeaderMemberOf, - - [Parameter()] - [System.Boolean] - $ModerateMessageByManager, - - [Parameter()] - [System.Object] - $AdComparisonOperator, - - [Parameter()] - [System.Object] - $MessageSizeOver, - - [Parameter()] - [System.Object[]] - $BetweenMemberOf2, - - [Parameter()] - [System.Object[]] - $SubjectMatchesPatterns, - - [Parameter()] - [System.Boolean] - $AttachmentProcessingLimitExceeded, - - [Parameter()] - [System.Object[]] - $ExceptIfSubjectMatchesPatterns, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.Object[]] - $ExceptIfRecipientAddressContainsWords, - - [Parameter()] - [System.Object] - $HeaderMatchesMessageHeader, - - [Parameter()] - [System.Object[]] - $AnyOfRecipientAddressContainsWords, - - [Parameter()] - [System.Object[]] - $HeaderContainsWords, - - [Parameter()] - [System.String] - $Comments, - - [Parameter()] - [System.Object[]] - $SentToMemberOf, - - [Parameter()] - [System.Object] - $ExceptIfAdComparisonAttribute, - - [Parameter()] - [System.Object[]] - $ExceptIfSentTo, - - [Parameter()] - [System.Object] - $ExceptIfAdComparisonOperator, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Object[]] - $ExceptIfAnyOfToHeaderMemberOf, - - [Parameter()] - [System.Object] - $Mode, - - [Parameter()] - [System.Object[]] - $RecipientInSenderList, - - [Parameter()] - [System.Object[]] - $SubjectOrBodyMatchesPatterns, - - [Parameter()] - [System.Object[]] - $ExceptIfAttachmentExtensionMatchesWords, - - [Parameter()] - [System.Object[]] - $ExceptIfSubjectOrBodyMatchesPatterns, - - [Parameter()] - [System.Object[]] - $ExceptIfRecipientAddressMatchesPatterns, - - [Parameter()] - [System.Boolean] - $ExceptIfHasNoClassification, - - [Parameter()] - [System.Object] - $ExceptIfSenderIpRanges, - - [Parameter()] - [System.Object[]] - $ExceptIfRecipientADAttributeMatchesPatterns, - - [Parameter()] - [System.Object[]] - $RecipientADAttributeContainsWords, - - [Parameter()] - [System.Boolean] - $AttachmentIsUnsupported, - - [Parameter()] - [System.Object] - $ExpiryDate, - - [Parameter()] - [System.Object[]] - $AttachmentExtensionMatchesWords, - - [Parameter()] - [System.Object[]] - $ExceptIfSubjectOrBodyContainsWords, - - [Parameter()] - [System.Object] - $LogEventText, - - [Parameter()] - [System.Object[]] - $ExceptIfManagerAddresses, - - [Parameter()] - [System.Object[]] - $SenderInRecipientList, - - [Parameter()] - [System.Object[]] - $ExceptIfAnyOfToCcHeader, - - [Parameter()] - [System.Object[]] - $AttachmentMatchesPatterns, - - [Parameter()] - [System.String] - $DlpPolicy, - - [Parameter()] - [System.Object[]] - $ManagerAddresses, - - [Parameter()] - [System.Object] - $SenderAddressLocation, - - [Parameter()] - [System.Object[]] - $CopyTo, - - [Parameter()] - [System.Object[]] - $SubjectOrBodyContainsWords, - - [Parameter()] - [System.String] - $ApplyClassification, - - [Parameter()] - [System.Object[]] - $RecipientADAttributeMatchesPatterns, - - [Parameter()] - [System.Object] - $SetHeaderValue, - - [Parameter()] - [System.Boolean] - $AttachmentIsPasswordProtected, - - [Parameter()] - [System.Object[]] - $BetweenMemberOf1, - - [Parameter()] - [System.Object] - $ExceptIfMessageSizeOver, - - [Parameter()] - [System.Object[]] - $AnyOfCcHeader, - - [Parameter()] - [System.Boolean] - $ExceptIfAttachmentProcessingLimitExceeded, - - [Parameter()] - [System.Object[]] - $FromAddressMatchesPatterns, - - [Parameter()] - [System.Object] - $ExceptIfHeaderMatchesMessageHeader, - - [Parameter()] - [System.Object] - $SmtpRejectMessageRejectText, - - [Parameter()] - [System.Object[]] - $ExceptIfAttachmentContainsWords, - - [Parameter()] - [System.Object[]] - $AnyOfToHeader, - - [Parameter()] - [System.Boolean] - $ExceptIfHasSenderOverride, - - [Parameter()] - [System.Object] - $SCLOver, - - [Parameter()] - [System.Object] - $PrependSubject, - - [Parameter()] - [System.Object] - $ApplyRightsProtectionTemplate, - - [Parameter()] - [System.Object] - $MessageTypeMatches, - - [Parameter()] - [System.Object[]] - $ExceptIfAttachmentPropertyContainsWords, - - [Parameter()] - [System.Boolean] - $StopRuleProcessing, - - [Parameter()] - [System.Object] - $ExceptIfHeaderContainsMessageHeader - ) -} -function Set-UnifiedGroup -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Object] - $EmailAddresses, - - [Parameter()] - [System.Object] - $AcceptMessagesOnlyFromSendersOrMembers, - - [Parameter()] - [System.String] - $CustomAttribute12, - - [Parameter()] - [System.String] - $CustomAttribute10, - - [Parameter()] - [System.Globalization.CultureInfo] - $Language, - - [Parameter()] - [System.Object] - $IsMemberAllowedToEditContent, - - [Parameter()] - [System.String] - $CustomAttribute8, - - [Parameter()] - [System.String] - $CustomAttribute5, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $UnifiedGroupWelcomeMessageEnabled, - - [Parameter()] - [System.String] - $MailTip, - - [Parameter()] - [System.Object] - $ModeratedBy, - - [Parameter()] - [System.Object] - $PrimarySmtpAddress, - - [Parameter()] - [System.String] - $Classification, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AutoSubscribeNewMembers, - - [Parameter()] - [System.Object] - $AuditLogAgeLimit, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $HiddenFromExchangeClientsEnabled, - - [Parameter()] - [System.Object] - $MaxReceiveSize, - - [Parameter()] - [System.Object] - $ExtensionCustomAttribute5, - - [Parameter()] - [System.String] - $CustomAttribute15, - - [Parameter()] - [System.Object] - $RejectMessagesFromSendersOrMembers, - - [Parameter()] - [System.String] - $Alias, - - [Parameter()] - [System.String] - $DisplayName, - - [Parameter()] - [System.String] - $CustomAttribute1, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $SubscriptionEnabled, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $ForceUpgrade, - - [Parameter()] - [System.Object] - $AccessType, - - [Parameter()] - [System.String] - $MailboxRegion, - - [Parameter()] - [System.Object] - $GrantSendOnBehalfTo, - - [Parameter()] - [System.Object] - $ExtensionCustomAttribute1, - - [Parameter()] - [System.String] - $Notes, - - [Parameter()] - [System.String] - $CustomAttribute14, - - [Parameter()] - [System.Boolean] - $RequireSenderAuthenticationEnabled, - - [Parameter()] - [System.String] - $CustomAttribute9, - - [Parameter()] - [System.String] - $CustomAttribute6, - - [Parameter()] - [System.Object] - $DataEncryptionPolicy, - - [Parameter()] - [System.Object] - $ExtensionCustomAttribute4, - - [Parameter()] - [System.Object] - $SensitivityLabelId, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $AlwaysSubscribeMembersToCalendarEvents, - - [Parameter()] - [System.Object] - $ExtensionCustomAttribute2, - - [Parameter()] - [System.String] - $CustomAttribute13, - - [Parameter()] - [System.String] - $CustomAttribute2, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $CalendarMemberReadOnly, - - [Parameter()] - [System.Object] - $InformationBarrierMode, - - [Parameter()] - [System.Object] - $MaxSendSize, - - [Parameter()] - [System.Object] - $MailTipTranslations, - - [Parameter()] - [System.String] - $CustomAttribute7, - - [Parameter()] - [System.String] - $CustomAttribute4, - - [Parameter()] - [System.Object] - $ExtensionCustomAttribute3, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $ConnectorsEnabled, - - [Parameter()] - [System.Boolean] - $ModerationEnabled, - - [Parameter()] - [System.String] - $CustomAttribute3, - - [Parameter()] - [System.String] - $CustomAttribute11, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Boolean] - $HiddenFromAddressListsEnabled - ) -} -function Set-User -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $Company, - - [Parameter()] - [System.String] - $Phone, - - [Parameter()] - [System.String] - $DisplayName, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.String] - $Office, - - [Parameter()] - [System.Object] - $CountryOrRegion, - - [Parameter()] - [System.Object] - $AuthenticationPolicy, - - [Parameter()] - [System.Object] - $OtherTelephone, - - [Parameter()] - [System.String] - $Pager, - - [Parameter()] - [System.String] - $Name, - - [Parameter()] - [System.String] - $PhoneticDisplayName, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $ClearDataEncryptionPolicy, - - [Parameter()] - [System.String] - $Fax, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Force, - - [Parameter()] - [System.String] - $LastName, - - [Parameter()] - [System.Object] - $StsRefreshTokensValidFrom, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $RemoveMailboxProvisioningConstraint, - - [Parameter()] - [System.Boolean] - $ResetPasswordOnNextLogon, - - [Parameter()] - [System.Boolean] - $BlockCloudCache, - - [Parameter()] - [System.Object] - $SeniorityIndex, - - [Parameter()] - [System.String] - $City, - - [Parameter()] - [System.Boolean] - $VIP, - - [Parameter()] - [System.String] - $Title, - - [Parameter()] - [System.String] - $MobilePhone, - - [Parameter()] - [System.String] - $AssistantName, - - [Parameter()] - [System.String] - $StateOrProvince, - - [Parameter()] - [System.String] - $Initials, - - [Parameter()] - [System.String] - $WebPage, - - [Parameter()] - [System.String] - $Notes, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $PermanentlyClearPreviousMailboxInfo, - - [Parameter()] - [System.String] - $MailboxRegion, - - [Parameter()] - [System.Object] - $Manager, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $OtherFax, - - [Parameter()] - [System.String] - $SimpleDisplayName, - - [Parameter()] - [System.Object] - $MailboxRegionSuffix, - - [Parameter()] - [System.String] - $HomePhone, - - [Parameter()] - [System.String] - $Department, - - [Parameter()] - [System.Object] - $OtherHomePhone, - - [Parameter()] - [System.String] - $FirstName, - - [Parameter()] - [System.Object] - $PostOfficeBox, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $PublicFolder, - - [Parameter()] - [System.Object] - $WindowsEmailAddress, - - [Parameter()] - [System.Boolean] - $RemotePowerShellEnabled, - - [Parameter()] - [System.String] - $PostalCode, - - [Parameter()] - [System.Object] - $GeoCoordinates, - - [Parameter()] - [System.String] - $StreetAddress, - - [Parameter()] - [System.Object] - $DesiredWorkloads, - - [Parameter()] - [System.Boolean] - $CanHaveCloudCache - ) -} -function Update-RoleGroupMember -{ - [CmdletBinding()] - param( - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, - - [Parameter()] - [System.Object] - $Identity, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $BypassSecurityGroupManagerCheck, - - [Parameter()] - [System.Object] - $Members - ) -} -#endregion #region PnP.PowerShell function Add-PnPApp From e118ebc242039dcad74803b8f67f46deb4cff42e Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Mon, 2 Oct 2023 19:58:44 -0400 Subject: [PATCH 22/32] Update Microsoft365.psm1 --- Tests/Unit/Stubs/Microsoft365.psm1 | 6276 +++++++++++++++++++--------- 1 file changed, 4295 insertions(+), 1981 deletions(-) diff --git a/Tests/Unit/Stubs/Microsoft365.psm1 b/Tests/Unit/Stubs/Microsoft365.psm1 index 7a25f2c490..8a04f97a59 100644 --- a/Tests/Unit/Stubs/Microsoft365.psm1 +++ b/Tests/Unit/Stubs/Microsoft365.psm1 @@ -12491,8 +12491,6 @@ function Update-RoleGroupMember ) } #endregion - - #region Microsoft.Graph.Applications function Get-MgApplication { @@ -59827,3979 +59825,6295 @@ function Get-MgBetaDirectoryObject ) } #endregion +#region SecurityComplianceCenter +function Get-AdminAuditLogConfig +{ + [CmdletBinding()] + param( - -#region Microsoft.Graph.Groups -function Get-MgGroup + ) +} +function Get-AuditConfig { [CmdletBinding()] param( [Parameter()] - [System.String[]] - $Property, - + [System.Object] + $DomainController + ) +} +function Get-AuditConfigurationPolicy +{ + [CmdletBinding()] + param( [Parameter()] - [PSObject] - $InputObject, + [System.Object] + $Identity, [Parameter()] - [System.Int32] - $PageSize, - + [System.Object] + $DomainController + ) +} +function Get-AutoSensitivityLabelPolicy +{ + [CmdletBinding()] + param( [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Management.Automation.SwitchParameter] + $ForceValidate, [Parameter()] - [System.Int32] - $Skip, + [System.Boolean] + $IncludeTestModeResults, [Parameter()] - [System.Int32] - $Top, + [System.Object] + $Identity, [Parameter()] - [System.String] - $CountVariable, + [System.Management.Automation.SwitchParameter] + $IncludeProgressFeedback, [Parameter()] - [System.String] - $GroupId, - + [System.Management.Automation.SwitchParameter] + $DistributionDetail + ) +} +function Get-AutoSensitivityLabelRule +{ + [CmdletBinding()] + param( [Parameter()] - [System.Uri] - $Proxy, + [System.Management.Automation.SwitchParameter] + $ForceValidate, [Parameter()] - [System.String[]] - $Sort, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] - [System.String] - $ConsistencyLevel, + [System.Object] + $Identity, [Parameter()] - [System.Management.Automation.SwitchParameter] - $All, + [System.Boolean] + $IncludeExecutionRuleInformation, [Parameter()] - [System.String] - $Filter, + [System.Object] + $Policy, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Boolean] + $IncludeExecutionRuleGuids + ) +} +function Get-CaseHoldPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $IncludeBindingsOnly, [Parameter()] [System.String] - $Search, + $Case, [Parameter()] [System.Management.Automation.SwitchParameter] - $Break, + $IncludeBindings, [Parameter()] - [System.String[]] - $ExpandProperty, + [System.Object] + $Identity, [Parameter()] [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + $DistributionDetail + ) +} +function Get-CaseHoldRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $Identity, [Parameter()] - [PSObject] - $HttpPipelineAppend + [System.Object] + $Policy ) } -function Get-MgGroupLifecyclePolicy +function Get-ComplianceCase { [CmdletBinding()] param( [Parameter()] - [System.String[]] - $Property, + [System.Object] + $CaseType, [Parameter()] - [PSObject] - $InputObject, + [System.String] + $RoleGroup, [Parameter()] [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + $RecentOnly, [Parameter()] - [System.String] - $GroupLifecyclePolicyId, + [System.Object] + $Identity, [Parameter()] - [System.Int32] - $PageSize, + [System.Object] + $DomainController + ) +} +function Get-ComplianceRetentionEvent +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $BeginDateTime, [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Object] + $Identity, [Parameter()] - [System.Int32] - $Skip, + [System.Management.Automation.SwitchParameter] + $PreviewOnly, [Parameter()] - [System.Int32] - $Top, + [System.Object] + $EndDateTime, [Parameter()] - [System.String] - $CountVariable, + [System.Object] + $DomainController + ) +} +function Get-ComplianceRetentionEventType +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $Identity, + [Parameter()] + [System.Management.Automation.SwitchParameter] + $LoadTag + ) +} +function Get-ComplianceSearch +{ + [CmdletBinding()] + param( [Parameter()] [System.String] - $GroupId, + $Case, [Parameter()] - [System.Uri] - $Proxy, + [System.Object] + $Identity, [Parameter()] - [System.String[]] - $Sort, + [System.Object] + $ResultSize + ) +} +function Get-ComplianceSearchAction +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $Case, [Parameter()] [System.Management.Automation.SwitchParameter] - $All, + $Purge, [Parameter()] - [System.String] - $Filter, + [System.Object] + $Identity, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Management.Automation.SwitchParameter] + $IncludeCredential, [Parameter()] - [System.String] - $Search, + [System.Management.Automation.SwitchParameter] + $Details, [Parameter()] [System.Management.Automation.SwitchParameter] - $Break, + $Export, [Parameter()] - [System.String[]] - $ExpandProperty, + [System.Management.Automation.SwitchParameter] + $Preview, [Parameter()] - [PSObject] - $HttpPipelineAppend + [System.Object] + $ResultSize ) } -function Get-MgGroupMember +function Get-ComplianceTag { [CmdletBinding()] param( - [Parameter()] - [System.String[]] - $Property, - [Parameter()] [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + $IncludingLabelState, [Parameter()] - [System.Int32] - $PageSize, - + [System.Object] + $Identity + ) +} +function Get-DeviceConditionalAccessPolicy +{ + [CmdletBinding()] + param( [Parameter()] - [PSObject] - $HttpPipelinePrepend, - + [System.Object] + $Identity + ) +} +function Get-DeviceConfigurationPolicy +{ + [CmdletBinding()] + param( [Parameter()] - [System.Int32] - $Skip, - + [System.Object] + $Identity + ) +} +function Get-DlpCompliancePolicy +{ + [CmdletBinding()] + param( [Parameter()] - [System.Int32] - $Top, + [System.Management.Automation.SwitchParameter] + $Summary, [Parameter()] - [System.String] - $CountVariable, + [System.Boolean] + $IncludeRulesMetadata, [Parameter()] - [System.String] - $GroupId, + [System.Management.Automation.SwitchParameter] + $ForceValidate, [Parameter()] - [System.Uri] - $Proxy, + [System.Boolean] + $IncludeExtendedProperties, [Parameter()] - [System.String[]] - $Sort, + [System.Object] + $Identity, [Parameter()] - [System.String] - $ConsistencyLevel, + [System.Management.Automation.SwitchParameter] + $IRMUserRiskConfiguredAnyRule, [Parameter()] [System.Management.Automation.SwitchParameter] - $All, - + $DistributionDetail + ) +} +function Get-DlpComplianceRule +{ + [CmdletBinding()] + param( [Parameter()] - [System.String] - $Filter, + [System.Object] + $Identity, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Object] + $Policy, [Parameter()] - [System.String] - $Search, - + [System.Boolean] + $IncludeExecutionRuleGuids + ) +} +function Get-FilePlanPropertyAuthority +{ + [CmdletBinding()] + param( [Parameter()] - [System.Management.Automation.SwitchParameter] - $Break, - + [System.Object] + $Identity + ) +} +function Get-FilePlanPropertyCategory +{ + [CmdletBinding()] + param( [Parameter()] - [System.String[]] - $ExpandProperty, - + [System.Object] + $Identity + ) +} +function Get-FilePlanPropertyCitation +{ + [CmdletBinding()] + param( [Parameter()] - [PSObject] - $HttpPipelineAppend + [System.Object] + $Identity ) } -function Get-MgGroupMemberOf +function Get-FilePlanPropertyDepartment { [CmdletBinding()] param( [Parameter()] - [System.String[]] - $Property, - + [System.Object] + $Identity + ) +} +function Get-FilePlanPropertyReferenceId +{ + [CmdletBinding()] + param( [Parameter()] - [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, - + [System.Object] + $Identity + ) +} +function Get-FilePlanPropertySubCategory +{ + [CmdletBinding()] + param( [Parameter()] - [System.Int32] - $PageSize, - + [System.Object] + $Identity + ) +} +function Get-Label +{ + [CmdletBinding()] + param( [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Management.Automation.SwitchParameter] + $IncludeDetailedLabelActions, [Parameter()] - [System.Int32] - $Skip, + [System.Management.Automation.SwitchParameter] + $SkipValidations, [Parameter()] - [PSObject] - $InputObject, + [System.Management.Automation.SwitchParameter] + $ValidateContentTypeRemoval, [Parameter()] - [System.Int32] - $Top, - + [System.Object] + $Identity + ) +} +function Get-LabelPolicy +{ + [CmdletBinding()] + param( [Parameter()] - [System.String] - $CountVariable, + [System.Management.Automation.SwitchParameter] + $ForceValidate, [Parameter()] - [System.String] - $GroupId, - + [System.Object] + $Identity + ) +} +function Get-ManagementRole +{ + [CmdletBinding()] + param( [Parameter()] - [System.Uri] - $Proxy, + [System.Object] + $RoleType, [Parameter()] [System.String[]] - $Sort, + $CmdletParameters, [Parameter()] - [System.String] - $ConsistencyLevel, + [System.String[]] + $ScriptParameters, [Parameter()] - [System.Management.Automation.SwitchParameter] - $All, + [System.Object] + $Identity, [Parameter()] [System.String] - $Filter, - - [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + $Cmdlet, [Parameter()] - [System.String] - $Search, + [System.Management.Automation.SwitchParameter] + $Recurse, [Parameter()] [System.String] - $DirectoryObjectId, + $Script, [Parameter()] [System.Management.Automation.SwitchParameter] - $Break, - - [Parameter()] - [System.String[]] - $ExpandProperty, - - [Parameter()] - [PSObject] - $HttpPipelineAppend + $GetChildren ) } -function Get-MgGroupOwner +function Get-ProtectionAlert { [CmdletBinding()] param( [Parameter()] - [System.String[]] - $Property, - + [System.Object] + $Identity + ) +} +function Get-RetentionCompliancePolicy +{ + [CmdletBinding()] + param( [Parameter()] [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + $IncludeTestModeResults, [Parameter()] - [System.Int32] - $PageSize, + [System.Management.Automation.SwitchParameter] + $ExcludeTeamsPolicy, [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Management.Automation.SwitchParameter] + $RetentionRuleTypes, [Parameter()] - [System.Int32] - $Skip, + [System.Object] + $Identity, [Parameter()] - [System.Int32] - $Top, + [System.Management.Automation.SwitchParameter] + $ErrorPolicyOnly, [Parameter()] - [System.String] - $CountVariable, + [System.Management.Automation.SwitchParameter] + $DistributionDetail, [Parameter()] - [System.String] - $GroupId, - + [System.Management.Automation.SwitchParameter] + $TeamsPolicyOnly + ) +} +function Get-RetentionComplianceRule +{ + [CmdletBinding()] + param( [Parameter()] - [System.Uri] - $Proxy, + [System.Object] + $Identity, [Parameter()] - [System.String[]] - $Sort, - + [System.Object] + $Policy + ) +} +function Get-RoleGroup +{ + [CmdletBinding()] + param( [Parameter()] [System.String] - $ConsistencyLevel, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $All, + $SortBy, [Parameter()] [System.String] $Filter, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Object] + $Identity, [Parameter()] - [System.String] - $Search, + [System.Object] + $Organization, [Parameter()] [System.Management.Automation.SwitchParameter] - $Break, - - [Parameter()] - [System.String[]] - $ExpandProperty, + $ShowPartnerLinked, [Parameter()] - [PSObject] - $HttpPipelineAppend + [System.Object] + $ResultSize ) } -function New-MgGroup +function Get-RoleGroupMember { [CmdletBinding()] param( [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object] + $Identity, [Parameter()] - [System.String] - $Mail, - + [System.Object] + $ResultSize + ) +} +function Get-ServicePrincipal +{ + [CmdletBinding()] + param( [Parameter()] - [System.String] - $Visibility, + [System.Object] + $Identity, [Parameter()] - [PSObject] - $PermissionGrants, - + [System.Object] + $Organization + ) +} +function Get-SupervisoryReviewPolicy +{ + [CmdletBinding()] + param( [Parameter()] - [PSObject] - $Sites, + [System.Object] + $Identity, [Parameter()] - [PSObject] - $AppRoleAssignments, + [System.Object] + $ResultSize + ) +} +function Get-SupervisoryReviewPolicyV2 +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $Identity + ) +} +function Get-SupervisoryReviewRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object] + $Policy + ) +} +function Get-User +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $SortBy, [Parameter()] [System.Management.Automation.SwitchParameter] - $SecurityEnabled, + $PublicFolder, [Parameter()] - [System.DateTime] - $CreatedDateTime, + [System.Object] + $Identity, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Object[]] + $RecipientTypeDetails, [Parameter()] - [PSObject] - $Calendar, + [System.Object] + $ResultSize, [Parameter()] [System.String] - $SecurityIdentifier, + $Filter + ) +} +function New-AuditConfigurationPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $Workload, [Parameter()] - [PSObject] - $AssignedLicenses, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] - [System.DateTime] - $RenewedDateTime, + [System.Object] + $DomainController + ) +} +function New-AutoSensitivityLabelPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object[]] + $OneDriveSharedBy, [Parameter()] - [PSObject] - $RejectedSenders, + [System.Object] + $SharePointAdaptiveScopes, [Parameter()] - [PSObject] - $Extensions, + [System.Object] + $ExternalMailRightsManagementOwner, [Parameter()] - [System.Int32] - $UnseenCount, + [System.Object] + $OneDriveAdaptiveScopesException, [Parameter()] - [System.String] - $Classification, + [System.Object] + $PolicyTemplateInfo, + + [Parameter()] + [System.Object] + $PolicyRBACScopes, [Parameter()] [System.Management.Automation.SwitchParameter] - $AutoSubscribeNewMembers, + $Force, [Parameter()] - [System.String[]] - $ProxyAddresses, + [System.Object] + $SharePointLocation, [Parameter()] - [System.String] - $OnPremisesNetBiosName, + [System.Object] + $Priority, [Parameter()] - [System.DateTime] - $ExpirationDateTime, + [System.Object[]] + $ExchangeSenderException, [Parameter()] - [System.Uri] - $Proxy, + [System.Object[]] + $ExceptIfOneDriveSharedBy, [Parameter()] - [PSObject] - $OnPremisesProvisioningErrors, + [System.Object] + $ExchangeLocation, + + [Parameter()] + [System.Object] + $OneDriveLocationException, [Parameter()] [System.String] - $OnPremisesSecurityIdentifier, + $Name, [Parameter()] [System.String] - $PreferredLanguage, + $Comment, [Parameter()] - [PSObject] - $TransitiveMembers, + [System.Object] + $OneDriveAdaptiveScopes, [Parameter()] [System.Management.Automation.SwitchParameter] - $HideFromAddressLists, + $Confirm, [Parameter()] - [PSObject] - $Planner, + [System.Boolean] + $UnifiedAuditLogEnabled, + + [Parameter()] + [System.Object] + $ExchangeAdaptiveScopesException, + + [Parameter()] + [System.Object[]] + $ExceptIfOneDriveSharedByMemberOf, [Parameter()] [System.String] - $Id, + $ApplySensitivityLabel, [Parameter()] - [System.DateTime] - $OnPremisesLastSyncDateTime, + [System.Object[]] + $OneDriveSharedByMemberOf, [Parameter()] - [PSObject] - $Owners, + [System.Object[]] + $ExchangeSender, [Parameter()] - [PSObject] - $GroupLifecyclePolicies, + [System.Object] + $OneDriveLocation, [Parameter()] - [PSObject] - $LicenseProcessingState, + [System.Object[]] + $ExchangeSenderMemberOf, [Parameter()] - [System.String] - $OnPremisesDomainName, + [System.Object] + $SharePointAdaptiveScopesException, [Parameter()] - [PSObject] - $Settings, + [System.Object[]] + $ExchangeSenderMemberOfException, [Parameter()] - [PSObject] - $AssignedLabels, + [System.Object] + $ExchangeAdaptiveScopes, [Parameter()] - [PSObject] - $AcceptedSenders, + [System.Object] + $SharePointLocationException, [Parameter()] - [PSObject] - $Onenote, + [System.Object] + $Mode, [Parameter()] - [System.String] - $MembershipRuleProcessingState, + [System.Boolean] + $OverwriteLabel + ) +} +function New-AutoSensitivityLabelRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object[]] + $SentToMemberOf, [Parameter()] - [System.String] - $Description, + [System.Object] + $ExceptIfRecipientDomainIs, [Parameter()] - [PSObject] - $MemberOf, + [System.Object[]] + $ExceptIfContentContainsSensitiveInformation, [Parameter()] - [System.Management.Automation.SwitchParameter] - $MailEnabled, + [System.Object] + $ExceptIfFromAddressContainsWords, [Parameter()] - [PSObject] - $Drives, + [System.Boolean] + $ExceptIfProcessingLimitExceeded, [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowExternalSenders, + [System.Object] + $AnyOfRecipientAddressMatchesPatterns, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + [System.Object] + $DocumentNameMatchesWords, [Parameter()] - [System.String] - $DisplayName, + [System.Object] + $ReportSeverityLevel, [Parameter()] - [PSObject] - $Photo, + [System.Object] + $ExceptIfSenderDomainIs, [Parameter()] - [System.String] - $Theme, + [System.Boolean] + $ProcessingLimitExceeded, [Parameter()] - [System.DateTime] - $DeletedDateTime, + [System.Object] + $ExceptIfAnyOfRecipientAddressContainsWords, [Parameter()] - [System.Management.Automation.SwitchParameter] - $HasMembersWithLicenseErrors, + [System.Object] + $ExceptIfSenderIPRanges, [Parameter()] - [System.Collections.Hashtable] - $AdditionalProperties, + [System.Object] + $FromAddressMatchesPatterns, [Parameter()] - [PSObject] - $TransitiveMemberOf, + [System.Object[]] + $ExceptIfFrom, [Parameter()] - [System.Management.Automation.SwitchParameter] - $OnPremisesSyncEnabled, + [System.Boolean] + $DocumentIsPasswordProtected, [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Object] + $ExceptIfSubjectMatchesPatterns, [Parameter()] - [System.Management.Automation.SwitchParameter] - $IsArchived, + [System.Object] + $ContentExtensionMatchesWords, [Parameter()] - [PSObject] - $Drive, + [System.Object] + $ImmutableId, [Parameter()] - [System.String] - $MailNickname, + [System.Object] + $AnyOfRecipientAddressContainsWords, [Parameter()] - [PSObject] - $CalendarView, + [System.Object[]] + $ExceptIfFromMemberOf, [Parameter()] - [PSObject] - $Photos, + [System.Object] + $ExceptIfFromAddressMatchesPatterns, [Parameter()] - [System.Management.Automation.SwitchParameter] - $IsAssignableToRole, + [System.Object] + $ExceptIfAccessScope, [Parameter()] - [PSObject] - $HttpPipelineAppend, + [System.Object] + $ExceptIfHeaderMatchesPatterns, [Parameter()] - [PSObject] - $CreatedOnBehalfOf, + [System.Object] + $RecipientDomainIs, [Parameter()] - [System.Management.Automation.SwitchParameter] - $HideFromOutlookClients, + [System.String] + $Comment, [Parameter()] - [System.Management.Automation.SwitchParameter] - $IsSubscribedByMail, + [System.Object[]] + $From, [Parameter()] - [PSObject] - $Events, + [System.Object] + $AccessScope, [Parameter()] - [PSObject] - $Threads, + [System.Object] + $ActivationDate, [Parameter()] - [PSObject] - $Team, + [System.Object] + $ExceptIfContentPropertyContainsWords, [Parameter()] - [PSObject] - $Members, + [System.Boolean] + $ExceptIfDocumentIsPasswordProtected, [Parameter()] - [System.String[]] - $GroupTypes, + [System.Object[]] + $ExceptIfSentToMemberOf, [Parameter()] - [System.String] - $MembershipRule, + [System.Object] + $DocumentCreatedBy, [Parameter()] - [System.String] - $PreferredDataLocation, + [System.Object] + $ExceptIfDocumentSizeOver, [Parameter()] - [System.String] - $OnPremisesSamAccountName, + [System.Object] + $ExceptIfDocumentNameMatchesWords, [Parameter()] - [PSObject] - $Conversations, + [System.Object] + $Priority, [Parameter()] - [PSObject] - $MembersWithLicenseErrors, + [System.Object] + $Policy, [Parameter()] - [PSObject] - $BodyParameter, + [System.Object] + $SenderIPRanges, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Break - ) -} -function New-MgGroupLifecyclePolicy -{ - [CmdletBinding()] - param( + [System.Object] + $SenderDomainIs, + [Parameter()] - [PSObject] - $InputObject, + [System.Object[]] + $ContentContainsSensitiveInformation, [Parameter()] - [System.Collections.Hashtable] - $AdditionalProperties, + [System.Object[]] + $FromMemberOf, [Parameter()] [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + $Confirm, [Parameter()] - [System.Int32] - $GroupLifetimeInDays, + [System.Boolean] + $Disabled, [Parameter()] - [System.String] - $AlternateNotificationEmails, + [System.Boolean] + $ExceptIfDocumentIsUnsupported, [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Object] + $RuleErrorAction, [Parameter()] - [System.String] - $ManagedGroupTypes, + [System.Object] + $ContentPropertyContainsWords, [Parameter()] - [System.String] - $GroupId, + [System.Object] + $SentTo, [Parameter()] - [System.Uri] - $Proxy, + [System.Boolean] + $DocumentIsUnsupported, [Parameter()] - [PSObject] - $BodyParameter, + [System.Object] + $SubjectMatchesPatterns, + + [Parameter()] + [System.Object] + $HeaderMatchesPatterns, + + [Parameter()] + [System.Object] + $ExceptIfSentTo, + + [Parameter()] + [System.Object] + $ExpiryDate, + + [Parameter()] + [System.Object] + $ExceptIfContentExtensionMatchesWords, [Parameter()] [System.String] - $Id, + $Name, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object] + $FromAddressContainsWords, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Object] + $DocumentSizeOver, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Break, + [System.Object] + $ExceptIfDocumentCreatedBy, [Parameter()] - [PSObject] - $HttpPipelineAppend + [System.Object] + $ExceptIfAnyOfRecipientAddressMatchesPatterns, + + [Parameter()] + [System.Object] + $Workload ) } -function New-MgGroupMember +function New-CaseHoldPolicy { [CmdletBinding()] param( [Parameter()] - [PSObject] - $HttpPipelinePrepend, - - [Parameter()] - [System.Collections.Hashtable] - $BodyParameter, - - [Parameter()] - [System.Uri] - $Proxy, + [System.String] + $Name, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Object] + $PublicFolderLocation, [Parameter()] [System.String] - $GroupId, + $Case, [Parameter()] - [PSObject] - $InputObject, + [System.Object] + $ExchangeLocation, [Parameter()] [System.Management.Automation.SwitchParameter] $Confirm, [Parameter()] - [PSObject] - $HttpPipelineAppend, + [System.String] + $Comment, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + [System.Object] + $SharePointLocation, [Parameter()] - [System.String] - $DirectoryObjectId, + [System.Boolean] + $Enabled, [Parameter()] [System.Management.Automation.SwitchParameter] - $Break + $Force ) } -function New-MgGroupMemberByRef +function New-CaseHoldRule { [CmdletBinding()] param( [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.String] + $Name, [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Boolean] + $Disabled, [Parameter()] - [PSObject] - $BodyParameter, + [System.Object] + $Policy, [Parameter()] - [System.Uri] - $Proxy, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] - [System.Management.Automation.SwitchParameter] - $PassThru, + [System.String] + $Comment, [Parameter()] - [PSObject] - $InputObject, + [System.String] + $ContentMatchQuery + ) +} +function New-ComplianceCase +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $CaseType, [Parameter()] [System.String] - $OdataId, + $Description, [Parameter()] - [PSObject] - $HttpPipelineAppend, + [System.String] + $SourceCaseType, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + [System.String] + $Name, [Parameter()] [System.String] - $GroupId, + $ExternalId, [Parameter()] [System.Management.Automation.SwitchParameter] $Confirm, [Parameter()] - [System.Collections.Hashtable] - $AdditionalProperties, + [System.Object] + $DomainController, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Break + [System.String] + $SecondaryCaseType ) } -function New-MgGroupOwner +function New-ComplianceRetentionEvent { [CmdletBinding()] param( [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Object] + $EventType, [Parameter()] - [System.Collections.Hashtable] - $BodyParameter, + [System.String] + $Name, [Parameter()] - [System.Uri] - $Proxy, + [System.Object] + $EventDateTime, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.String] + $AssetId, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] [System.String] - $GroupId, + $Comment, [Parameter()] - [PSObject] - $InputObject, + [System.Object] + $DomainController, [Parameter()] [System.Management.Automation.SwitchParameter] - $Confirm, + $PreviewOnly, [Parameter()] - [PSObject] - $HttpPipelineAppend, + [System.Object] + $EventTags, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + [System.String] + $SharePointAssetIdQuery, [Parameter()] [System.String] - $DirectoryObjectId, + $ExchangeAssetIdQuery + ) +} +function New-ComplianceRetentionEventType +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $Name, [Parameter()] [System.Management.Automation.SwitchParameter] - $Break + $Confirm, + + [Parameter()] + [System.String] + $Comment ) } -function New-MgGroupOwnerByRef +function New-ComplianceSearch { [CmdletBinding()] param( [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.String[]] + $RefinerNames, [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.String] + $Description, [Parameter()] - [PSObject] - $BodyParameter, + [System.String] + $Name, [Parameter()] - [System.Uri] - $Proxy, + [System.Boolean] + $IncludeUserAppContent, + + [Parameter()] + [System.String[]] + $SharePointLocationExclusion, + + [Parameter()] + [System.Boolean] + $AllowNotFoundExchangeLocationsEnabled, [Parameter()] [System.Management.Automation.SwitchParameter] - $PassThru, + $Force, [Parameter()] - [PSObject] - $InputObject, + [System.String[]] + $SharePointLocation, + + [Parameter()] + [System.String[]] + $ExchangeLocation, [Parameter()] [System.String] - $OdataId, + $Case, [Parameter()] - [PSObject] - $HttpPipelineAppend, + [System.String[]] + $PublicFolderLocation, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + [System.Boolean] + $IncludeOrgContent, [Parameter()] - [System.String] - $GroupId, + [System.String[]] + $HoldNames, [Parameter()] [System.Management.Automation.SwitchParameter] $Confirm, [Parameter()] - [System.Collections.Hashtable] - $AdditionalProperties, + [System.Globalization.CultureInfo] + $Language, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Break + [System.String[]] + $ExchangeLocationExclusion, + + [Parameter()] + [System.String] + $ContentMatchQuery ) } -function Remove-MgGroup +function New-ComplianceSearchAction { [CmdletBinding()] param( [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.String[]] + $SearchName, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Object] + $ArchiveFormat, [Parameter()] - [System.Uri] - $Proxy, + [System.Management.Automation.SwitchParameter] + $IncludeCredential, [Parameter()] - [System.Management.Automation.SwitchParameter] - $PassThru, + [System.Boolean] + $IncludeSharePointDocumentVersions, [Parameter()] [System.String] - $IfMatch, + $ReferenceActionName, [Parameter()] - [PSObject] - $InputObject, + [System.Management.Automation.SwitchParameter] + $Preview, [Parameter()] [System.Management.Automation.SwitchParameter] - $Confirm, + $Force, [Parameter()] - [PSObject] - $HttpPipelineAppend, + [System.String[]] + $FileTypeExclusionsForUnindexedItems, [Parameter()] [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + $RetryOnError, [Parameter()] [System.String] - $GroupId, + $Version, - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Break - ) -} -function Remove-MgGroupLifecyclePolicy -{ - [CmdletBinding()] - param( [Parameter()] [System.String] - $GroupLifecyclePolicyId, + $NotifyEmailCC, [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Object] + $Format, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Int32] + $JobOptions, [Parameter()] - [System.Uri] - $Proxy, + [System.Boolean] + $EnableDedupe, [Parameter()] [System.Management.Automation.SwitchParameter] - $PassThru, + $RetentionReport, [Parameter()] - [System.String] - $IfMatch, - - [Parameter()] - [PSObject] - $InputObject, + [System.Management.Automation.SwitchParameter] + $Purge, [Parameter()] [System.Management.Automation.SwitchParameter] - $Confirm, + $Export, [Parameter()] - [PSObject] - $HttpPipelineAppend, + [System.Object] + $PurgeType, [Parameter()] [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + $Report, [Parameter()] [System.String] - $GroupId, + $Region, [Parameter()] [System.Management.Automation.SwitchParameter] - $Break - ) -} -function Remove-MgGroupMemberByRef -{ - [CmdletBinding()] - param( - [Parameter()] - [System.String] - $Id, + $Confirm, [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Object] + $ExchangeArchiveFormat, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Object] + $Scenario, [Parameter()] - [System.Uri] - $Proxy, + [System.Object] + $Scope, [Parameter()] - [System.Management.Automation.SwitchParameter] - $PassThru, + [System.String[]] + $SearchNames, [Parameter()] [System.String] - $GroupId, + $NotifyEmail, + + [Parameter()] + [System.Object] + $SharePointArchiveFormat, [Parameter()] [System.String] - $IfMatch, + $ActionName + ) +} +function New-ComplianceTag +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $AutoApprovalPeriod, [Parameter()] - [PSObject] - $InputObject, + [System.String] + $Comment, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.String] + $RetentionType, [Parameter()] - [PSObject] - $HttpPipelineAppend, + [System.Boolean] + $Regulatory, [Parameter()] [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + $Confirm, [Parameter()] [System.String] - $DirectoryObjectId, + $Name, - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Break - ) -} -function Remove-MgGroupOwnerByRef -{ - [CmdletBinding()] - param( [Parameter()] [System.String] - $Id, + $FilePlanProperty, [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Management.Automation.SwitchParameter] + $Force, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.String] + $RetentionAction, [Parameter()] - [System.Uri] - $Proxy, + [System.Object] + $FlowId, [Parameter()] - [System.Management.Automation.SwitchParameter] - $PassThru, + [System.Boolean] + $IsRecordUnlockedAsDefault, [Parameter()] [System.String] - $GroupId, + $ComplianceTagForNextStage, [Parameter()] [System.String] - $IfMatch, + $Notes, [Parameter()] - [PSObject] - $InputObject, + [System.Object] + $EventType, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object] + $IsRecordLabel, [Parameter()] - [PSObject] - $HttpPipelineAppend, + [System.Object[]] + $ReviewerEmail, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + [System.Object] + $RetentionDuration, [Parameter()] [System.String] - $DirectoryObjectId, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $Break + $MultiStageReviewProperty ) } -function Set-MgGroupLicense +function New-DeviceConditionalAccessPolicy { [CmdletBinding()] param( [Parameter()] - [PSObject] - $HttpPipelinePrepend, - - [Parameter()] - [PSObject] - $BodyParameter, - - [Parameter()] - [System.Uri] - $Proxy, + [System.Management.Automation.SwitchParameter] + $Force, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.String] + $Name, [Parameter()] - [System.String[]] - $RemoveLicenses, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] - [PSObject] - $AddLicenses, + [System.String] + $Comment, [Parameter()] - [PSObject] - $InputObject, - + [System.Boolean] + $Enabled + ) +} +function New-DeviceConfigurationPolicy +{ + [CmdletBinding()] + param( [Parameter()] [System.Management.Automation.SwitchParameter] - $Confirm, + $Force, [Parameter()] - [PSObject] - $HttpPipelineAppend, + [System.String] + $Name, [Parameter()] [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + $Confirm, [Parameter()] [System.String] - $GroupId, - - [Parameter()] - [System.Collections.Hashtable] - $AdditionalProperties, + $Comment, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Break + [System.Boolean] + $Enabled ) } -function Update-MgGroup +function New-DlpCompliancePolicy { [CmdletBinding()] param( [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object[]] + $OneDriveSharedBy, [Parameter()] - [System.String] - $Mail, + [System.Object] + $SharePointAdaptiveScopes, [Parameter()] - [System.String] - $Visibility, + [System.Object] + $TeamsAdaptiveScopes, [Parameter()] - [PSObject] - $InputObject, + [System.Object] + $PolicyTemplateInfo, [Parameter()] - [PSObject] - $PermissionGrants, + [System.Object] + $OneDriveAdaptiveScopesException, [Parameter()] - [PSObject] - $Sites, + [System.Object] + $Priority, [Parameter()] - [PSObject] - $AppRoleAssignments, + [System.Object] + $TeamsAdaptiveScopesException, [Parameter()] [System.Management.Automation.SwitchParameter] - $SecurityEnabled, + $Confirm, [Parameter()] - [System.DateTime] - $CreatedDateTime, + [System.String] + $Name, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Object] + $EndpointDlpLocationException, [Parameter()] - [PSObject] - $Calendar, + [System.Object] + $EndpointDlpAdaptiveScopes, [Parameter()] - [System.String] - $SecurityIdentifier, + [System.Object] + $PolicyRBACScopes, [Parameter()] - [PSObject] - $AssignedLicenses, + [System.Object] + $SharePointAdaptiveScopesException, [Parameter()] - [System.DateTime] - $RenewedDateTime, + [System.Object] + $SharePointLocation, [Parameter()] - [PSObject] - $RejectedSenders, + [System.Object[]] + $ExceptIfOneDriveSharedBy, [Parameter()] - [PSObject] - $Extensions, + [System.Object] + $SharePointLocationException, [Parameter()] - [System.Int32] - $UnseenCount, + [System.Object] + $ThirdPartyAppDlpLocationException, [Parameter()] - [System.String] - $Classification, + [System.Object] + $ExchangeAdaptiveScopes, [Parameter()] - [System.Management.Automation.SwitchParameter] - $AutoSubscribeNewMembers, + [System.Object] + $OneDriveLocationException, [Parameter()] [System.String] - $MailNickname, + $Comment, [Parameter()] - [System.String[]] - $ProxyAddresses, + [System.Object] + $OneDriveAdaptiveScopes, [Parameter()] - [System.DateTime] - $ExpirationDateTime, + [System.Object] + $TeamsLocation, [Parameter()] - [System.Uri] - $Proxy, + [System.Object] + $ExchangeLocation, [Parameter()] - [PSObject] - $OnPremisesProvisioningErrors, + [System.Object] + $TeamsLocationException, [Parameter()] - [System.String] - $OnPremisesSecurityIdentifier, + [System.Object] + $OnPremisesScannerDlpLocation, [Parameter()] - [System.String] - $PreferredLanguage, + [System.Object] + $EndpointDlpLocation, [Parameter()] - [PSObject] - $TransitiveMembers, + [System.Object] + $ExchangeAdaptiveScopesException, [Parameter()] - [System.Management.Automation.SwitchParameter] - $HideFromAddressLists, + [System.Object[]] + $ExceptIfOneDriveSharedByMemberOf, [Parameter()] - [PSObject] - $Planner, + [System.Object] + $PowerBIDlpLocation, [Parameter()] - [System.String] - $Id, + [System.Object[]] + $OneDriveSharedByMemberOf, [Parameter()] - [System.DateTime] - $OnPremisesLastSyncDateTime, + [System.Object] + $PowerBIDlpLocationException, [Parameter()] - [PSObject] - $Owners, + [System.Object] + $ThirdPartyAppDlpLocation, [Parameter()] - [PSObject] - $GroupLifecyclePolicies, + [System.Object] + $OneDriveLocation, [Parameter()] - [PSObject] - $LicenseProcessingState, + [System.Object] + $OnPremisesScannerDlpLocationException, [Parameter()] - [System.String] - $OnPremisesDomainName, + [System.Object[]] + $ExchangeSenderMemberOf, [Parameter()] - [PSObject] - $Settings, + [System.Object[]] + $ExchangeSenderMemberOfException, [Parameter()] - [PSObject] - $AssignedLabels, + [System.Management.Automation.SwitchParameter] + $Force, [Parameter()] - [PSObject] - $AcceptedSenders, + [System.Object] + $Mode, [Parameter()] - [PSObject] - $Onenote, + [System.Object] + $EndpointDlpAdaptiveScopesException + ) +} +function New-DlpComplianceRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Boolean] + $ExceptIfDocumentIsUnsupported, [Parameter()] - [System.String] - $MembershipRuleProcessingState, + [System.Boolean] + $ProcessingLimitExceeded, [Parameter()] - [System.String] - $Description, + [System.Object] + $ImmutableId, [Parameter()] - [PSObject] - $MemberOf, + [System.Object] + $ActivationDate, [Parameter()] - [System.Management.Automation.SwitchParameter] - $MailEnabled, + [System.Object] + $NotifyUser, [Parameter()] - [PSObject] - $Drives, + [System.Boolean] + $ExceptIfDocumentIsPasswordProtected, [Parameter()] - [System.Management.Automation.SwitchParameter] - $AllowExternalSenders, + [System.Object] + $ExceptIfRecipientADAttributeContainsWords, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + [System.Object] + $ExceptIfDocumentNameMatchesPatterns, [Parameter()] - [System.String] - $DisplayName, + [System.Object] + $NotifyEndpointUser, [Parameter()] - [PSObject] - $Photo, + [System.Object] + $ExceptIfSenderADAttributeContainsWords, [Parameter()] [System.String] - $Theme, + $NotifyEmailCustomSubject, [Parameter()] - [System.DateTime] - $DeletedDateTime, + [System.Object[]] + $FromMemberOf, [Parameter()] - [System.Management.Automation.SwitchParameter] - $HasMembersWithLicenseErrors, + [System.Boolean] + $EnforcePortalAccess, [Parameter()] - [System.Collections.Hashtable] - $AdditionalProperties, + [System.Boolean] + $ContentIsShared, [Parameter()] - [PSObject] - $TransitiveMemberOf, + [System.Object[]] + $ExceptIfSentToMemberOf, [Parameter()] - [System.String] - $GroupId, + [System.Object] + $AddRecipients, [Parameter()] - [System.Management.Automation.SwitchParameter] - $OnPremisesSyncEnabled, + [System.Object] + $ExceptIfUnscannableDocumentExtensionIs, [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Object] + $RecipientDomainIs, [Parameter()] - [System.Management.Automation.SwitchParameter] - $IsArchived, + [System.Object] + $SenderADAttributeContainsWords, [Parameter()] - [PSObject] - $Drive, + [System.Object] + $ExceptIfHeaderMatchesPatterns, [Parameter()] - [System.String] - $OnPremisesNetBiosName, + [System.Object] + $ExceptIfFromScope, [Parameter()] - [PSObject] - $CalendarView, + [System.Object] + $ExceptIfHeaderContainsWords, [Parameter()] - [PSObject] - $Photos, + [System.Object] + $HeaderMatchesPatterns, [Parameter()] - [System.Management.Automation.SwitchParameter] - $IsAssignableToRole, + [System.Object] + $ContentPropertyContainsWords, [Parameter()] - [PSObject] - $HttpPipelineAppend, + [System.Boolean] + $HasSenderOverride, [Parameter()] - [PSObject] - $CreatedOnBehalfOf, + [System.Object] + $SetHeader, [Parameter()] - [System.Management.Automation.SwitchParameter] - $HideFromOutlookClients, + [System.Object] + $ExceptIfSubjectOrBodyMatchesPatterns, [Parameter()] - [System.Management.Automation.SwitchParameter] - $IsSubscribedByMail, + [System.Boolean] + $ExceptIfHasSenderOverride, [Parameter()] - [PSObject] - $Events, + [System.Boolean] + $Quarantine, [Parameter()] - [PSObject] - $Threads, + [System.Object] + $ExceptIfAnyOfRecipientAddressMatchesPatterns, [Parameter()] - [PSObject] - $Team, + [System.Object] + $ExceptIfContentCharacterSetContainsWords, [Parameter()] - [PSObject] - $Members, + [System.Object] + $EncryptRMSTemplate, [Parameter()] - [System.String[]] - $GroupTypes, + [System.Boolean] + $NotifyEmailExchangeIncludeAttachment, [Parameter()] - [System.String] - $MembershipRule, + [System.Object] + $ExceptIfAccessScope, [Parameter()] - [System.String] - $PreferredDataLocation, + [System.Object] + $ExceptIfMessageTypeMatches, [Parameter()] - [System.String] - $OnPremisesSamAccountName, + [System.Object] + $SenderIPRanges, [Parameter()] - [PSObject] - $Conversations, + [System.Object] + $ExceptIfDocumentNameMatchesWords, [Parameter()] - [PSObject] - $MembersWithLicenseErrors, + [System.Object] + $ExceptIfContentFileTypeMatches, [Parameter()] - [PSObject] - $BodyParameter, + [System.Object] + $ExceptIfContentExtensionMatchesWords, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Break - ) -} -function Update-MgGroupLifecyclePolicy -{ - [CmdletBinding()] - param( + [System.Object] + $RemoveHeader, + [Parameter()] - [PSObject] - $InputObject, + [System.Object] + $ApplyHtmlDisclaimer, [Parameter()] - [System.Collections.Hashtable] - $AdditionalProperties, + [System.Object[]] + $ExceptIfFromMemberOf, + + [Parameter()] + [System.Object] + $Moderate, + + [Parameter()] + [System.String] + $NotifyEmailCustomSenderDisplayName, + + [Parameter()] + [System.Object] + $GenerateAlert, + + [Parameter()] + [System.String] + $PrependSubject, + + [Parameter()] + [System.Object[]] + $From, + + [Parameter()] + [System.Object] + $ExceptIfWithImportance, + + [Parameter()] + [System.Object] + $ContentCharacterSetContainsWords, + + [Parameter()] + [System.Object[]] + $ContentContainsSensitiveInformation, + + [Parameter()] + [System.Object] + $SubjectContainsWords, + + [Parameter()] + [System.Object[]] + $EndpointDlpRestrictions, + + [Parameter()] + [System.Object] + $SenderADAttributeMatchesPatterns, + + [Parameter()] + [System.Object] + $ExceptIfSenderADAttributeMatchesPatterns, + + [Parameter()] + [System.Object[]] + $IncidentReportContent, + + [Parameter()] + [System.Object] + $DocumentContainsWords, + + [Parameter()] + [System.Object[]] + $ExceptIfFrom, + + [Parameter()] + [System.Boolean] + $RestrictBrowserAccess, + + [Parameter()] + [System.Object] + $ExceptIfDocumentCreatedBy, + + [Parameter()] + [System.String] + $NotifyPolicyTipUrl, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $RuleErrorAction, + + [Parameter()] + [System.Object] + $FromScope, + + [Parameter()] + [System.Object] + $SentTo, + + [Parameter()] + [System.Object] + $ExceptIfFromAddressMatchesPatterns, + + [Parameter()] + [System.String] + $NotifyPolicyTipCustomText, + + [Parameter()] + [System.Object] + $ExceptIfFromAddressContainsWords, + + [Parameter()] + [System.Boolean] + $ExceptIfProcessingLimitExceeded, + + [Parameter()] + [System.Object] + $DocumentNameMatchesPatterns, + + [Parameter()] + [System.Object] + $Priority, + + [Parameter()] + [System.Object[]] + $OnPremisesScannerDlpRestrictions, + + [Parameter()] + [System.Object] + $ExceptIfSenderDomainIs, + + [Parameter()] + [System.Object[]] + $RedirectMessageTo, + + [Parameter()] + [System.Boolean] + $RemoveRMSTemplate, + + [Parameter()] + [System.Object] + $UnscannableDocumentExtensionIs, + + [Parameter()] + [System.Object] + $DocumentCreatedBy, + + [Parameter()] + [System.Object] + $ReportSeverityLevel, + + [Parameter()] + [System.Object] + $SenderDomainIs, + + [Parameter()] + [System.String] + $ApplyBrandingTemplate, + + [Parameter()] + [System.Object] + $ExceptIfDocumentMatchesPatterns, + + [Parameter()] + [System.Object] + $RecipientADAttributeMatchesPatterns, + + [Parameter()] + [System.Object] + $DocumentNameMatchesWords, + + [Parameter()] + [System.Object] + $ExceptIfContentPropertyContainsWords, + + [Parameter()] + [System.Object] + $GenerateIncidentReport, + + [Parameter()] + [System.Object] + $FromAddressContainsWords, + + [Parameter()] + [System.Object] + $AnyOfRecipientAddressMatchesPatterns, + + [Parameter()] + [System.Object] + $ExceptIfSubjectContainsWords, + + [Parameter()] + [System.Object] + $SubjectOrBodyMatchesPatterns, + + [Parameter()] + [System.String] + $AdvancedRule, + + [Parameter()] + [System.Object] + $DocumentMatchesPatterns, + + [Parameter()] + [System.Object] + $SharedByIRMUserRisk, + + [Parameter()] + [System.Object[]] + $EndpointDlpBrowserRestrictions, + + [Parameter()] + [System.Object] + $SubjectMatchesPatterns, + + [Parameter()] + [System.Object] + $ExceptIfSubjectMatchesPatterns, + + [Parameter()] + [System.Boolean] + $ExceptIfContentIsShared, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Object] + $ExceptIfAnyOfRecipientAddressContainsWords, + + [Parameter()] + [System.Object] + $AnyOfRecipientAddressContainsWords, + + [Parameter()] + [System.Object] + $HeaderContainsWords, + + [Parameter()] + [System.Object] + $AlertProperties, + + [Parameter()] + [System.Object] + $ContentExtensionMatchesWords, + + [Parameter()] + [System.Object] + $WithImportance, + + [Parameter()] + [System.Object] + $MessageSizeOver, + + [Parameter()] + [System.Object] + $ExceptIfSentTo, + + [Parameter()] + [System.Boolean] + $DocumentIsUnsupported, + + [Parameter()] + [System.Object[]] + $DocumentCreatedByMemberOf, + + [Parameter()] + [System.Boolean] + $ContentIsNotLabeled, + + [Parameter()] + [System.Object] + $AccessScope, + + [Parameter()] + [System.Object] + $ExceptIfDocumentSizeOver, + + [Parameter()] + [System.String] + $Comment, + + [Parameter()] + [System.Object[]] + $NotifyAllowOverride, + + [Parameter()] + [System.Object] + $NotifyOverrideRequirements, + + [Parameter()] + [System.Object] + $ExceptIfSenderIPRanges, + + [Parameter()] + [System.Object] + $ExceptIfRecipientADAttributeMatchesPatterns, + + [Parameter()] + [System.Object] + $RecipientADAttributeContainsWords, + + [Parameter()] + [System.Object[]] + $ThirdPartyAppDlpRestrictions, + + [Parameter()] + [System.Object] + $ExpiryDate, + + [Parameter()] + [System.Boolean] + $StopPolicyProcessing, + + [Parameter()] + [System.Object[]] + $ExceptIfContentContainsSensitiveInformation, + + [Parameter()] + [System.Object[]] + $SentToMemberOf, + + [Parameter()] + [System.Object] + $DocumentSizeOver, + + [Parameter()] + [System.Object] + $MessageTypeMatches, + + [Parameter()] + [System.Object] + $ModifySubject, + + [Parameter()] + [System.Boolean] + $Disabled, + + [Parameter()] + [System.Object] + $ContentFileTypeMatches, + + [Parameter()] + [System.String] + $NotifyEmailCustomText, + + [Parameter()] + [System.Boolean] + $BlockAccess, + + [Parameter()] + [System.Object] + $SenderAddressLocation, + + [Parameter()] + [System.Object] + $SubjectOrBodyContainsWords, + + [Parameter()] + [System.Object] + $NotifyPolicyTipCustomTextTranslations, + + [Parameter()] + [System.Object] + $Policy, + + [Parameter()] + [System.Object] + $NotifyPolicyTipDisplayOption, + + [Parameter()] + [System.Object] + $NonBifurcatingAccessScope, + + [Parameter()] + [System.Boolean] + $DocumentIsPasswordProtected, + + [Parameter()] + [System.Object] + $ExceptIfRecipientDomainIs, + + [Parameter()] + [System.Object] + $ExceptIfDocumentContainsWords, + + [Parameter()] + [System.Object] + $FromAddressMatchesPatterns, + + [Parameter()] + [System.Object] + $BlockAccessScope, + + [Parameter()] + [System.Object[]] + $ExceptIfDocumentCreatedByMemberOf, + + [Parameter()] + [System.Object] + $ExceptIfSubjectOrBodyContainsWords, + + [Parameter()] + [System.Object] + $NotifyUserType, + + [Parameter()] + [System.Object] + $ExceptIfMessageSizeOver + ) +} +function New-FilePlanPropertyAuthority +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm + ) +} +function New-FilePlanPropertyCategory +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm + ) +} +function New-FilePlanPropertyCitation +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $CitationUrl, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.String] + $CitationJurisdiction + ) +} +function New-FilePlanPropertyDepartment +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm + ) +} +function New-FilePlanPropertyReferenceId +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm + ) +} +function New-FilePlanPropertySubCategory +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $ParentId, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm + ) +} +function New-Label +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $EncryptionEncryptOnly, + + [Parameter()] + [System.String] + $EncryptionDoubleKeyEncryptionUrl, + + [Parameter()] + [System.String] + $ApplyContentMarkingHeaderText, + + [Parameter()] + [System.Object] + $Setting, + + [Parameter()] + [System.Object] + $ApplyContentMarkingFooterEnabled, + + [Parameter()] + [System.Object] + $EncryptionEnabled, + + [Parameter()] + [System.Object] + $SiteAndGroupProtectionEnabled, + + [Parameter()] + [System.Object] + $SiteAndGroupProtectionAllowFullAccess, + + [Parameter()] + [System.String] + $EncryptionAipTemplateScopes, + + [Parameter()] + [System.Object] + $TeamsEndToEndEncryptionEnabled, + + [Parameter()] + [System.Object] + $ApplyContentMarkingFooterFontSize, + + [Parameter()] + [System.String] + $ColumnAssetCondition, + + [Parameter()] + [System.Object] + $ApplyWaterMarkingFontSize, + + [Parameter()] + [System.String] + $ApplyContentMarkingHeaderFontColor, + + [Parameter()] + [System.String] + $EncryptionContentExpiredOnDateInDaysOrNever, + + [Parameter()] + [System.String] + $ApplyWaterMarkingText, + + [Parameter()] + [System.Object] + $ApplyWaterMarkingLayout, + + [Parameter()] + [System.String] + $DefaultContentLabel, + + [Parameter()] + [System.String] + $ApplyWaterMarkingFontName, + + [Parameter()] + [System.Object] + $SiteAndGroupProtectionLevel, + + [Parameter()] + [System.String] + $ApplyContentMarkingFooterText, + + [Parameter()] + [System.Object] + $TeamsLobbyRestrictionEnforced, + + [Parameter()] + [System.Object] + $SiteAndGroupProtectionAllowEmailFromGuestUsers, + + [Parameter()] + [System.Object] + $TeamsLobbyBypassScope, + + [Parameter()] + [System.Object] + $SiteAndGroupProtectionAllowLimitedAccess, + + [Parameter()] + [System.Object] + $EncryptionDoNotForward, + + [Parameter()] + [System.Object] + $TeamsProtectionEnabled, + + [Parameter()] + [System.Object] + $ParentId, + + [Parameter()] + [System.String] + $DisplayName, + + [Parameter()] + [System.String] + $SchematizedDataCondition, + + [Parameter()] + [System.String] + $Comment, + + [Parameter()] + [System.Object] + $ApplyContentMarkingFooterMargin, + + [Parameter()] + [System.Object] + $Settings, + + [Parameter()] + [System.String] + $MigrationId, + + [Parameter()] + [System.Object] + $TeamsWhoCanRecord, + + [Parameter()] + [System.String] + $ApplyContentMarkingFooterFontColor, + + [Parameter()] + [System.String] + $ApplyContentMarkingFooterFontName, + + [Parameter()] + [System.Object] + $TeamsVideoWatermark, + + [Parameter()] + [System.Object] + $ApplyContentMarkingHeaderMargin, + + [Parameter()] + [System.String] + $EncryptionLinkedTemplateId, + + [Parameter()] + [System.Object] + $EncryptionRightsDefinitions, + + [Parameter()] + [System.Object] + $TeamsCopyRestrictionEnforced, + + [Parameter()] + [System.Object] + $ApplyContentMarkingHeaderAlignment, + + [Parameter()] + [System.Object] + $LabelActions, + + [Parameter()] + [System.Object] + $TeamsBypassLobbyForDialInUsers, + + [Parameter()] + [System.Object] + $ApplyContentMarkingHeaderFontSize, + + [Parameter()] + [System.Object] + $LocaleSettings, + + [Parameter()] + [System.Object] + $TeamsAllowedPresenters, + + [Parameter()] + [System.Object] + $AdvancedSettings, + + [Parameter()] + [System.Object] + $EncryptionProtectionType, + + [Parameter()] + [System.String] + $ApplyContentMarkingHeaderFontName, + + [Parameter()] + [System.Object] + $ApplyContentMarkingFooterAlignment, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $SiteExternalSharingControlType, + + [Parameter()] + [System.Object] + $TeamsPresentersRestrictionEnforced, + + [Parameter()] + [System.Object] + $TeamsAllowMeetingChat, + + [Parameter()] + [System.Object] + $SiteAndGroupProtectionAllowAccessToGuestUsers, + + [Parameter()] + [System.Object] + $SiteAndGroupProtectionPrivacy, + + [Parameter()] + [System.Object] + $EncryptionPromptUser, + + [Parameter()] + [System.String] + $Tooltip, + + [Parameter()] + [System.Object] + $SiteAndGroupProtectionBlockAccess, + + [Parameter()] + [System.Object] + $EncryptionOfflineAccessDays, + + [Parameter()] + [System.Object] + $ApplyContentMarkingHeaderEnabled, + + [Parameter()] + [System.String] + $EncryptionTemplateId, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Object] + $ContentType, + + [Parameter()] + [System.String] + $ApplyWaterMarkingFontColor, + + [Parameter()] + [System.String] + $EncryptionRightsUrl, + + [Parameter()] + [System.Object] + $Conditions, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object] + $ApplyWaterMarkingEnabled, + + [Parameter()] + [System.Object] + $TeamsRecordAutomatically + ) +} +function New-LabelPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $Labels, + + [Parameter()] + [System.Object] + $ModernGroupLocationException, + + [Parameter()] + [System.Object] + $Settings, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Object] + $AdvancedSettings, + + [Parameter()] + [System.Object] + $PolicyRBACScopes, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Force, + + [Parameter()] + [System.Object] + $SharePointLocation, + + [Parameter()] + [System.Object] + $Setting, + + [Parameter()] + [System.Object] + $ExchangeLocation, + + [Parameter()] + [System.Object] + $OneDriveLocationException, + + [Parameter()] + [System.Object] + $PublicFolderLocation, + + [Parameter()] + [System.String] + $Comment, + + [Parameter()] + [System.String] + $MigrationId, + + [Parameter()] + [System.Object] + $ModernGroupLocation, + + [Parameter()] + [System.Object] + $ExchangeLocationException, + + [Parameter()] + [System.Object] + $ExchangeAdaptiveScopesException, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $OneDriveLocation, + + [Parameter()] + [System.Object] + $SkypeLocation, + + [Parameter()] + [System.Object] + $SkypeLocationException, + + [Parameter()] + [System.Object] + $ExchangeAdaptiveScopes, + + [Parameter()] + [System.Object] + $SharePointLocationException + ) +} +function New-ProtectionAlert +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Boolean] + $NotificationEnabled, + + [Parameter()] + [System.Object] + $NotifyUserThrottleWindow, + + [Parameter()] + [System.Object] + $Threshold, + + [Parameter()] + [System.Boolean] + $Disabled, + + [Parameter()] + [System.String] + $Description, + + [Parameter()] + [System.Object] + $Operation, + + [Parameter()] + [System.Object] + $NotifyUser, + + [Parameter()] + [System.Object] + $AlertBy, + + [Parameter()] + [System.Object] + $NotifyUserThrottleThreshold, + + [Parameter()] + [System.Object] + $PrivacyManagementScopedSensitiveInformationTypesForCounting, + + [Parameter()] + [System.Object] + $AggregationType, + + [Parameter()] + [System.Object] + $UseCreatedDateTime, + + [Parameter()] + [System.Object] + $NotifyUserSuppressionExpiryDate, + + [Parameter()] + [System.Object] + $VolumeThreshold, + + [Parameter()] + [System.Object] + $TimeWindow, + + [Parameter()] + [System.Object] + $PrivacyManagementScopedSensitiveInformationTypes, + + [Parameter()] + [System.String] + $Comment, + + [Parameter()] + [System.Object] + $Category, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Object] + $AlertFor, + + [Parameter()] + [System.Object] + $CorrelationPolicyId, + + [Parameter()] + [System.String] + $LogicalOperationName, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Severity, + + [Parameter()] + [System.Object] + $CustomProperties, + + [Parameter()] + [System.String] + $Filter, + + [Parameter()] + [System.Boolean] + $NotifyUserOnFilterMatch, + + [Parameter()] + [System.Object] + $ThreatType, + + [Parameter()] + [System.Globalization.CultureInfo] + $NotificationCulture, + + [Parameter()] + [System.Object] + $PrivacyManagementScopedSensitiveInformationTypesThreshold + ) +} +function New-RetentionCompliancePolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $TeamsChannelLocation, + + [Parameter()] + [System.Object] + $ModernGroupLocationException, + + [Parameter()] + [System.Object] + $Applications, + + [Parameter()] + [System.Boolean] + $Enabled, + + [Parameter()] + [System.Object] + $PolicyTemplateInfo, + + [Parameter()] + [System.Object] + $PolicyRBACScopes, + + [Parameter()] + [System.Object] + $ExchangeLocation, + + [Parameter()] + [System.Object] + $SharePointLocation, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $IsSimulation, + + [Parameter()] + [System.Object] + $OneDriveLocationException, + + [Parameter()] + [System.Object] + $PublicFolderLocation, + + [Parameter()] + [System.String] + $Comment, + + [Parameter()] + [System.Boolean] + $RetainCloudAttachment, + + [Parameter()] + [System.Object] + $ModernGroupLocation, + + [Parameter()] + [System.Object] + $ExchangeLocationException, + + [Parameter()] + [System.Object] + $TeamsChatLocationException, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Object] + $TeamsChatLocation, + + [Parameter()] + [System.Object] + $OneDriveLocation, + + [Parameter()] + [System.Object] + $SkypeLocation, + + [Parameter()] + [System.Object] + $TeamsChannelLocationException, + + [Parameter()] + [System.Object] + $SkypeLocationException, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Force, + + [Parameter()] + [System.Object] + $SharePointLocationException, + + [Parameter()] + [System.Object] + $AdaptiveScopeLocation, + + [Parameter()] + [System.Boolean] + $RestrictiveRetention + ) +} +function New-RetentionComplianceRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $RetentionDuration, + + [Parameter()] + [System.Object] + $ExcludedItemClasses, + + [Parameter()] + [System.String] + $PublishComplianceTag, + + [Parameter()] + [System.String] + $RetentionComplianceAction, + + [Parameter()] + [System.String] + $ContentMatchQuery, + + [Parameter()] + [System.String] + $ApplyComplianceTag, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.String] + $ExpirationDateOption, + + [Parameter()] + [System.String] + $Comment, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Object] + $MachineLearningModelIDs, + + [Parameter()] + [System.Object] + $Policy, + + [Parameter()] + [System.Object] + $RetentionDurationDisplayHint, + + [Parameter()] + [System.Object[]] + $ContentContainsSensitiveInformation + ) +} +function New-RoleGroup +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $Description, + + [Parameter()] + [System.Object[]] + $Roles, + + [Parameter()] + [System.String] + $DisplayName, + + [Parameter()] + [System.Object] + $Members, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Guid] + $Id, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Force + ) +} +function New-SupervisoryReviewPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $Description, + + [Parameter()] + [System.Double] + $SamplingRate, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.String] + $Condition, + + [Parameter()] + [System.Object] + $PolicyType, + + [Parameter()] + [System.String[]] + $Reviewers + ) +} +function New-SupervisoryReviewPolicyV2 +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.String] + $Comment, + + [Parameter()] + [System.String[]] + $UserReportingWorkloads, + + [Parameter()] + [System.Boolean] + $Enabled, + + [Parameter()] + [System.String[]] + $Reviewers, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Force + ) +} +function New-SupervisoryReviewRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $ExceptIfFrom, + + [Parameter()] + [System.Boolean] + $DayXInsights, + + [Parameter()] + [System.String] + $Name, + + [Parameter()] + [System.String[]] + $ContentSources, + + [Parameter()] + [System.Object] + $ExceptIfRevieweeIs, + + [Parameter()] + [System.String] + $CcsiDataModelOperator, + + [Parameter()] + [System.Object[]] + $ContentContainsSensitiveInformation, + + [Parameter()] + [System.String] + $InPurviewFilter, + + [Parameter()] + [System.Object] + $Policy, + + [Parameter()] + [System.Object] + $ExceptIfSentTo, + + [Parameter()] + [System.Object] + $ExceptIfSubjectOrBodyContainsWords, + + [Parameter()] + [System.Object] + $ExceptIfRecipientDomainIs, + + [Parameter()] + [System.String] + $AdvancedRule, + + [Parameter()] + [System.Object] + $From, + + [Parameter()] + [System.String] + $ContentMatchesDataModel, + + [Parameter()] + [System.Object] + $SentTo, + + [Parameter()] + [System.String] + $Condition, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $ExceptIfSenderDomainIs, + + [Parameter()] + [System.Boolean] + $Ocr, + + [Parameter()] + [System.Int32] + $SamplingRate, + + [Parameter()] + [System.String[]] + $IncludeAdaptiveScopes + ) +} +function Remove-AuditConfigurationPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object] + $DomainController + ) +} +function Remove-AutoSensitivityLabelPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-AutoSensitivityLabelRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-CaseHoldPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ForceDeletion + ) +} +function Remove-CaseHoldRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ForceDeletion + ) +} +function Remove-ComplianceCase +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object] + $DomainController + ) +} +function Remove-ComplianceRetentionEvent +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $PreviewOnly, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ForceDeletion + ) +} +function Remove-ComplianceRetentionEventType +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ForceDeletion + ) +} +function Remove-ComplianceSearch +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-ComplianceSearchAction +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-ComplianceTag +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ForceDeletion + ) +} +function Remove-DeviceConditionalAccessPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-DeviceConfigurationPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-DlpCompliancePolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-DlpComplianceRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-FilePlanPropertyAuthority +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ForceDeletion + ) +} +function Remove-FilePlanPropertyCategory +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ForceDeletion + ) +} +function Remove-FilePlanPropertyCitation +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ForceDeletion + ) +} +function Remove-FilePlanPropertyDepartment +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ForceDeletion + ) +} +function Remove-FilePlanPropertyReferenceId +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ForceDeletion + ) +} +function Remove-FilePlanPropertySubCategory +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ForceDeletion + ) +} +function Remove-Label +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-LabelPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-ProtectionAlert +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ForceDeletion + ) +} +function Remove-RetentionCompliancePolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ForceDeletion + ) +} +function Remove-RetentionComplianceRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ForceDeletion + ) +} +function Remove-RoleGroup +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Force, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-SupervisoryReviewPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $Identity + ) +} +function Remove-SupervisoryReviewPolicyV2 +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $ForceDeletion + ) +} +function Set-AutoSensitivityLabelPolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object[]] + $OneDriveSharedBy, + + [Parameter()] + [System.Object] + $SharePointAdaptiveScopes, + + [Parameter()] + [System.Boolean] + $SpoAipIntegrationEnabled, + + [Parameter()] + [System.Object] + $ExternalMailRightsManagementOwner, + + [Parameter()] + [System.Object] + $PolicyTemplateInfo, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object] + $OneDriveAdaptiveScopesException, + + [Parameter()] + [System.Boolean] + $Enabled, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $RemoveOneDriveLocationException, + + [Parameter()] + [System.Object] + $AddSharePointLocation, + + [Parameter()] + [System.Object] + $AddExchangeLocation, + + [Parameter()] + [System.Object] + $PolicyRBACScopes, + + [Parameter()] + [System.Object] + $SharePointAdaptiveScopesException, + + [Parameter()] + [System.Object] + $ExchangeAdaptiveScopes, + + [Parameter()] + [System.Object] + $Priority, + + [Parameter()] + [System.Object] + $RemoveSharePointLocation, + + [Parameter()] + [System.Object[]] + $ExceptIfOneDriveSharedBy, + + [Parameter()] + [System.Object] + $AddOneDriveLocationException, + + [Parameter()] + [System.String] + $Comment, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $RetryDistribution, + + [Parameter()] + [System.Object[]] + $ExchangeSenderException, + + [Parameter()] + [System.Object] + $OneDriveAdaptiveScopes, + + [Parameter()] + [System.Object] + $AddSharePointLocationException, + + [Parameter()] + [System.Boolean] + $OverwriteLabel, + + [Parameter()] + [System.Object[]] + $ExceptIfOneDriveSharedByMemberOf, + + [Parameter()] + [System.String] + $ApplySensitivityLabel, + + [Parameter()] + [System.Object[]] + $OneDriveSharedByMemberOf, + + [Parameter()] + [System.Object[]] + $ExchangeSender, + + [Parameter()] + [System.Object] + $RemoveSharePointLocationException, + + [Parameter()] + [System.Object] + $RemoveExchangeLocation, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $SystemOperation, + + [Parameter()] + [System.Object[]] + $ExchangeSenderMemberOf, + + [Parameter()] + [System.Object[]] + $ExchangeSenderMemberOfException, + + [Parameter()] + [System.Object] + $RemoveOneDriveLocation, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Force, + + [Parameter()] + [System.Object] + $AddOneDriveLocation, + + [Parameter()] + [System.Object] + $AutoEnableAfter, + + [Parameter()] + [System.Object] + $Mode, + + [Parameter()] + [System.Object] + $ExchangeAdaptiveScopesException, + + [Parameter()] + [System.Boolean] + $StartSimulation + ) +} +function Set-AutoSensitivityLabelRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object[]] + $SentToMemberOf, + + [Parameter()] + [System.Object] + $ExceptIfRecipientDomainIs, + + [Parameter()] + [System.Object[]] + $ExceptIfContentContainsSensitiveInformation, + + [Parameter()] + [System.Object] + $ExceptIfFromAddressContainsWords, + + [Parameter()] + [System.Boolean] + $ExceptIfProcessingLimitExceeded, + + [Parameter()] + [System.Object] + $AnyOfRecipientAddressMatchesPatterns, + + [Parameter()] + [System.Object] + $DocumentNameMatchesWords, + + [Parameter()] + [System.Object] + $ReportSeverityLevel, + + [Parameter()] + [System.Object] + $ExceptIfSenderDomainIs, + + [Parameter()] + [System.Object] + $DocumentCreatedBy, [Parameter()] - [System.Int32] - $GroupLifetimeInDays, + [System.Object] + $ExceptIfAnyOfRecipientAddressContainsWords, [Parameter()] - [System.String] - $AlternateNotificationEmails, + [System.Object] + $ExceptIfSenderIPRanges, [Parameter()] - [System.String] - $GroupLifecyclePolicyId, + [System.Object] + $FromAddressMatchesPatterns, [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Object[]] + $ExceptIfFrom, [Parameter()] - [System.String] - $ManagedGroupTypes, + [System.Boolean] + $DocumentIsPasswordProtected, [Parameter()] - [System.String] - $GroupId, + [System.Object] + $ExceptIfSubjectMatchesPatterns, [Parameter()] - [System.Uri] - $Proxy, + [System.Object] + $ContentExtensionMatchesWords, [Parameter()] - [PSObject] - $BodyParameter, + [System.Object] + $AnyOfRecipientAddressContainsWords, [Parameter()] - [System.String] - $Id, + [System.Object] + $ExceptIfFromAddressMatchesPatterns, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object] + $ExceptIfAccessScope, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Object] + $ExceptIfHeaderMatchesPatterns, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Break, + [System.Object] + $RecipientDomainIs, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + [System.String] + $Comment, [Parameter()] - [PSObject] - $HttpPipelineAppend - ) -} -#endregion -#region Microsoft.Graph.Identity.DirectoryManagement -#endregion -#region Microsoft.Graph.Identity.Governance -#endregion -#region Microsoft.Graph.Planner -function Get-MgGroupPlanner -{ - [CmdletBinding()] - param( + [System.Object[]] + $ExceptIfFromMemberOf, + [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Object[]] + $From, [Parameter()] - [System.Uri] - $Proxy, + [System.Object] + $AccessScope, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Object] + $ActivationDate, [Parameter()] - [PSObject] - $InputObject, + [System.Object] + $ExceptIfContentPropertyContainsWords, [Parameter()] - [PSObject] - $HttpPipelineAppend, + [System.Boolean] + $ExceptIfDocumentIsPasswordProtected, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + [System.Object[]] + $ExceptIfSentToMemberOf, [Parameter()] - [System.String[]] - $ExpandProperty, + [System.Object] + $ExceptIfDocumentSizeOver, [Parameter()] - [System.String[]] - $Property, + [System.Object] + $ExceptIfDocumentNameMatchesWords, [Parameter()] - [System.String] - $GroupId, + [System.Object] + $Priority, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Break - ) -} -function Get-MgGroupPlannerPlan -{ - [CmdletBinding()] - param( + [System.Object] + $SenderIPRanges, + [Parameter()] - [System.String[]] - $Property, + [System.Object] + $SenderDomainIs, [Parameter()] - [PSObject] - $InputObject, + [System.Object[]] + $ContentContainsSensitiveInformation, + + [Parameter()] + [System.Object[]] + $FromMemberOf, + + [Parameter()] + [System.Object] + $Identity, [Parameter()] [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + $Confirm, [Parameter()] - [System.Int32] - $PageSize, + [System.Boolean] + $Disabled, [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Boolean] + $ExceptIfDocumentIsUnsupported, [Parameter()] - [System.Int32] - $Skip, + [System.Object] + $RuleErrorAction, [Parameter()] - [System.Int32] - $Top, + [System.Object] + $ContentPropertyContainsWords, [Parameter()] - [System.String] - $CountVariable, + [System.Object] + $ExceptIfAnyOfRecipientAddressMatchesPatterns, [Parameter()] - [System.String] - $GroupId, + [System.Boolean] + $DocumentIsUnsupported, [Parameter()] - [System.Uri] - $Proxy, + [System.Object] + $SubjectMatchesPatterns, [Parameter()] - [System.String] - $PlannerPlanId, + [System.Object] + $HeaderMatchesPatterns, [Parameter()] - [System.String[]] - $Sort, + [System.Object] + $ExceptIfSentTo, [Parameter()] - [System.Management.Automation.SwitchParameter] - $All, + [System.Object] + $ExpiryDate, [Parameter()] - [System.String] - $Filter, + [System.Object] + $ExceptIfContentExtensionMatchesWords, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Object] + $SentTo, [Parameter()] - [System.String] - $Search, + [System.Object] + $FromAddressContainsWords, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Break, + [System.Object] + $DocumentSizeOver, [Parameter()] - [System.String[]] - $ExpandProperty, + [System.Object] + $ExceptIfDocumentCreatedBy, [Parameter()] - [PSObject] - $HttpPipelineAppend + [System.Boolean] + $ProcessingLimitExceeded, + + [Parameter()] + [System.Object] + $Workload ) } -function Get-MgGroupPlannerPlanTask +function Set-CaseHoldPolicy { [CmdletBinding()] param( [Parameter()] - [System.String[]] - $Property, + [System.Object] + $RemoveExchangeLocation, [Parameter()] [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, - - [Parameter()] - [System.Int32] - $PageSize, + $Force, [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Object] + $RemoveSharePointLocation, [Parameter()] - [System.Int32] - $Skip, + [System.Object] + $AddExchangeLocation, [Parameter()] - [System.Int32] - $Top, + [System.Object] + $AddSharePointLocation, [Parameter()] - [System.String] - $CountVariable, + [System.Management.Automation.SwitchParameter] + $RetryDistribution, [Parameter()] - [System.String] - $GroupId, + [System.Object] + $RemovePublicFolderLocation, [Parameter()] - [System.Uri] - $Proxy, + [System.Object] + $Identity, [Parameter()] - [System.String] - $PlannerPlanId, + [System.Object] + $AddPublicFolderLocation, [Parameter()] - [System.String[]] - $Sort, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] - [System.Management.Automation.SwitchParameter] - $All, + [System.Boolean] + $Enabled, [Parameter()] [System.String] - $Filter, - + $Comment + ) +} +function Set-CaseHoldRule +{ + [CmdletBinding()] + param( [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Boolean] + $Disabled, [Parameter()] [System.String] - $Search, + $ContentMatchQuery, [Parameter()] [System.Management.Automation.SwitchParameter] - $Break, + $Confirm, [Parameter()] - [System.String[]] - $ExpandProperty, + [System.String] + $Comment, [Parameter()] - [PSObject] - $HttpPipelineAppend + [System.Object] + $Identity ) } -function Get-MgPlanner +function Set-ComplianceCase { [CmdletBinding()] param( [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Object] + $CaseType, [Parameter()] - [System.Uri] - $Proxy, + [System.String] + $Description, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.String] + $ExternalId, + + [Parameter()] + [System.String] + $Name, [Parameter()] [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + $Reopen, [Parameter()] - [System.String[]] - $ExpandProperty, + [System.Object] + $DomainController, [Parameter()] - [System.String[]] - $Property, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] - [PSObject] - $HttpPipelineAppend, + [System.Object] + $Identity, [Parameter()] [System.Management.Automation.SwitchParameter] - $Break + $Close ) } -function Get-MgPlannerPlan +function Set-ComplianceRetentionEvent { [CmdletBinding()] param( [Parameter()] - [System.String[]] - $Property, + [System.Object] + $Action, [Parameter()] - [PSObject] - $InputObject, + [System.String] + $AssetId, [Parameter()] [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, - - [Parameter()] - [System.Int32] - $PageSize, - - [Parameter()] - [PSObject] - $HttpPipelinePrepend, - - [Parameter()] - [System.Int32] - $Skip, - - [Parameter()] - [System.Int32] - $Top, + $Confirm, [Parameter()] [System.String] - $CountVariable, - - [Parameter()] - [System.Uri] - $Proxy, + $Comment, [Parameter()] [System.String] - $PlannerPlanId, + $SharePointAssetIdQuery, [Parameter()] - [System.String[]] - $Sort, + [System.Object] + $Identity, [Parameter()] - [System.Management.Automation.SwitchParameter] - $All, + [System.Object] + $EventType, [Parameter()] - [System.String] - $Filter, + [System.Object] + $EventTags, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Object] + $DomainController, [Parameter()] [System.String] - $Search, - + $ExchangeAssetIdQuery + ) +} +function Set-ComplianceRetentionEventType +{ + [CmdletBinding()] + param( [Parameter()] [System.Management.Automation.SwitchParameter] - $Break, + $Confirm, [Parameter()] - [System.String[]] - $ExpandProperty, + [System.String] + $Comment, [Parameter()] - [PSObject] - $HttpPipelineAppend + [System.Object] + $Identity ) } -function Get-MgPlannerPlanBucket +function Set-ComplianceSearch { [CmdletBinding()] param( [Parameter()] [System.String[]] - $Property, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, - - [Parameter()] - [System.Int32] - $PageSize, - - [Parameter()] - [PSObject] - $HttpPipelinePrepend, - - [Parameter()] - [System.Int32] - $Skip, - - [Parameter()] - [System.Int32] - $Top, + $RefinerNames, [Parameter()] [System.String] - $CountVariable, + $ContentMatchQuery, [Parameter()] - [System.Uri] - $Proxy, + [System.String] + $Description, [Parameter()] - [System.String] - $PlannerPlanId, + [System.Object] + $Identity, [Parameter()] [System.String[]] - $Sort, + $AddSharePointLocation, [Parameter()] - [System.Management.Automation.SwitchParameter] - $All, + [System.String[]] + $AddExchangeLocationExclusion, [Parameter()] - [System.String] - $Filter, + [System.Boolean] + $IncludeUserAppContent, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.String[]] + $SharePointLocationExclusion, [Parameter()] - [System.String] - $Search, + [System.Boolean] + $AllowNotFoundExchangeLocationsEnabled, [Parameter()] [System.Management.Automation.SwitchParameter] - $Break, + $Force, [Parameter()] [System.String[]] - $ExpandProperty, + $SharePointLocation, - [Parameter()] - [PSObject] - $HttpPipelineAppend - ) -} -function Get-MgPlannerTask -{ - [CmdletBinding()] - param( [Parameter()] [System.String[]] - $Property, - - [Parameter()] - [PSObject] - $InputObject, - - [Parameter()] - [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + $AddSharePointLocationExclusion, [Parameter()] - [System.Int32] - $PageSize, + [System.String[]] + $RemovePublicFolderLocation, [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.String[]] + $RemoveSharePointLocation, [Parameter()] - [System.Int32] - $Skip, + [System.String[]] + $ExchangeLocation, [Parameter()] - [System.Int32] - $Top, + [System.String[]] + $PublicFolderLocation, [Parameter()] - [System.String] - $CountVariable, + [System.String[]] + $RemoveSharePointLocationExclusion, [Parameter()] - [System.String] - $PlannerTaskId, + [System.Boolean] + $IncludeOrgContent, [Parameter()] - [System.Uri] - $Proxy, + [System.String[]] + $RemoveExchangeLocationExclusion, [Parameter()] [System.String[]] - $Sort, + $HoldNames, [Parameter()] [System.Management.Automation.SwitchParameter] - $All, + $Confirm, [Parameter()] [System.String] - $Filter, + $Name, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.String[]] + $RemoveExchangeLocation, [Parameter()] - [System.String] - $Search, + [System.String[]] + $AddExchangeLocation, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Break, + [System.Globalization.CultureInfo] + $Language, [Parameter()] [System.String[]] - $ExpandProperty, - - [Parameter()] - [PSObject] - $HttpPipelineAppend + $ExchangeLocationExclusion ) } -function Get-MgPlannerTaskDetail +function Set-ComplianceTag { [CmdletBinding()] param( [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Object] + $RetentionDuration, [Parameter()] - [System.Uri] - $Proxy, + [System.String] + $FilePlanProperty, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.String] + $Notes, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] [System.String] - $PlannerTaskId, + $Comment, [Parameter()] - [PSObject] - $InputObject, + [System.Object] + $AutoApprovalPeriod, [Parameter()] - [PSObject] - $HttpPipelineAppend, + [System.String] + $MultiStageReviewProperty, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + [System.Object] + $Identity, [Parameter()] - [System.String[]] - $ExpandProperty, + [System.Object] + $EventType, [Parameter()] - [System.String[]] - $Property, + [System.Object[]] + $ReviewerEmail, + + [Parameter()] + [System.Object] + $FlowId, + + [Parameter()] + [System.String] + $ComplianceTagForNextStage, [Parameter()] [System.Management.Automation.SwitchParameter] - $Break + $Force ) } -function New-MgPlannerBucket +function Set-DeviceConditionalAccessPolicy { [CmdletBinding()] param( [Parameter()] - [System.String] - $Id, - - [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Management.Automation.SwitchParameter] + $RetryDistribution, [Parameter()] [System.String] - $Name, - - [Parameter()] - [System.Uri] - $Proxy, + $Comment, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Object] + $Identity, [Parameter()] - [System.String] - $OrderHint, + [System.Boolean] + $Enabled, [Parameter()] [System.Management.Automation.SwitchParameter] $Confirm, [Parameter()] - [System.String] - $PlanId, - + [System.Management.Automation.SwitchParameter] + $Force + ) +} +function Set-DeviceConfigurationPolicy +{ + [CmdletBinding()] + param( [Parameter()] [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + $RetryDistribution, [Parameter()] - [PSObject] - $Tasks, + [System.String] + $Comment, [Parameter()] - [PSObject] - $BodyParameter, + [System.Object] + $Identity, [Parameter()] - [System.Collections.Hashtable] - $AdditionalProperties, + [System.Boolean] + $Enabled, [Parameter()] [System.Management.Automation.SwitchParameter] - $Break, + $Confirm, [Parameter()] - [PSObject] - $HttpPipelineAppend + [System.Management.Automation.SwitchParameter] + $Force ) } -function New-MgPlannerPlan +function Set-DlpCompliancePolicy { [CmdletBinding()] param( [Parameter()] - [PSObject] - $Buckets, + [System.Object] + $RemoveExchangeLocation, [Parameter()] - [System.DateTime] - $CreatedDateTime, + [System.Object] + $RemoveOnPremisesScannerDlpLocationException, [Parameter()] - [System.String] - $Owner, + [System.Object] + $AddSharePointLocation, [Parameter()] - [System.Collections.Hashtable] - $AdditionalProperties, + [System.Object] + $RemoveThirdPartyAppDlpLocation, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + [System.Object[]] + $ExceptIfOneDriveSharedByMemberOf, [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Object[]] + $OneDriveSharedByMemberOf, [Parameter()] - [PSObject] - $Tasks, + [System.Object] + $RemoveTeamsLocationException, [Parameter()] - [PSObject] - $Container, + [System.Object] + $RemoveSharePointLocation, [Parameter()] - [PSObject] - $CreatedBy, + [System.Object] + $Mode, [Parameter()] - [System.Uri] - $Proxy, + [System.Object] + $EndpointDlpAdaptiveScopesException, [Parameter()] - [PSObject] - $BodyParameter, + [System.Object] + $AddThirdPartyAppDlpLocation, [Parameter()] - [System.String] - $Title, + [System.Object] + $TeamsAdaptiveScopes, [Parameter()] - [PSObject] - $Details, + [System.Object] + $ExchangeAdaptiveScopes, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object] + $OneDriveAdaptiveScopes, [Parameter()] - [System.String] - $Id, + [System.Object] + $PolicyRBACScopes, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Object] + $AddOneDriveLocation, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Break, + [System.Object] + $AddTeamsLocationException, [Parameter()] - [PSObject] - $HttpPipelineAppend - ) -} -function New-MgPlannerTask -{ - [CmdletBinding()] - param( + [System.Object] + $RemoveSharePointLocationException, + [Parameter()] - [System.Int32] - $ReferenceCount, + [System.Object] + $RemoveThirdPartyAppDlpLocationException, + + [Parameter()] + [System.Object[]] + $OneDriveSharedBy, [Parameter()] [System.String] - $PlanId, + $Comment, [Parameter()] - [System.Collections.Hashtable] - $Assignments, + [System.Object] + $AddEndpointDlpLocation, [Parameter()] - [System.DateTime] - $CreatedDateTime, + [System.Object] + $RemoveOnPremisesScannerDlpLocation, [Parameter()] - [PSObject] - $HttpPipelineAppend, + [System.Object[]] + $ExchangeSenderMemberOfException, [Parameter()] - [PSObject] - $ProgressTaskBoardFormat, + [System.Object] + $AddTeamsLocation, [Parameter()] - [System.Collections.Hashtable] - $AdditionalProperties, + [System.Object] + $OneDriveAdaptiveScopesException, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + [System.Object] + $AddExchangeLocation, [Parameter()] - [System.Int32] - $Priority, + [System.Object] + $SharePointAdaptiveScopes, [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Object] + $AddOnPremisesScannerDlpLocationException, [Parameter()] - [System.Collections.Hashtable] - $AppliedCategories, + [System.Object] + $Priority, [Parameter()] - [System.String] - $BucketId, + [System.Object] + $RemoveOneDriveLocationException, [Parameter()] - [PSObject] - $CreatedBy, + [System.Object] + $ExchangeAdaptiveScopesException, [Parameter()] - [System.Int32] - $PercentComplete, + [System.Object] + $RemoveEndpointDlpLocation, [Parameter()] - [System.String] - $Title, + [System.Object] + $RemovePowerBIDlpLocationException, [Parameter()] - [System.String] - $PreviewType, + [System.Object] + $RemoveEndpointDlpLocationException, [Parameter()] - [PSObject] - $AssignedToTaskBoardFormat, + [System.Object] + $PolicyTemplateInfo, [Parameter()] - [System.DateTime] - $CompletedDateTime, + [System.Management.Automation.SwitchParameter] + $RetryDistribution, [Parameter()] - [System.Int32] - $ChecklistItemCount, + [System.Object] + $TeamsAdaptiveScopesException, [Parameter()] - [System.String] - $AssigneePriority, + [System.Object[]] + $ExceptIfOneDriveSharedBy, [Parameter()] - [System.Uri] - $Proxy, + [System.Object] + $AddOnPremisesScannerDlpLocation, [Parameter()] - [PSObject] - $BodyParameter, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] - [System.String] - $Id, + [System.Object] + $AddEndpointDlpLocationException, [Parameter()] - [System.DateTime] - $StartDateTime, + [System.Object] + $RemovePowerBIDlpLocation, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object] + $AddOneDriveLocationException, [Parameter()] - [PSObject] - $CompletedBy, + [System.Object] + $RemoveTeamsLocation, [Parameter()] - [PSObject] - $Details, + [System.Object] + $EndpointDlpAdaptiveScopes, [Parameter()] - [PSObject] - $BucketTaskBoardFormat, + [System.Object] + $AddPowerBIDlpLocation, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Object[]] + $ExchangeSenderMemberOf, [Parameter()] - [System.String] - $OrderHint, + [System.Management.Automation.SwitchParameter] + $Force, [Parameter()] - [System.DateTime] - $DueDateTime, + [System.Object] + $AddSharePointLocationException, [Parameter()] - [System.Int32] - $ActiveChecklistItemCount, + [System.Object] + $AddThirdPartyAppDlpLocationException, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Break, + [System.Object] + $AddPowerBIDlpLocationException, [Parameter()] - [System.Management.Automation.SwitchParameter] - $HasDescription, + [System.Object] + $Identity, [Parameter()] - [System.String] - $ConversationThreadId + [System.Object] + $RemoveOneDriveLocation, + + [Parameter()] + [System.Object] + $SharePointAdaptiveScopesException ) } -function Remove-MgPlannerTask +function Set-DlpComplianceRule { [CmdletBinding()] param( [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Boolean] + $ExceptIfDocumentIsUnsupported, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Boolean] + $ProcessingLimitExceeded, [Parameter()] - [System.Uri] - $Proxy, + [System.Object] + $ActivationDate, [Parameter()] - [System.Management.Automation.SwitchParameter] - $PassThru, + [System.Object] + $NotifyUser, [Parameter()] - [System.String] - $IfMatch, + [System.Boolean] + $ExceptIfDocumentIsPasswordProtected, + + [Parameter()] + [System.Object] + $ExceptIfRecipientADAttributeContainsWords, + + [Parameter()] + [System.Object] + $ExceptIfDocumentNameMatchesPatterns, + + [Parameter()] + [System.Object] + $NotifyEndpointUser, + + [Parameter()] + [System.Object] + $ExceptIfSenderADAttributeContainsWords, [Parameter()] [System.String] - $PlannerTaskId, + $NotifyEmailCustomSubject, [Parameter()] - [PSObject] - $InputObject, + [System.Object[]] + $FromMemberOf, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Boolean] + $EnforcePortalAccess, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + [System.Boolean] + $ContentIsShared, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Break, + [System.Object[]] + $ExceptIfSentToMemberOf, [Parameter()] - [PSObject] - $HttpPipelineAppend - ) -} -function Update-MgPlanner -{ - [CmdletBinding()] - param( + [System.Object] + $AddRecipients, + [Parameter()] - [System.String] - $Id, + [System.Object] + $ExceptIfUnscannableDocumentExtensionIs, [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Object] + $RecipientDomainIs, [Parameter()] - [PSObject] - $BodyParameter, + [System.Object] + $SenderADAttributeContainsWords, [Parameter()] - [System.Uri] - $Proxy, + [System.Object] + $ExceptIfHeaderMatchesPatterns, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Object] + $ExceptIfFromScope, [Parameter()] - [PSObject] - $Buckets, + [System.Object] + $ExceptIfHeaderContainsWords, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + [System.Object] + $HeaderMatchesPatterns, [Parameter()] - [PSObject] - $Tasks, + [System.Object] + $ContentPropertyContainsWords, [Parameter()] - [PSObject] - $Plans, + [System.Boolean] + $HasSenderOverride, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object] + $SetHeader, [Parameter()] - [System.Collections.Hashtable] - $AdditionalProperties, + [System.Object] + $ExceptIfSubjectOrBodyMatchesPatterns, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Break, + [System.Boolean] + $ExceptIfHasSenderOverride, [Parameter()] - [PSObject] - $HttpPipelineAppend - ) -} -function Update-MgPlannerPlan -{ - [CmdletBinding()] - param( + [System.Boolean] + $Quarantine, + [Parameter()] - [System.String] - $PlannerPlanId, + [System.Object] + $ExceptIfAnyOfRecipientAddressMatchesPatterns, [Parameter()] - [PSObject] - $Buckets, + [System.Object] + $ExceptIfContentCharacterSetContainsWords, [Parameter()] - [System.DateTime] - $CreatedDateTime, + [System.Object] + $EncryptRMSTemplate, [Parameter()] - [System.String] - $Owner, + [System.Boolean] + $NotifyEmailExchangeIncludeAttachment, [Parameter()] - [PSObject] - $InputObject, + [System.Object] + $ExceptIfAccessScope, [Parameter()] - [System.Collections.Hashtable] - $AdditionalProperties, + [System.Object] + $ExceptIfMessageTypeMatches, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + [System.Object] + $SenderIPRanges, [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Object] + $ExceptIfDocumentNameMatchesWords, [Parameter()] - [PSObject] - $Tasks, + [System.Object] + $ExceptIfContentFileTypeMatches, [Parameter()] - [PSObject] - $Container, + [System.Object] + $ExceptIfContentExtensionMatchesWords, [Parameter()] - [PSObject] - $CreatedBy, + [System.Object] + $RemoveHeader, [Parameter()] - [System.Uri] - $Proxy, + [System.Object] + $ApplyHtmlDisclaimer, [Parameter()] - [PSObject] - $BodyParameter, + [System.Object[]] + $ExceptIfFromMemberOf, [Parameter()] - [System.String] - $Title, + [System.Object] + $Moderate, [Parameter()] - [PSObject] - $Details, + [System.Boolean] + $Disabled, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.String] + $NotifyEmailCustomSenderDisplayName, + + [Parameter()] + [System.Object] + $GenerateAlert, [Parameter()] [System.String] - $Id, + $PrependSubject, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Object[]] + $From, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Break, + [System.Object] + $ExceptIfWithImportance, [Parameter()] - [PSObject] - $HttpPipelineAppend - ) -} -#endregion -#region Microsoft.Graph.Users -function Get-MgUser -{ - [CmdletBinding()] - param( + [System.Object] + $ContentCharacterSetContainsWords, + [Parameter()] - [System.String] - $UserId, + [System.Object[]] + $ContentContainsSensitiveInformation, [Parameter()] - [System.String[]] - $Property, + [System.Object] + $SubjectContainsWords, [Parameter()] - [PSObject] - $InputObject, + [System.Object[]] + $EndpointDlpRestrictions, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + [System.Object] + $SenderADAttributeMatchesPatterns, [Parameter()] - [System.Int32] - $PageSize, + [System.Object] + $ExceptIfSenderADAttributeMatchesPatterns, [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Object[]] + $IncidentReportContent, [Parameter()] - [System.Int32] - $Top, + [System.Object] + $DocumentContainsWords, [Parameter()] - [System.String] - $CountVariable, + [System.Object[]] + $ExceptIfFrom, [Parameter()] - [System.Uri] - $Proxy, + [System.Boolean] + $RestrictBrowserAccess, [Parameter()] - [System.String[]] - $Sort, + [System.Object] + $ExceptIfDocumentCreatedBy, [Parameter()] [System.String] - $ConsistencyLevel, + $NotifyPolicyTipUrl, [Parameter()] [System.Management.Automation.SwitchParameter] - $All, + $Confirm, [Parameter()] - [System.String] - $Filter, + [System.Object] + $RuleErrorAction, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Object] + $FromScope, + + [Parameter()] + [System.Object] + $ExceptIfFromAddressMatchesPatterns, [Parameter()] [System.String] - $Search, + $NotifyPolicyTipCustomText, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Break, + [System.Object] + $ExceptIfFromAddressContainsWords, [Parameter()] - [System.String[]] - $ExpandProperty, + [System.Boolean] + $ExceptIfProcessingLimitExceeded, [Parameter()] - [PSObject] - $HttpPipelineAppend - ) -} -function Get-MgUserLicenseDetail -{ - [CmdletBinding()] - param( + [System.Object] + $DocumentNameMatchesPatterns, + [Parameter()] - [System.String] - $UserId, + [System.Object] + $Priority, [Parameter()] - [System.String[]] - $Property, + [System.Object[]] + $OnPremisesScannerDlpRestrictions, [Parameter()] - [PSObject] - $InputObject, + [System.Object] + $ExceptIfSenderDomainIs, [Parameter()] - [System.String] - $LicenseDetailsId, + [System.Object[]] + $RedirectMessageTo, [Parameter()] - [System.Int32] - $PageSize, + [System.Boolean] + $RemoveRMSTemplate, [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Object] + $UnscannableDocumentExtensionIs, [Parameter()] - [System.Int32] - $Skip, + [System.Object] + $DocumentCreatedBy, [Parameter()] - [System.Int32] - $Top, + [System.Object] + $ReportSeverityLevel, + + [Parameter()] + [System.Object] + $SenderDomainIs, [Parameter()] [System.String] - $CountVariable, + $ApplyBrandingTemplate, [Parameter()] - [System.Uri] - $Proxy, + [System.Object] + $ExceptIfDocumentMatchesPatterns, + + [Parameter()] + [System.Object] + $RecipientADAttributeMatchesPatterns, + + [Parameter()] + [System.Object] + $DocumentNameMatchesWords, + + [Parameter()] + [System.Object] + $ExceptIfContentPropertyContainsWords, + + [Parameter()] + [System.Object] + $GenerateIncidentReport, + + [Parameter()] + [System.Object] + $FromAddressContainsWords, + + [Parameter()] + [System.Object] + $AnyOfRecipientAddressMatchesPatterns, [Parameter()] - [System.String[]] - $Sort, + [System.Object] + $ExceptIfSubjectContainsWords, [Parameter()] - [System.Management.Automation.SwitchParameter] - $All, + [System.Object] + $SubjectOrBodyMatchesPatterns, [Parameter()] [System.String] - $Filter, + $AdvancedRule, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Object] + $DocumentMatchesPatterns, [Parameter()] - [System.String] - $Search, + [System.Object] + $SharedByIRMUserRisk, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Break, + [System.Object[]] + $EndpointDlpBrowserRestrictions, [Parameter()] - [System.String[]] - $ExpandProperty, + [System.Object] + $SubjectMatchesPatterns, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + [System.Object] + $ExceptIfSubjectMatchesPatterns, [Parameter()] - [PSObject] - $HttpPipelineAppend - ) -} -function New-MgUser -{ - [CmdletBinding()] - param( - [Parameter()] - [PSObject] - $Todo, + [System.Boolean] + $ExceptIfContentIsShared, [Parameter()] - [PSObject] - $Insights, + [System.Object] + $ExceptIfAnyOfRecipientAddressContainsWords, [Parameter()] - [PSObject] - $OnlineMeetings, + [System.Object] + $AnyOfRecipientAddressContainsWords, [Parameter()] - [PSObject] - $AssignedPlans, + [System.Object] + $HeaderContainsWords, [Parameter()] - [System.String] - $ExternalUserState, + [System.Object] + $AlertProperties, [Parameter()] - [PSObject] - $BodyParameter, + [System.Object] + $ContentExtensionMatchesWords, [Parameter()] - [System.DateTime] - $EmployeeHireDate, + [System.Object] + $WithImportance, [Parameter()] - [System.String] - $OnPremisesImmutableId, + [System.Object] + $MessageSizeOver, [Parameter()] - [PSObject] - $RegisteredDevices, + [System.Object] + $SentTo, [Parameter()] - [PSObject] - $AppRoleAssignments, + [System.Boolean] + $DocumentIsUnsupported, [Parameter()] - [System.String] - $PreferredName, + [System.Object[]] + $DocumentCreatedByMemberOf, [Parameter()] - [System.DateTime] - $ExternalUserStateChangeDateTime, + [System.Boolean] + $ContentIsNotLabeled, [Parameter()] - [System.String[]] - $ImAddresses, + [System.Object] + $AccessScope, [Parameter()] - [System.String] - $OnPremisesDomainName, + [System.Object] + $ExceptIfDocumentSizeOver, [Parameter()] [System.String] - $AboutMe, + $Comment, [Parameter()] - [System.String] - $State, + [System.Object[]] + $NotifyAllowOverride, [Parameter()] - [System.DateTime] - $SignInSessionsValidFromDateTime, + [System.Object] + $NotifyOverrideRequirements, [Parameter()] - [System.DateTime] - $Birthday, + [System.Object] + $ExceptIfSenderIPRanges, [Parameter()] - [System.DateTime] - $HireDate, + [System.Object] + $ExceptIfRecipientADAttributeMatchesPatterns, [Parameter()] - [PSObject] - $Chats, + [System.Object] + $RecipientADAttributeContainsWords, [Parameter()] - [System.Collections.Hashtable] - $AdditionalProperties, + [System.Object[]] + $ThirdPartyAppDlpRestrictions, [Parameter()] - [PSObject] - $EmployeeOrgData, + [System.Object] + $ExpiryDate, [Parameter()] - [System.DateTime] - $LastPasswordChangeDateTime, + [System.Boolean] + $StopPolicyProcessing, [Parameter()] - [PSObject] - $Manager, + [System.Object[]] + $ExceptIfContentContainsSensitiveInformation, [Parameter()] - [PSObject] - $InferenceClassification, + [System.Object[]] + $SentToMemberOf, [Parameter()] - [PSObject] - $CalendarGroups, + [System.Object] + $DocumentSizeOver, [Parameter()] - [PSObject] - $MailFolders, + [System.Object] + $MessageTypeMatches, [Parameter()] - [PSObject] - $ScopedRoleMemberOf, + [System.Object] + $ModifySubject, [Parameter()] - [System.String] - $ConsentProvidedForMinor, + [System.Object] + $ExceptIfSentTo, [Parameter()] - [PSObject] - $AgreementAcceptances, + [System.Object] + $ContentFileTypeMatches, [Parameter()] [System.String] - $EmployeeType, + $NotifyEmailCustomText, [Parameter()] - [PSObject] - $OwnedObjects, + [System.Boolean] + $BlockAccess, [Parameter()] - [PSObject] - $AuthorizationInfo, + [System.Object] + $SenderAddressLocation, [Parameter()] - [PSObject] - $Photos, + [System.Object] + $Identity, [Parameter()] - [PSObject] - $Oauth2PermissionGrants, + [System.Object] + $SubjectOrBodyContainsWords, [Parameter()] - [System.String] - $PreferredDataLocation, + [System.Object] + $NotifyPolicyTipCustomTextTranslations, [Parameter()] - [PSObject] - $MailboxSettings, + [System.Object] + $NotifyPolicyTipDisplayOption, [Parameter()] - [System.String] - $Country, + [System.Object] + $NonBifurcatingAccessScope, [Parameter()] - [System.String] - $OnPremisesDistinguishedName, + [System.Boolean] + $DocumentIsPasswordProtected, [Parameter()] - [System.String[]] - $Skills, + [System.Object] + $ExceptIfRecipientDomainIs, [Parameter()] - [System.String] - $MobilePhone, + [System.Object] + $ExceptIfDocumentContainsWords, [Parameter()] - [System.String] - $FaxNumber, + [System.Object] + $FromAddressMatchesPatterns, [Parameter()] - [System.DateTime] - $DeletedDateTime, + [System.Object] + $BlockAccessScope, [Parameter()] - [PSObject] - $Settings, + [System.Object[]] + $ExceptIfDocumentCreatedByMemberOf, [Parameter()] - [System.Int32] - $DeviceEnrollmentLimit, + [System.Object] + $ExceptIfSubjectOrBodyContainsWords, [Parameter()] - [System.String] - $Mail, + [System.Object] + $NotifyUserType, [Parameter()] - [System.String] - $GivenName, - + [System.Object] + $ExceptIfMessageSizeOver + ) +} +function Set-FilePlanPropertyCitation +{ + [CmdletBinding()] + param( [Parameter()] - [PSObject] - $ContactFolders, + [System.String] + $DisplayName, [Parameter()] - [PSObject] - $People, + [System.String] + $CitationUrl, [Parameter()] [System.Management.Automation.SwitchParameter] - $IsResourceAccount, + $Confirm, [Parameter()] - [System.String[]] - $OtherMails, + [System.Object] + $Identity, [Parameter()] [System.String] - $PasswordPolicies, - + $CitationJurisdiction + ) +} +function Set-Label +{ + [CmdletBinding()] + param( [Parameter()] - [System.String] - $CreationType, + [System.Object] + $EncryptionEncryptOnly, [Parameter()] [System.String] - $OnPremisesUserPrincipalName, + $EncryptionDoubleKeyEncryptionUrl, [Parameter()] [System.String] - $PreferredLanguage, + $ApplyContentMarkingHeaderText, [Parameter()] - [System.DateTime] - $OnPremisesLastSyncDateTime, + [System.Object] + $Setting, [Parameter()] - [System.String] - $AgeGroup, + [System.Object] + $ApplyContentMarkingFooterEnabled, [Parameter()] - [PSObject] - $Planner, + [System.Object] + $EncryptionEnabled, [Parameter()] - [PSObject] - $Contacts, + [System.Object] + $SiteAndGroupProtectionEnabled, [Parameter()] - [PSObject] - $Calendars, + [System.Object] + $TeamsEndToEndEncryptionEnabled, [Parameter()] - [PSObject] - $Drive, + [System.Object] + $ApplyContentMarkingFooterFontSize, [Parameter()] [System.String] - $UsageLocation, + $ColumnAssetCondition, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + [System.Object] + $ContentType, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ShowInAddressList, + [System.Object] + $ApplyWaterMarkingFontSize, [Parameter()] [System.String] - $JobTitle, + $ApplyContentMarkingHeaderFontColor, [Parameter()] - [System.Management.Automation.SwitchParameter] - $AccountEnabled, + [System.Object] + $SiteAndGroupProtectionPrivacy, [Parameter()] - [System.String[]] - $Schools, + [System.String] + $EncryptionContentExpiredOnDateInDaysOrNever, [Parameter()] - [PSObject] - $SignInActivity, + [System.String] + $ApplyWaterMarkingText, [Parameter()] - [System.String] - $City, + [System.Object] + $ApplyWaterMarkingLayout, [Parameter()] - [PSObject] - $Teamwork, + [System.String] + $DefaultContentLabel, [Parameter()] - [PSObject] - $ManagedAppRegistrations, + [System.String] + $ApplyWaterMarkingFontName, [Parameter()] - [PSObject] - $Messages, + [System.Object] + $SiteAndGroupProtectionLevel, [Parameter()] - [PSObject] - $Extensions, + [System.String] + $ApplyContentMarkingFooterText, [Parameter()] - [PSObject] - $Identities, + [System.Object] + $TeamsLobbyRestrictionEnforced, [Parameter()] - [PSObject] - $JoinedTeams, + [System.Object] + $SiteAndGroupProtectionAllowEmailFromGuestUsers, [Parameter()] - [System.String] - $MySite, + [System.Object] + $TeamsLobbyBypassScope, [Parameter()] - [System.String[]] - $BusinessPhones, + [System.Object] + $SiteAndGroupProtectionAllowLimitedAccess, [Parameter()] - [System.String] - $Id, + [System.Object] + $EncryptionProtectionType, [Parameter()] - [System.String[]] - $ProxyAddresses, + [System.Object] + $TeamsProtectionEnabled, [Parameter()] - [System.String] - $OfficeLocation, + [System.Object] + $ParentId, [Parameter()] - [PSObject] - $Presence, + [System.String] + $DisplayName, [Parameter()] - [PSObject] - $PasswordProfile, + [System.String] + $SchematizedDataCondition, [Parameter()] [System.String] - $UserType, + $Comment, [Parameter()] - [PSObject] - $TransitiveMemberOf, + [System.Object] + $Conditions, [Parameter()] - [PSObject] - $ManagedDevices, + [System.Object] + $Settings, [Parameter()] - [PSObject] - $CreatedObjects, + [System.String] + $MigrationId, [Parameter()] - [PSObject] - $Photo, + [System.Object] + $TeamsWhoCanRecord, [Parameter()] - [PSObject] - $LicenseDetails, + [System.Object] + $EncryptionRightsDefinitions, [Parameter()] [System.String] - $StreetAddress, + $ApplyContentMarkingFooterFontColor, [Parameter()] - [PSObject] - $CalendarView, + [System.Object] + $PreviousLabel, [Parameter()] - [PSObject] - $Onenote, + [System.String] + $ApplyContentMarkingFooterFontName, [Parameter()] - [System.String] - $SecurityIdentifier, + [System.Object] + $TeamsVideoWatermark, [Parameter()] - [System.String] - $DisplayName, + [System.Object] + $ApplyContentMarkingHeaderMargin, [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Object] + $TeamsPresentersRestrictionEnforced, [Parameter()] - [PSObject] - $OwnedDevices, + [System.Object] + $TeamsCopyRestrictionEnforced, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Object] + $ApplyContentMarkingHeaderAlignment, [Parameter()] - [PSObject] - $FollowedSites, + [System.Object] + $LabelActions, [Parameter()] - [PSObject] - $Drives, + [System.Object] + $TeamsBypassLobbyForDialInUsers, [Parameter()] - [System.String[]] - $Interests, + [System.Object] + $ApplyContentMarkingHeaderFontSize, [Parameter()] - [System.String] - $LegalAgeGroupClassification, + [System.Object] + $LocaleSettings, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Confirm, + [System.Object] + $TeamsAllowedPresenters, [Parameter()] - [System.String] - $OnPremisesSecurityIdentifier, + [System.Object] + $AdvancedSettings, [Parameter()] - [PSObject] - $HttpPipelineAppend, + [System.String] + $ApplyContentMarkingHeaderFontName, [Parameter()] - [PSObject] - $Calendar, + [System.Object] + $ApplyContentMarkingFooterAlignment, [Parameter()] [System.Management.Automation.SwitchParameter] - $OnPremisesSyncEnabled, + $Confirm, [Parameter()] - [System.String] - $Department, + [System.Object] + $SiteExternalSharingControlType, [Parameter()] - [System.String] - $CompanyName, + [System.Object] + $Priority, [Parameter()] - [PSObject] - $MemberOf, + [System.Object] + $TeamsAllowMeetingChat, [Parameter()] - [System.String] - $EmployeeId, + [System.Object] + $EncryptionDoNotForward, [Parameter()] - [PSObject] - $AssignedLicenses, + [System.Object] + $SiteAndGroupProtectionAllowAccessToGuestUsers, [Parameter()] - [PSObject] - $Events, + [System.Object] + $EncryptionPromptUser, [Parameter()] [System.String] - $UserPrincipalName, + $Tooltip, [Parameter()] - [System.String[]] - $Responsibilities, + [System.Object] + $SiteAndGroupProtectionBlockAccess, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Break, + [System.Object] + $EncryptionOfflineAccessDays, [Parameter()] - [PSObject] - $ProvisionedPlans, + [System.Object] + $ApplyContentMarkingHeaderEnabled, [Parameter()] - [PSObject] - $OnPremisesProvisioningErrors, + [System.Object] + $ApplyContentMarkingFooterMargin, [Parameter()] - [System.String] - $MailNickname, + [System.Object] + $SiteAndGroupProtectionAllowFullAccess, [Parameter()] - [PSObject] - $OnPremisesExtensionAttributes, + [System.String] + $ApplyWaterMarkingFontColor, [Parameter()] - [System.String[]] - $PastProjects, + [System.String] + $EncryptionRightsUrl, [Parameter()] - [System.DateTime] - $CreatedDateTime, + [System.Object] + $NextLabel, [Parameter()] - [PSObject] - $DirectReports, + [System.Object] + $Identity, [Parameter()] - [PSObject] - $Authentication, + [System.Object] + $ApplyWaterMarkingEnabled, [Parameter()] - [PSObject] - $LicenseAssignmentStates, - + [System.Object] + $TeamsRecordAutomatically + ) +} +function Set-LabelPolicy +{ + [CmdletBinding()] + param( [Parameter()] - [PSObject] - $Activities, + [System.Object] + $RemoveModernGroupLocation, [Parameter()] - [PSObject] - $Outlook, + [System.Object] + $AddExchangeLocation, [Parameter()] - [PSObject] - $DeviceManagementTroubleshootingEvents, + [System.Object] + $PreviousLabelPolicy, [Parameter()] - [System.Uri] - $Proxy, + [System.Object] + $AddExchangeLocationException, [Parameter()] [System.String] - $OnPremisesSamAccountName, + $Comment, [Parameter()] - [System.DateTime] - $EmployeeLeaveDateTime, + [System.Object] + $Identity, [Parameter()] - [System.String] - $PostalCode, + [System.Object] + $RemoveExchangeLocationException, [Parameter()] - [System.String] - $Surname - ) -} -function Remove-MgUser -{ - [CmdletBinding()] - param( - [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Object] + $Setting, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] - [System.Uri] - $Proxy, + [System.Object] + $Settings, [Parameter()] - [System.Management.Automation.SwitchParameter] - $PassThru, + [System.Object] + $RemoveLabels, [Parameter()] - [System.String] - $IfMatch, + [System.Object] + $AddSkypeLocation, [Parameter()] - [PSObject] - $InputObject, + [System.Object] + $PolicyRBACScopes, [Parameter()] [System.Management.Automation.SwitchParameter] - $Confirm, + $Force, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + [System.Object] + $AddLabels, [Parameter()] - [System.String] - $UserId, + [System.Object] + $RemovePublicFolderLocation, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Break, + [System.Object] + $RemoveModernGroupLocationException, [Parameter()] - [PSObject] - $HttpPipelineAppend - ) -} -function Update-MgUser -{ - [CmdletBinding()] - param( + [System.Object] + $AddModernGroupLocationException, + [Parameter()] - [PSObject] - $Todo, + [System.Object] + $RemoveOneDriveLocationException, [Parameter()] - [PSObject] - $Insights, + [System.Object] + $RemoveSharePointLocation, [Parameter()] - [PSObject] - $OnlineMeetings, + [System.Object] + $AddOneDriveLocationException, + + [Parameter()] + [System.Object] + $AddModernGroupLocation, [Parameter()] - [PSObject] - $InputObject, + [System.Object] + $AddPublicFolderLocation, [Parameter()] - [PSObject] - $AssignedPlans, + [System.Management.Automation.SwitchParameter] + $RetryDistribution, [Parameter()] [System.String] - $ExternalUserState, + $MigrationId, [Parameter()] - [PSObject] - $BodyParameter, + [System.Object] + $AddSharePointLocation, [Parameter()] - [System.DateTime] - $EmployeeHireDate, + [System.Object] + $AddSharePointLocationException, [Parameter()] - [System.String] - $OnPremisesImmutableId, + [System.Object] + $ExchangeAdaptiveScopesException, [Parameter()] - [PSObject] - $RegisteredDevices, + [System.Object] + $RemoveSkypeLocationException, [Parameter()] - [PSObject] - $AppRoleAssignments, + [System.Object] + $RemoveSharePointLocationException, [Parameter()] - [System.DateTime] - $ExternalUserStateChangeDateTime, + [System.Object] + $AdvancedSettings, [Parameter()] - [System.String[]] - $ImAddresses, + [System.Object] + $NextLabelPolicy, [Parameter()] - [System.String] - $OnPremisesDomainName, + [System.Object] + $RemoveExchangeLocation, [Parameter()] - [System.String] - $AboutMe, + [System.Object] + $RemoveSkypeLocation, [Parameter()] - [System.String] - $State, + [System.Object] + $RemoveOneDriveLocation, [Parameter()] - [System.DateTime] - $SignInSessionsValidFromDateTime, + [System.Object] + $ExchangeAdaptiveScopes, [Parameter()] - [System.DateTime] - $EmployeeLeaveDateTime, + [System.Object] + $AddOneDriveLocation, [Parameter()] - [System.DateTime] - $Birthday, - + [System.Object] + $AddSkypeLocationException + ) +} +function Set-ProtectionAlert +{ + [CmdletBinding()] + param( [Parameter()] - [System.DateTime] - $HireDate, + [System.Boolean] + $NotificationEnabled, [Parameter()] - [PSObject] - $Chats, + [System.Object] + $NotifyUserThrottleWindow, [Parameter()] - [System.Collections.Hashtable] - $AdditionalProperties, + [System.Object] + $Threshold, [Parameter()] - [PSObject] - $EmployeeOrgData, + [System.String] + $Description, [Parameter()] - [System.DateTime] - $LastPasswordChangeDateTime, + [System.Object] + $Operation, [Parameter()] - [PSObject] - $Manager, + [System.Object] + $NotifyUser, [Parameter()] - [PSObject] - $InferenceClassification, + [System.Object] + $Identity, [Parameter()] - [PSObject] - $CalendarGroups, + [System.Object] + $AlertBy, [Parameter()] - [PSObject] - $MailFolders, + [System.Object] + $PrivacyManagementScopedSensitiveInformationTypesForCounting, [Parameter()] - [PSObject] - $ScopedRoleMemberOf, + [System.Object] + $AggregationType, [Parameter()] - [System.String] - $ConsentProvidedForMinor, + [System.Object] + $Severity, [Parameter()] - [PSObject] - $AgreementAcceptances, + [System.Object] + $VolumeThreshold, [Parameter()] - [System.String] - $EmployeeType, + [System.Object] + $TimeWindow, [Parameter()] - [PSObject] - $OwnedObjects, + [System.Object] + $PrivacyManagementScopedSensitiveInformationTypes, [Parameter()] - [PSObject] - $AuthorizationInfo, + [System.String] + $Comment, [Parameter()] - [PSObject] - $Photos, + [System.Object] + $Category, [Parameter()] - [PSObject] - $Oauth2PermissionGrants, + [System.Object] + $AlertFor, [Parameter()] - [System.String] - $PreferredDataLocation, + [System.Boolean] + $Disabled, [Parameter()] - [PSObject] - $MailboxSettings, + [System.Object] + $NotifyUserSuppressionExpiryDate, [Parameter()] - [System.String] - $Country, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] [System.String] - $OnPremisesDistinguishedName, + $Filter, [Parameter()] - [System.String[]] - $Skills, + [System.Boolean] + $NotifyUserOnFilterMatch, [Parameter()] - [System.String] - $MobilePhone, + [System.Object] + $NotifyUserThrottleThreshold, [Parameter()] - [System.String] - $FaxNumber, + [System.Globalization.CultureInfo] + $NotificationCulture, [Parameter()] - [System.DateTime] - $DeletedDateTime, + [System.Object] + $PrivacyManagementScopedSensitiveInformationTypesThreshold + ) +} +function Set-RetentionCompliancePolicy +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $RemoveModernGroupLocation, [Parameter()] - [PSObject] - $Settings, + [System.Object] + $AddExchangeLocation, [Parameter()] - [System.Int32] - $DeviceEnrollmentLimit, + [System.Object] + $AddExchangeLocationException, [Parameter()] [System.String] - $Mail, + $Comment, [Parameter()] - [System.String] - $GivenName, + [System.Object] + $Identity, [Parameter()] - [PSObject] - $ContactFolders, + [System.Object] + $RemoveTeamsChatLocation, [Parameter()] - [PSObject] - $People, + [System.Object] + $RemoveExchangeLocationException, + + [Parameter()] + [System.Object] + $Applications, + + [Parameter()] + [System.Boolean] + $Enabled, [Parameter()] [System.Management.Automation.SwitchParameter] - $IsResourceAccount, + $Confirm, [Parameter()] - [System.String[]] - $OtherMails, + [System.Object] + $RemoveOneDriveLocationException, [Parameter()] - [System.String] - $PasswordPolicies, + [System.Object] + $PolicyTemplateInfo, [Parameter()] - [System.String] - $CreationType, + [System.Object] + $AddTeamsChatLocationException, [Parameter()] - [System.String] - $OnPremisesUserPrincipalName, + [System.Object] + $AddSkypeLocation, [Parameter()] - [System.String] - $PreferredLanguage, + [System.Object] + $PolicyRBACScopes, [Parameter()] - [System.DateTime] - $OnPremisesLastSyncDateTime, + [System.Management.Automation.SwitchParameter] + $Force, [Parameter()] - [System.String] - $AgeGroup, + [System.Object] + $RemovePublicFolderLocation, [Parameter()] - [PSObject] - $Planner, + [System.Object] + $RemoveModernGroupLocationException, [Parameter()] - [PSObject] - $Contacts, + [System.Object] + $AddModernGroupLocationException, [Parameter()] - [PSObject] - $Calendars, + [System.Object] + $AddTeamsChatLocation, [Parameter()] - [PSObject] - $Drive, + [System.Object] + $RemoveSharePointLocation, [Parameter()] - [System.String] - $UsageLocation, + [System.Object] + $AddOneDriveLocationException, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, + [System.Object] + $AddModernGroupLocation, [Parameter()] - [System.Management.Automation.SwitchParameter] - $ShowInAddressList, + [System.Object] + $AddTeamsChannelLocationException, [Parameter()] - [System.String] - $JobTitle, + [System.Object] + $AddPublicFolderLocation, [Parameter()] [System.Management.Automation.SwitchParameter] - $AccountEnabled, + $RetryDistribution, [Parameter()] - [System.String[]] - $Schools, + [System.Boolean] + $RestrictiveRetention, [Parameter()] - [PSObject] - $SignInActivity, + [System.Object] + $AddSharePointLocation, [Parameter()] - [System.String] - $City, + [System.Object] + $RemoveTeamsChannelLocation, [Parameter()] - [PSObject] - $Teamwork, + [System.Object] + $AddAdaptiveScopeLocation, [Parameter()] - [PSObject] - $ManagedAppRegistrations, + [System.Object] + $RemoveTeamsChatLocationException, [Parameter()] - [PSObject] - $Messages, + [System.Object] + $RemoveTeamsChannelLocationException, [Parameter()] - [PSObject] - $Extensions, + [System.Boolean] + $EnforceSimulationPolicy, [Parameter()] - [PSObject] - $Identities, + [System.Object] + $AddTeamsChannelLocation, [Parameter()] - [PSObject] - $JoinedTeams, + [System.Object] + $RemoveSkypeLocationException, [Parameter()] - [System.String] - $MySite, + [System.Object] + $RemoveSharePointLocationException, [Parameter()] - [System.String[]] - $BusinessPhones, + [System.Object] + $RemoveExchangeLocation, [Parameter()] - [System.String] - $Id, + [System.Object] + $RemoveAdaptiveScopeLocation, [Parameter()] - [System.String[]] - $ProxyAddresses, + [System.Object] + $RemoveSkypeLocation, [Parameter()] - [System.String] - $OfficeLocation, + [System.Object] + $RemoveOneDriveLocation, [Parameter()] - [PSObject] - $Presence, + [System.Object] + $AddSharePointLocationException, [Parameter()] - [PSObject] - $PasswordProfile, + [System.Object] + $AddOneDriveLocation, [Parameter()] - [System.String] - $UserType, + [System.Object] + $AddSkypeLocationException, [Parameter()] - [PSObject] - $TransitiveMemberOf, + [System.Boolean] + $StartSimulation + ) +} +function Set-RetentionComplianceRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $RetentionDuration, [Parameter()] - [PSObject] - $ManagedDevices, + [System.Object] + $ExcludedItemClasses, [Parameter()] - [PSObject] - $CreatedObjects, + [System.Object] + $ContentDateFrom, [Parameter()] - [PSObject] - $Photo, + [System.Object[]] + $ContentContainsSensitiveInformation, [Parameter()] - [PSObject] - $LicenseDetails, + [System.String] + $RetentionComplianceAction, [Parameter()] [System.String] - $StreetAddress, + $ContentMatchQuery, [Parameter()] - [PSObject] - $CalendarView, + [System.String] + $ApplyComplianceTag, [Parameter()] - [PSObject] - $Onenote, + [System.Object] + $ContentDateTo, [Parameter()] [System.String] - $SecurityIdentifier, + $Comment, [Parameter()] [System.String] - $DisplayName, + $ExpirationDateOption, [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Object] + $Identity, [Parameter()] - [PSObject] - $OwnedDevices, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, - + [System.Object] + $RetentionDurationDisplayHint + ) +} +function Set-RoleGroup +{ + [CmdletBinding()] + param( [Parameter()] - [PSObject] - $FollowedSites, + [System.String] + $Description, [Parameter()] - [PSObject] - $Drives, + [System.Management.Automation.SwitchParameter] + $Force, [Parameter()] - [System.String[]] - $Interests, + [System.String] + $DisplayName, [Parameter()] [System.String] - $LegalAgeGroupClassification, + $Name, [Parameter()] [System.Management.Automation.SwitchParameter] $Confirm, [Parameter()] - [System.String] - $OnPremisesSecurityIdentifier, - + [System.Object] + $Identity + ) +} +function Set-SupervisoryReviewPolicy +{ + [CmdletBinding()] + param( [Parameter()] [System.String] - $UserId, + $Description, [Parameter()] - [PSObject] - $HttpPipelineAppend, + [System.String[]] + $AddReviewers, [Parameter()] - [PSObject] - $Calendar, + [System.String] + $Condition, [Parameter()] - [System.Management.Automation.SwitchParameter] - $OnPremisesSyncEnabled, + [System.Object] + $PolicyType, [Parameter()] - [System.String] - $Department, + [System.String[]] + $RemoveReviewers, [Parameter()] - [System.String] - $CompanyName, + [System.Object] + $Identity, [Parameter()] - [PSObject] - $MemberOf, + [System.String[]] + $Reviewers, [Parameter()] - [System.String] - $EmployeeId, + [System.Object] + $SamplingRate + ) +} +function Set-SupervisoryReviewPolicyV2 +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String[]] + $AddReviewers, [Parameter()] - [PSObject] - $AssignedLicenses, + [System.Int32] + $RetentionPeriodInDays, [Parameter()] - [PSObject] - $Events, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] [System.String] - $UserPrincipalName, + $Comment, [Parameter()] [System.String[]] - $Responsibilities, + $UserReportingWorkloads, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Break, + [System.String[]] + $RemoveReviewers, [Parameter()] - [PSObject] - $ProvisionedPlans, + [System.Object] + $Identity, [Parameter()] - [PSObject] - $OnPremisesProvisioningErrors, + [System.Boolean] + $Enabled, [Parameter()] - [System.String] - $MailNickname, + [System.String[]] + $Reviewers, [Parameter()] - [PSObject] - $OnPremisesExtensionAttributes, + [System.Management.Automation.SwitchParameter] + $Force + ) +} +function Set-SupervisoryReviewRule +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $ExceptIfFrom, [Parameter()] - [System.String[]] - $PastProjects, + [System.Object] + $Identity, [Parameter()] - [System.DateTime] - $CreatedDateTime, + [System.Boolean] + $DayXInsights, [Parameter()] - [PSObject] - $DirectReports, + [System.String[]] + $ContentSources, [Parameter()] - [PSObject] - $Authentication, + [System.Object] + $ExceptIfRevieweeIs, [Parameter()] - [PSObject] - $LicenseAssignmentStates, + [System.String] + $CcsiDataModelOperator, [Parameter()] - [PSObject] - $Activities, + [System.Object[]] + $ContentContainsSensitiveInformation, [Parameter()] - [PSObject] - $Outlook, + [System.String] + $InPurviewFilter, [Parameter()] - [PSObject] - $DeviceManagementTroubleshootingEvents, + [System.Object] + $ExceptIfSentTo, [Parameter()] - [System.Uri] - $Proxy, + [System.Object] + $ExceptIfSubjectOrBodyContainsWords, [Parameter()] - [System.String] - $OnPremisesSamAccountName, + [System.Object] + $ExceptIfRecipientDomainIs, [Parameter()] [System.String] - $PreferredName, + $AdvancedRule, [Parameter()] - [System.String] - $PostalCode, + [System.Object] + $From, [Parameter()] [System.String] - $Surname - ) -} -#endregion -#region Microsoft.Graph.Users.Actions -function Set-MgUserLicense -{ - [CmdletBinding()] - param( + $ContentMatchesDataModel, + [Parameter()] - [PSObject] - $HttpPipelinePrepend, + [System.Object] + $SentTo, [Parameter()] - [PSObject] - $BodyParameter, + [System.String] + $Condition, [Parameter()] - [System.Uri] - $Proxy, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] - [System.Management.Automation.PSCredential] - $ProxyCredential, + [System.Object] + $ExceptIfSenderDomainIs, [Parameter()] - [System.String[]] - $RemoveLicenses, + [System.Boolean] + $Ocr, [Parameter()] - [PSObject] - $AddLicenses, + [System.Int32] + $SamplingRate, [Parameter()] - [PSObject] - $InputObject, + [System.String[]] + $IncludeAdaptiveScopes + ) +} +function Start-ComplianceSearch +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Management.Automation.SwitchParameter] + $RetryOnError, [Parameter()] [System.Management.Automation.SwitchParameter] $Confirm, [Parameter()] - [PSObject] - $HttpPipelineAppend, + [System.Object] + $Identity, [Parameter()] [System.Management.Automation.SwitchParameter] - $ProxyUseDefaultCredentials, - + $Force + ) +} +function Update-RoleGroupMember +{ + [CmdletBinding()] + param( [Parameter()] - [System.String] - $UserId, + [System.Management.Automation.SwitchParameter] + $Confirm, [Parameter()] - [System.Collections.Hashtable] - $AdditionalProperties, + [System.Object] + $Identity, [Parameter()] - [System.Management.Automation.SwitchParameter] - $Break + [System.Object] + $Members ) } #endregion From e78d7bbf238be4d2a9402b1059b95d50b941a2ee Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Tue, 3 Oct 2023 00:21:43 +0000 Subject: [PATCH 23/32] Updated Resources and Cmdlet documentation pages --- .../exchange/EXOCalendarProcessing.md | 138 ++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 docs/docs/resources/exchange/EXOCalendarProcessing.md diff --git a/docs/docs/resources/exchange/EXOCalendarProcessing.md b/docs/docs/resources/exchange/EXOCalendarProcessing.md new file mode 100644 index 0000000000..c4c102dcb4 --- /dev/null +++ b/docs/docs/resources/exchange/EXOCalendarProcessing.md @@ -0,0 +1,138 @@ +# EXOCalendarProcessing + +## Parameters + +| Parameter | Attribute | DataType | Description | Allowed Values | +| --- | --- | --- | --- | --- | +| **Identity** | Key | String | The Identity parameter specifies the resource mailbox that you want to view. You can use any value that uniquely identifies the mailbox. | | +| **AddAdditionalResponse** | Write | Boolean | The AddAdditionalResponse parameter specifies whether additional information (the value of the AdditionalResponse parameter) is added to meeting request responses | | +| **AdditionalResponse** | Write | String | The AdditionalResponse parameter specifies the additional information to be included in responses to meeting requests when the value of the AddAdditionalResponse parameter is $true. If the value contains spaces, enclose the value in quotation marks. | | +| **AddNewRequestsTentatively** | Write | Boolean | The AddNewRequestsTentatively parameter specifies whether new meeting requests are added to the calendar as tentative | | +| **AddOrganizerToSubject** | Write | Boolean | The AddOrganizerToSubject parameter specifies whether the meeting organizer's name is used as the subject of the meeting request. | | +| **AllBookInPolicy** | Write | Boolean | The AllBookInPolicy parameter specifies whether to automatically approve in-policy requests from all users to the resource mailbox. | | +| **AllowConflicts** | Write | Boolean | The AllowConflicts parameter specifies whether to allow conflicting meeting requests. | | +| **AllowRecurringMeetings** | Write | Boolean | The AllowRecurringMeetings parameter specifies whether to allow recurring meetings in meeting requests. | | +| **AllRequestInPolicy** | Write | Boolean | The AllRequestInPolicy parameter specifies whether to allow all users to submit in-policy requests to the resource mailbox. | | +| **AllRequestOutOfPolicy** | Write | Boolean | The AllRequestOutOfPolicy parameter specifies whether to allow all users to submit out-of-policy requests to the resource mailbox. | | +| **AutomateProcessing** | Write | String | The AutomateProcessing parameter enables or disables calendar processing on the mailbox. | `None`, `AutoUpdate`, `AutoAccept` | +| **BookingType** | Write | String | The BookingType parameter specifies how reservations work on the resource mailbox. | `Standard`, `Reserved` | +| **BookingWindowInDays** | Write | UInt32 | The BookingWindowInDays parameter specifies the maximum number of days in advance that the resource can be reserved. A valid value is an integer from 0 through 1080. The default value is 180 days. The value 0 means today. | | +| **BookInPolicy** | Write | StringArray[] | The BookInPolicy parameter specifies users or groups who are allowed to submit in-policy meeting requests to the resource mailbox that are automatically approved. You can use any value that uniquely identifies the user or group. | | +| **ConflictPercentageAllowed** | Write | UInt32 | The ConflictPercentageAllowed parameter specifies the maximum percentage of meeting conflicts for new recurring meeting requests. A valid value is an integer from 0 through 100. The default value is 0. | | +| **DeleteAttachments** | Write | Boolean | The DeleteAttachments parameter specifies whether to remove attachments from all incoming messages. | | +| **DeleteComments** | Write | Boolean | The DeleteComments parameter specifies whether to remove or keep any text in the message body of incoming meeting requests. | | +| **DeleteNonCalendarItems** | Write | Boolean | The DeleteNonCalendarItems parameter specifies whether to remove or keep all non-calendar-related messages that are received by the resource mailbox. | | +| **DeleteSubject** | Write | Boolean | The DeleteSubject parameter specifies whether to remove or keep the subject of incoming meeting requests. | | +| **EnableAutoRelease** | Write | Boolean | N/A | | +| **EnableResponseDetails** | Write | Boolean | The EnableResponseDetails parameter specifies whether to include the reasons for accepting or declining a meeting in the response email message. | | +| **EnforceCapacity** | Write | Boolean | The EnforceCapacity parameter specifies whether to restrict the number of attendees to the capacity of the workspace. For example, if capacity is set to 10, then only 10 people can book the workspace. | | +| **EnforceSchedulingHorizon** | Write | Boolean | The EnforceSchedulingHorizon parameter controls the behavior of recurring meetings that extend beyond the date specified by the BookingWindowInDays parameter. | | +| **ForwardRequestsToDelegates** | Write | Boolean | The ForwardRequestsToDelegates parameter specifies whether to forward incoming meeting requests to the delegates that are configured for the resource mailbox. | | +| **MaximumConflictInstances** | Write | UInt32 | The MaximumConflictInstances parameter specifies the maximum number of conflicts for new recurring meeting requests when the AllowRecurringMeetings parameter is set to $true. A valid value is an integer from 0 through INT32 (2147483647). The default value is 0. | | +| **MaximumDurationInMinutes** | Write | UInt32 | The MaximumDurationInMinutes parameter specifies the maximum duration in minutes for meeting requests. A valid value is an integer from 0 through INT32 (2147483647). The default value is 1440 (24 hours). | | +| **MinimumDurationInMinutes** | Write | UInt32 | The MinimumDurationInMinutes parameter specifies the minimum duration in minutes for meeting requests in workspace mailboxes. A valid value is an integer from 0 through INT32 (2147483647). The default value is 0, which means there is no minimum duration. | | +| **OrganizerInfo** | Write | Boolean | The OrganizerInfo parameter specifies whether the resource mailbox sends organizer information when a meeting request is declined because of conflicts. | | +| **PostReservationMaxClaimTimeInMinutes** | Write | UInt32 | N/A | | +| **ProcessExternalMeetingMessages** | Write | Boolean | The ProcessExternalMeetingMessages parameter specifies whether to process meeting requests that originate outside the Exchange organization. | | +| **RemoveCanceledMeetings** | Write | Boolean | The RemoveCanceledMeetings parameter specifies whether to automatically delete meetings that were cancelled by the organizer from the resource mailbox's calendar. | | +| **RemoveForwardedMeetingNotifications** | Write | Boolean | The RemoveForwardedMeetingNotifications parameter specifies whether forwarded meeting notifications are moved to the Deleted Items folder after they're processed by the Calendar Attendant. | | +| **RemoveOldMeetingMessages** | Write | Boolean | The RemoveOldMeetingMessages parameter specifies whether the Calendar Attendant removes old and redundant updates and responses. | | +| **RemovePrivateProperty** | Write | Boolean | The RemovePrivateProperty parameter specifies whether to clear the private flag for incoming meetings that were sent by the organizer in the original requests. | | +| **RequestInPolicy** | Write | StringArray[] | The RemovePrivateProperty parameter specifies whether to clear the private flag for incoming meetings that were sent by the organizer in the original requests. | | +| **RequestOutOfPolicy** | Write | StringArray[] | The RequestOutOfPolicy parameter specifies users who are allowed to submit out-of-policy requests that require approval by a resource mailbox delegate. You can use any value that uniquely identifies the user. | | +| **ResourceDelegates** | Write | StringArray[] | The ResourceDelegates parameter specifies users can approve or reject requests that are sent to the resource mailbox. You can use any value that uniquely identifies the user. | | +| **ScheduleOnlyDuringWorkHours** | Write | Boolean | The ScheduleOnlyDuringWorkHours parameter specifies whether to allow meetings to be scheduled outside of the working hours that are defined for the resource mailbox. | | +| **TentativePendingApproval** | Write | Boolean | The TentativePendingApproval parameter specifies whether to mark pending requests as tentative on the calendar. | | +| **Credential** | Write | PSCredential | Credentials of the Exchange Global Admin | | +| **Ensure** | Write | String | Determines wether or not the instance exist. | `Present` | +| **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. | | +| **CertificateThumbprint** | Write | String | Thumbprint of the Azure Active Directory application's authentication certificate to use for authentication. | | +| **CertificatePassword** | Write | PSCredential | Username can be made up to anything but password will be used for CertificatePassword | | +| **CertificatePath** | Write | String | Path to certificate used in service principal usually a PFX file. | | +| **ManagedIdentity** | Write | Boolean | Managed ID being used for authentication. | | + +## Description + +This resource configures the Calendar Processing settings Exchange Online. + +## Permissions + +### Exchange + +To authenticate with Microsoft Exchange, this resource required the following permissions: + +#### Roles + +- Organization Management, Recipient Management + +#### Role Groups + +- Organization Management, Help Desk + +## 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 + { + EXOCalendarProcessing "CalendarProcessing" + { + AddAdditionalResponse = $False; + AddNewRequestsTentatively = $True; + AddOrganizerToSubject = $True; + AllBookInPolicy = $True; + AllowConflicts = $False; + AllowRecurringMeetings = $True; + AllRequestInPolicy = $False; + AllRequestOutOfPolicy = $False; + AutomateProcessing = "AutoUpdate"; + BookingType = "Standard"; + BookingWindowInDays = 180; + BookInPolicy = @(); + ConflictPercentageAllowed = 0; + Credential = $credsCredential; + DeleteAttachments = $True; + DeleteComments = $True; + DeleteNonCalendarItems = $True; + DeleteSubject = $True; + EnableAutoRelease = $False; + EnableResponseDetails = $True; + EnforceCapacity = $False; + EnforceSchedulingHorizon = $True; + Ensure = "Present"; + ForwardRequestsToDelegates = $True; + Identity = "John.Smith"; + MaximumConflictInstances = 0; + MaximumDurationInMinutes = 1440; + MinimumDurationInMinutes = 0; + OrganizerInfo = $True; + PostReservationMaxClaimTimeInMinutes = 10; + ProcessExternalMeetingMessages = $False; + RemoveCanceledMeetings = $False; + RemoveForwardedMeetingNotifications = $False; + RemoveOldMeetingMessages = $False; + RemovePrivateProperty = $True; + RequestInPolicy = @("Bob.Houle@$OrganizationName"); + ResourceDelegates = @(); + ScheduleOnlyDuringWorkHours = $False; + TentativePendingApproval = $True; + } + } +} +``` + From 5055033303e5389e339ed9b11631e6254879a11b Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Mon, 2 Oct 2023 20:38:22 -0400 Subject: [PATCH 24/32] Unit Test Fix --- CHANGELOG.md | 2 + .../MSFT_EXOPlace/MSFT_EXOPlace.psm1 | 152 +++++++++++------- .../MSFT_EXOPlace/MSFT_EXOPlace.schema.mof | 2 +- 3 files changed, 98 insertions(+), 58 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e935868ca2..c643d5a823 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ * EXOCalendarProcessing * Initial release. +* EXOPlace + * Initial release. * DEPENDENCIES * Updated MSCloudLoginAssistant to version 1.0.121. diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/MSFT_EXOPlace.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/MSFT_EXOPlace.psm1 index 83a2a75b40..7fed77cc51 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/MSFT_EXOPlace.psm1 +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/MSFT_EXOPlace.psm1 @@ -65,7 +65,7 @@ function Get-TargetResource $ParentId, [Parameter()] - [ValidateSet("Floor", "Section")] + [ValidateSet("Floor", "Section", "None")] [System.String] $ParentType, @@ -226,70 +226,89 @@ function Set-TargetResource $Identity, [Parameter()] - [System.String[]] - $AssociatedAcceptedDomains = @(), + [System.String] + $AudioDeviceName, [Parameter()] - [System.Boolean] - $CloudServicesMailEnabled, + [System.String] + $Building, [Parameter()] - [System.String] - $Comment, + [System.UInt32] + $Capacity, [Parameter()] - [ValidateSet('Default', 'Migrated', 'HybridWizard')] [System.String] - $ConnectorSource, + $City, [Parameter()] - [ValidateSet('OnPremises', 'Partner')] [System.String] - $ConnectorType, + $CountryOrRegion, [Parameter()] [System.String[]] - $EFSkipIPs = @(), + $Desks = @(), [Parameter()] - [System.Boolean] - $EFSkipLastIP, + [System.String] + $DisplayDeviceName, [Parameter()] - [System.String[]] - $EFUsers = @(), + [System.UInt32] + $Floor, [Parameter()] - [System.Boolean] - $Enabled, + [System.String] + $FloorLabel, [Parameter()] - [System.Boolean] - $RequireTls, + [System.String] + $GeoCoordinates, [Parameter()] [System.Boolean] - $RestrictDomainsToCertificate, + $IsWheelChairAccessible, + + [Parameter()] + [System.String] + $Label, [Parameter()] [System.Boolean] - $RestrictDomainsToIPAddresses, + $MTREnabled, [Parameter()] - [System.String[]] - $SenderDomains = @(), + [System.String] + $ParentId, [Parameter()] - [System.String[]] - $SenderIPAddresses = @(), + [ValidateSet("Floor", "Section", "None")] + [System.String] + $ParentType, [Parameter()] [System.String] - $TlsSenderCertificateName, + $Phone, [Parameter()] - [System.Boolean] - $TreatMessagesAsInternal, + [System.String] + $PostalCode, + + [Parameter()] + [System.String] + $State, + + [Parameter()] + [System.String] + $Street, + + [Parameter()] + [System.String[]] + $Tags, + + [Parameter()] + [System.String] + $VideoDeviceName, [Parameter()] [ValidateSet('Present', 'Absent')] @@ -383,70 +402,89 @@ function Test-TargetResource $Identity, [Parameter()] - [System.String[]] - $AssociatedAcceptedDomains = @(), + [System.String] + $AudioDeviceName, [Parameter()] - [System.Boolean] - $CloudServicesMailEnabled, + [System.String] + $Building, [Parameter()] - [System.String] - $Comment, + [System.UInt32] + $Capacity, [Parameter()] - [ValidateSet('Default', 'Migrated', 'HybridWizard')] [System.String] - $ConnectorSource, + $City, [Parameter()] - [ValidateSet('OnPremises', 'Partner')] [System.String] - $ConnectorType, + $CountryOrRegion, [Parameter()] [System.String[]] - $EFSkipIPs = @(), + $Desks = @(), [Parameter()] - [System.Boolean] - $EFSkipLastIP, + [System.String] + $DisplayDeviceName, [Parameter()] - [System.String[]] - $EFUsers = @(), + [System.UInt32] + $Floor, [Parameter()] - [System.Boolean] - $Enabled, + [System.String] + $FloorLabel, [Parameter()] - [System.Boolean] - $RequireTls, + [System.String] + $GeoCoordinates, [Parameter()] [System.Boolean] - $RestrictDomainsToCertificate, + $IsWheelChairAccessible, + + [Parameter()] + [System.String] + $Label, [Parameter()] [System.Boolean] - $RestrictDomainsToIPAddresses, + $MTREnabled, [Parameter()] - [System.String[]] - $SenderDomains = @(), + [System.String] + $ParentId, [Parameter()] - [System.String[]] - $SenderIPAddresses = @(), + [ValidateSet("Floor", "Section", "None")] + [System.String] + $ParentType, [Parameter()] [System.String] - $TlsSenderCertificateName, + $Phone, [Parameter()] - [System.Boolean] - $TreatMessagesAsInternal, + [System.String] + $PostalCode, + + [Parameter()] + [System.String] + $State, + + [Parameter()] + [System.String] + $Street, + + [Parameter()] + [System.String[]] + $Tags, + + [Parameter()] + [System.String] + $VideoDeviceName, [Parameter()] [ValidateSet('Present', 'Absent')] diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/MSFT_EXOPlace.schema.mof b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/MSFT_EXOPlace.schema.mof index c22d85f141..5d63f2ea12 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/MSFT_EXOPlace.schema.mof +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/MSFT_EXOPlace.schema.mof @@ -17,7 +17,7 @@ class MSFT_EXOPlace : OMI_BaseResource [Write, Description("The Label parameter specifies a descriptive label for the room (for example, a number or name). If the value contains spaces, enclose the value in quotation marks.")] String Label; [Write, Description("The MTREnabled parameter identifies the room as configured with a Microsoft Teams room system. You can add Teams room systems as audio sources in Teams meetings that involve the room.")] Boolean MTREnabled; [Write, Description("The ParentId parameter specifies the ID of a Place in the parent location hierarchy in Microsoft Places.")] String ParentId; - [Write, Description("The ParentType parameter specifies the parent type of the ParentId in Microsoft Places. Valid values are: Floor, Section"), ValueMap{"Floor","Section"}, Values{"Floor","Section"}] String ParentType; + [Write, Description("The ParentType parameter specifies the parent type of the ParentId in Microsoft Places. Valid values are: Floor, Section"), ValueMap{"Floor","Section","None"}, Values{"Floor","Section","None"}] String ParentType; [Write, Description("The Phone parameter specifies the room's telephone number.")] String Phone; [Write, Description("The PostalCode parameter specifies the room's postal code.")] String PostalCode; [Write, Description("The State parameter specifies the room's state or province.")] String State; From b4ffde8425340f4d3c7b565ff01615872eae1dc5 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Mon, 2 Oct 2023 21:18:47 -0400 Subject: [PATCH 25/32] Update Microsoft365.psm1 --- Tests/Unit/Stubs/Microsoft365.psm1 | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/Tests/Unit/Stubs/Microsoft365.psm1 b/Tests/Unit/Stubs/Microsoft365.psm1 index 8a04f97a59..b2b8f15170 100644 --- a/Tests/Unit/Stubs/Microsoft365.psm1 +++ b/Tests/Unit/Stubs/Microsoft365.psm1 @@ -1119,6 +1119,27 @@ function Get-PerimeterConfig $Identity ) } +function Get-Place +{ + [CmdletBinding()] + param( + [Parameter()] + [System.Object] + $Type, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object] + $ResultSize + ) +} function Get-PolicyTipConfig { [CmdletBinding()] @@ -9616,6 +9637,10 @@ function Set-OrganizationConfig [System.Boolean] $MailTipsAllTipsEnabled, + [Parameter()] + [System.Boolean] + $PostponeRoamingSignaturesUntilLater, + [Parameter()] [System.Object] $RemotePublicFolderMailboxes, @@ -12491,6 +12516,8 @@ function Update-RoleGroupMember ) } #endregion + + #region Microsoft.Graph.Applications function Get-MgApplication { From b43b639c9d69e97240d8328a6f15372900c9d139 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Tue, 3 Oct 2023 06:51:53 -0400 Subject: [PATCH 26/32] Update MSFT_EXOPlace.psm1 --- .../MSFT_EXOPlace/MSFT_EXOPlace.psm1 | 42 ++++++------------- 1 file changed, 13 insertions(+), 29 deletions(-) diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/MSFT_EXOPlace.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/MSFT_EXOPlace.psm1 index 7fed77cc51..c4aa28c746 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/MSFT_EXOPlace.psm1 +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/MSFT_EXOPlace.psm1 @@ -200,7 +200,6 @@ function Get-TargetResource } Write-Verbose -Message "Found Place $($Identity)" - Write-Verbose -Message "Get-TargetResource Result: `n $(Convert-M365DscHashtableToString -Hashtable $result)" return $result } } @@ -355,40 +354,25 @@ function Set-TargetResource Add-M365DSCTelemetryEvent -Data $data #endregion - Write-Verbose -Message "Setting configuration of InboundConnector for $($Identity)" + Write-Verbose -Message "Setting configuration of Place for $($Identity)" $ConnectionMode = New-M365DSCConnection -Workload 'ExchangeOnline' ` -InboundParameters $PSBoundParameters - $InboundConnectors = Get-InboundConnector - $InboundConnector = $InboundConnectors | Where-Object -FilterScript { $_.Identity -eq $Identity } - $InboundConnectorParams = [System.Collections.Hashtable]($PSBoundParameters) - $InboundConnectorParams.Remove('Ensure') | Out-Null - $InboundConnectorParams.Remove('Credential') | Out-Null - $InboundConnectorParams.Remove('ApplicationId') | Out-Null - $InboundConnectorParams.Remove('TenantId') | Out-Null - $InboundConnectorParams.Remove('CertificateThumbprint') | Out-Null - $InboundConnectorParams.Remove('CertificatePath') | Out-Null - $InboundConnectorParams.Remove('CertificatePassword') | Out-Null - $InboundConnectorParams.Remove('ManagedIdentity') | Out-Null - - if (('Present' -eq $Ensure ) -and ($null -eq $InboundConnector)) - { - Write-Verbose -Message "Creating InboundConnector $($Identity)." - $InboundConnectorParams.Add('Name', $Identity) - $InboundConnectorParams.Remove('Identity') | Out-Null - New-InboundConnector @InboundConnectorParams - } - elseif (('Present' -eq $Ensure ) -and ($Null -ne $InboundConnector)) - { - Write-Verbose -Message "Setting InboundConnector $($Identity) with values: $(Convert-M365DscHashtableToString -Hashtable $InboundConnectorParams)" - Set-InboundConnector @InboundConnectorParams -Confirm:$false - } - elseif (('Absent' -eq $Ensure ) -and ($null -ne $InboundConnector)) + $PSBoundParameters.Remove('Ensure') | Out-Null + $PSBoundParameters.Remove('Credential') | Out-Null + $PSBoundParameters.Remove('ApplicationId') | Out-Null + $PSBoundParameters.Remove('TenantId') | Out-Null + $PSBoundParameters.Remove('CertificateThumbprint') | Out-Null + $PSBoundParameters.Remove('CertificatePath') | Out-Null + $PSBoundParameters.Remove('CertificatePassword') | Out-Null + $PSBoundParameters.Remove('ManagedIdentity') | Out-Null + + if ($null -eq $ParentId) { - Write-Verbose -Message "Removing InboundConnector $($Identity)" - Remove-InboundConnector -Identity $Identity -Confirm:$false + $PSBoundParameters.Remove('ParentType') | Out-Null } + Set-Place @PSBoundParameters } function Test-TargetResource From ce9f4fd8945ffc3613faeb2d3d8458f27a0791f3 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Tue, 3 Oct 2023 06:51:57 -0400 Subject: [PATCH 27/32] Update Microsoft365.psm1 --- Tests/Unit/Stubs/Microsoft365.psm1 | 99 +++++++++++++++++++++++++++++- 1 file changed, 97 insertions(+), 2 deletions(-) diff --git a/Tests/Unit/Stubs/Microsoft365.psm1 b/Tests/Unit/Stubs/Microsoft365.psm1 index b2b8f15170..9391c3c24e 100644 --- a/Tests/Unit/Stubs/Microsoft365.psm1 +++ b/Tests/Unit/Stubs/Microsoft365.psm1 @@ -10711,6 +10711,103 @@ function Set-PerimeterConfig $GatewayIPAddresses ) } +function Set-Place +{ + [CmdletBinding()] + param( + [Parameter()] + [System.String] + $PostalCode, + + [Parameter()] + [System.String] + $Phone, + + [Parameter()] + [System.Object] + $Identity, + + [Parameter()] + [System.Object] + $CountryOrRegion, + + [Parameter()] + [System.String] + $ParentId, + + [Parameter()] + [System.String] + $Street, + + [Parameter()] + [System.Boolean] + $IsWheelChairAccessible, + + [Parameter()] + [System.String] + $AudioDeviceName, + + [Parameter()] + [System.String] + $DisplayDeviceName, + + [Parameter()] + [System.Object[]] + $Desks, + + [Parameter()] + [System.String] + $Building, + + [Parameter()] + [System.String] + $State, + + [Parameter()] + [System.String] + $City, + + [Parameter()] + [System.Object] + $Floor, + + [Parameter()] + [System.Object] + $ParentType, + + [Parameter()] + [System.String] + $VideoDeviceName, + + [Parameter()] + [System.Management.Automation.SwitchParameter] + $Confirm, + + [Parameter()] + [System.String[]] + $Tags, + + [Parameter()] + [System.String] + $FloorLabel, + + [Parameter()] + [System.Object] + $Capacity, + + [Parameter()] + [System.String] + $Label, + + [Parameter()] + [System.Object] + $GeoCoordinates, + + [Parameter()] + [System.Boolean] + $MTREnabled + ) +} function Set-PolicyTipConfig { [CmdletBinding()] @@ -12516,8 +12613,6 @@ function Update-RoleGroupMember ) } #endregion - - #region Microsoft.Graph.Applications function Get-MgApplication { From a67c254213c3458f91ac14e574aa697869a9a28a Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Tue, 3 Oct 2023 07:12:37 -0400 Subject: [PATCH 28/32] Update MSFT_EXOPlace.psm1 --- .../DSCResources/MSFT_EXOPlace/MSFT_EXOPlace.psm1 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/MSFT_EXOPlace.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/MSFT_EXOPlace.psm1 index c4aa28c746..93d282d5fd 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/MSFT_EXOPlace.psm1 +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_EXOPlace/MSFT_EXOPlace.psm1 @@ -368,8 +368,9 @@ function Set-TargetResource $PSBoundParameters.Remove('CertificatePassword') | Out-Null $PSBoundParameters.Remove('ManagedIdentity') | Out-Null - if ($null -eq $ParentId) + if ([System.String]::IsNullOrEmpty($ParentId) -and $null -ne $ParentType) { + Write-Verbose -Message 'ParentId is $null, removing ParentType.' $PSBoundParameters.Remove('ParentType') | Out-Null } Set-Place @PSBoundParameters From f1710ea263067836b5621953f316611b3971933b Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Tue, 3 Oct 2023 07:22:41 -0400 Subject: [PATCH 29/32] Update Microsoft365DSC.EXOPlace.Tests.ps1 --- .../Microsoft365DSC.EXOPlace.Tests.ps1 | 35 +++++++++---------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/Tests/Unit/Microsoft365DSC/Microsoft365DSC.EXOPlace.Tests.ps1 b/Tests/Unit/Microsoft365DSC/Microsoft365DSC.EXOPlace.Tests.ps1 index f8ee095c9c..37cd7891ad 100644 --- a/Tests/Unit/Microsoft365DSC/Microsoft365DSC.EXOPlace.Tests.ps1 +++ b/Tests/Unit/Microsoft365DSC/Microsoft365DSC.EXOPlace.Tests.ps1 @@ -59,21 +59,19 @@ Describe -Name $Global:DscHelper.DescribeHeader -Fixture { } Mock -CommandName Get-Place -MockWith { - return @( - @{ - AudioDeviceName = "MyAudioDevice"; - Capacity = 10; - City = ""; - DisplayDeviceName = "DisplayDeviceName"; - Identity = "MyRoom@$contoso.com"; - IsWheelChairAccessible = $True; - MTREnabled = $False; - ParentType = "None"; - Phone = "555-555-5555"; - Tags = @("Tag1", "Tag2"); - VideoDeviceName = "VideoDevice"; - } - ) + return @{ + AudioDeviceName = "MyAudioDevice"; + Capacity = 10; + City = ""; + DisplayDeviceName = "DisplayDeviceName"; + Identity = "MyRoom@$contoso.com"; + IsWheelChairAccessible = $True; + MTREnabled = $False; + ParentType = "None"; + Phone = "555-555-5555"; + Tags = @("Tag1", "Tag2"); + VideoDeviceName = "VideoDevice"; + } } } @@ -82,7 +80,7 @@ Describe -Name $Global:DscHelper.DescribeHeader -Fixture { } It 'Should not update anything in the Set Method' { - (Get-TargetResource @testParams).Presence | Should -Be 'Present' + (Get-TargetResource @testParams).Ensure | Should -Be 'Present' } } @@ -128,7 +126,7 @@ Describe -Name $Global:DscHelper.DescribeHeader -Fixture { } It 'Should not update anything in the Set Method' { - (Get-TargetResource @testParams).Presence | Should -Be 'Present' + (Get-TargetResource @testParams).Ensure | Should -Be 'Present' } It 'Should update the instance from the Set method' { @@ -139,10 +137,11 @@ Describe -Name $Global:DscHelper.DescribeHeader -Fixture { Context -Name 'ReverseDSC Tests' -Fixture { BeforeAll { + $Global:CurrentModeIsExport = $true + $Global:PartialExportFileName = "$(New-Guid).partial.ps1" $testParams = @{ Credential = $Credential } - Mock -CommandName Get-Place -MockWith { return @( @{ From 021bfeb11741bb114072824aa4a86f54761322f4 Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Tue, 3 Oct 2023 11:38:27 +0000 Subject: [PATCH 30/32] Updated Resources and Cmdlet documentation pages --- docs/docs/resources/exchange/EXOPlace.md | 98 ++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 docs/docs/resources/exchange/EXOPlace.md diff --git a/docs/docs/resources/exchange/EXOPlace.md b/docs/docs/resources/exchange/EXOPlace.md new file mode 100644 index 0000000000..f2e300afc4 --- /dev/null +++ b/docs/docs/resources/exchange/EXOPlace.md @@ -0,0 +1,98 @@ +# EXOPlace + +## Parameters + +| Parameter | Attribute | DataType | Description | Allowed Values | +| --- | --- | --- | --- | --- | +| **Identity** | Key | String | The Identity parameter specifies the room mailbox that you want to modify. You can use any value that uniquely identifies the room. | | +| **AudioDeviceName** | Write | String | The AudioDeviceName parameter specifies the name of the audio device in the room. If the value contains spaces, enclose the value in quotation marks. | | +| **Building** | Write | String | The Building parameter specifies the building name or building number that the room is in. If the value contains spaces, enclose the value in quotation marks. | | +| **Capacity** | Write | UInt32 | The Capacity parameter specifies the capacity of the room. A valid value is an integer. | | +| **City** | Write | String | The City parameter specifies the room's city. If the value contains spaces, enclose the value in quotation marks. | | +| **CountryOrRegion** | Write | String | The CountryOrRegion parameter specifies the room's country or region. A valid value is a valid ISO 3166-1 two-letter country code (for example, AU for Australia) or the corresponding friendly name for the country (which might be different from the official ISO 3166 Maintenance Agency short name). | | +| **Desks** | Write | StringArray[] | N/A | | +| **DisplayDeviceName** | Write | String | The DisplayDeviceName parameter specifies the name of the display device in the room. If the value contains spaces, enclose the value in quotation marks. | | +| **Floor** | Write | String | The Floor parameter specifies the floor number that the room is on. | | +| **FloorLabel** | Write | String | The FloorLabel parameter specifies a descriptive label for the floor that the room is on. If the value contains spaces, enclose the value in quotation marks. | | +| **GeoCoordinates** | Write | String | The GeoCoordinates parameter specifies the room's location in latitude, longitude and (optionally) altitude coordinates. | | +| **IsWheelChairAccessible** | Write | Boolean | The IsWheelChairAccessible parameter specifies whether the room is wheelchair accessible. | | +| **Label** | Write | String | The Label parameter specifies a descriptive label for the room (for example, a number or name). If the value contains spaces, enclose the value in quotation marks. | | +| **MTREnabled** | Write | Boolean | The MTREnabled parameter identifies the room as configured with a Microsoft Teams room system. You can add Teams room systems as audio sources in Teams meetings that involve the room. | | +| **ParentId** | Write | String | The ParentId parameter specifies the ID of a Place in the parent location hierarchy in Microsoft Places. | | +| **ParentType** | Write | String | The ParentType parameter specifies the parent type of the ParentId in Microsoft Places. Valid values are: Floor, Section | `Floor`, `Section`, `None` | +| **Phone** | Write | String | The Phone parameter specifies the room's telephone number. | | +| **PostalCode** | Write | String | The PostalCode parameter specifies the room's postal code. | | +| **State** | Write | String | The State parameter specifies the room's state or province. | | +| **Street** | Write | String | The Street parameter specifies the room's physical address. | | +| **Tags** | Write | StringArray[] | The Tags parameter specifies additional features of the room (for example, details like the type of view or furniture type). | | +| **VideoDeviceName** | Write | String | The VideoDeviceName parameter specifies the name of the video device in the room. If the value contains spaces, enclose the value in quotation marks. | | +| **Ensure** | Write | String | Specifies if this Outbound connector should exist. | `Present`, `Absent` | +| **Credential** | Write | PSCredential | Credentials of the Exchange Global 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. | | +| **CertificateThumbprint** | Write | String | Thumbprint of the Azure Active Directory application's authentication certificate to use for authentication. | | +| **CertificatePassword** | Write | PSCredential | Username can be made up to anything but password will be used for CertificatePassword | | +| **CertificatePath** | Write | String | Path to certificate used in service principal usually a PFX file. | | +| **ManagedIdentity** | Write | Boolean | Managed ID being used for authentication. | | + +# EXOInboundConnector + +## Description + +This resource configures an Inbound connector in your cloud-based organization. + +## Permissions + +### Exchange + +To authenticate with Microsoft Exchange, this resource required the following permissions: + +#### Roles + +- Remote and Accepted Domains, View-Only Configuration + +#### Role Groups + +- Organization Management + +## 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] + $credential + ) + + Import-DscResource -ModuleName Microsoft365DSC + + node localhost + { + EXOPlace 'TestPlace' + { + AudioDeviceName = "MyAudioDevice"; + Capacity = 15; #Drift + City = ""; + Credential = $credential + DisplayDeviceName = "DisplayDeviceName"; + Ensure = 'Present' + Identity = "MyRoom@$contoso.com"; + IsWheelChairAccessible = $True; + MTREnabled = $False; + ParentType = "None"; + Phone = "555-555-5555"; + Tags = @("Tag1", "Tag2"); + VideoDeviceName = "VideoDevice"; + } + } +} +``` + From d10d6d4fd968f616b47de6358a8287068f4995bd Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Tue, 3 Oct 2023 07:41:48 -0400 Subject: [PATCH 31/32] Updates --- CHANGELOG.md | 2 ++ Modules/Microsoft365DSC/Modules/M365DSCUtil.psm1 | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c643d5a823..9a57b82a8c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ * EXOCalendarProcessing * Initial release. +* EXOMailboxAutoReplyConfiguration + * Initial release. * EXOPlace * Initial release. * DEPENDENCIES diff --git a/Modules/Microsoft365DSC/Modules/M365DSCUtil.psm1 b/Modules/Microsoft365DSC/Modules/M365DSCUtil.psm1 index aa55e9021c..9e2f244f02 100644 --- a/Modules/Microsoft365DSC/Modules/M365DSCUtil.psm1 +++ b/Modules/Microsoft365DSC/Modules/M365DSCUtil.psm1 @@ -5,7 +5,8 @@ $Global:SessionSecurityCompliance = $null #region Extraction Modes $Global:DefaultComponents = @('SPOApp', 'SPOSiteDesign') -$Global:FullComponents = @('AADGroup', 'AADServicePrincipal', 'EXOMailboxSettings', 'EXOManagementRole', 'O365Group', 'AADUSer', ` +$Global:FullComponents = @('AADGroup', 'AADServicePrincipal', 'EXOCalendarProcessing', 'EXOMailboxAutoReplyConfiguration', 'EXOMailboxSettings', ` + 'EXOManagementRole', 'O365Group', 'AADUSer', ` 'PlannerPlan', 'PlannerBucket', 'PlannerTask', 'PPPowerAppsEnvironment', 'PPTenantSettings', ` 'SPOSiteAuditSettings', 'SPOSiteGroup', 'SPOSite', 'SPOUserProfileProperty', 'SPOPropertyBag', 'TeamsTeam', 'TeamsChannel', ` 'TeamsUser', 'TeamsChannelTab', 'TeamsOnlineVoicemailUserSettings', 'TeamsUserCallingSettings') From 533d3ef5749c66f5e4dc211d51883face5f51c9f Mon Sep 17 00:00:00 2001 From: Nik Charlebois Date: Tue, 3 Oct 2023 12:17:53 +0000 Subject: [PATCH 32/32] Updated Resources and Cmdlet documentation pages --- .../EXOMailboxAutoReplyConfiguration.md | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 docs/docs/resources/exchange/EXOMailboxAutoReplyConfiguration.md diff --git a/docs/docs/resources/exchange/EXOMailboxAutoReplyConfiguration.md b/docs/docs/resources/exchange/EXOMailboxAutoReplyConfiguration.md new file mode 100644 index 0000000000..1b490b3bec --- /dev/null +++ b/docs/docs/resources/exchange/EXOMailboxAutoReplyConfiguration.md @@ -0,0 +1,83 @@ +# EXOMailboxAutoReplyConfiguration + +## Parameters + +| Parameter | Attribute | DataType | Description | Allowed Values | +| --- | --- | --- | --- | --- | +| **Identity** | Key | String | The Identity parameter specifies the mailbox that you want to modify. You can use any value that uniquely identifies the mailbox. | | +| **AutoDeclineFutureRequestsWhenOOF** | Write | Boolean | The AutoDeclineFutureRequestsWhenOOF parameter specifies whether to automatically decline new meeting requests that are sent to the mailbox during the scheduled time period when Automatic Replies are being sent. | | +| **AutoReplyState** | Write | String | The AutoReplyState parameter specifies whether the mailbox is enabled for Automatic Replies. Valid values are: Enabled, Disabled, Scheduled | `Enabled`, `Disabled`, `Scheduled` | +| **CreateOOFEvent** | Write | Boolean | The CreateOOFEvent parameter specifies whether to create a calendar event that corresponds to the scheduled time period when Automatic Replies are being sent for the mailbox. | | +| **DeclineAllEventsForScheduledOOF** | Write | Boolean | The DeclineAllEventsForScheduledOOF parameter specifies whether to decline all existing calendar events in the mailbox during the scheduled time period when Automatic Replies are being sent. | | +| **DeclineEventsForScheduledOOF** | Write | Boolean | The DeclineEventsForScheduledOOF parameter specifies whether it's possible to decline existing calendar events in the mailbox during the scheduled time period when Automatic Replies are being sent. | | +| **DeclineMeetingMessage** | Write | String | The DeclineMeetingMessage parameter specifies the text in the message when meetings requests that are sent to the mailbox are automatically declined. | | +| **EndTime** | Write | String | The EndTime parameter specifies the end date and time that Automatic Replies are sent for the mailbox. You use this parameter only when the AutoReplyState parameter is set to Scheduled, and the value of this parameter is meaningful only when AutoReplyState is Scheduled. | | +| **EventsToDeleteIDs** | Write | StringArray[] | The EventsToDeleteIDs parameter specifies the calendar events to delete from the mailbox when the DeclineEventsForScheduledOOF parameter is set to $true. | | +| **ExternalAudience** | Write | String | The ExternalAudience parameter specifies whether Automatic Replies are sent to external senders. Valid values are: None, Known, All | `None`, `Known`, `All` | +| **ExternalMessage** | Write | String | The ExternalMessage parameter specifies the Automatic Replies message that's sent to external senders or senders outside the organization. If the value contains spaces, enclose the value in quotation marks. | | +| **InternalMessage** | Write | String | The InternalMessage parameter specifies the Automatic Replies message that's sent to internal senders or senders within the organization. If the value contains spaces, enclose the value in quotation marks. | | +| **OOFEventSubject** | Write | String | The OOFEventSubject parameter specifies the subject for the calendar event that's automatically created when the CreateOOFEvent parameter is set to $true. | | +| **StartTime** | Write | String | The StartTime parameter specifies the start date and time that Automatic Replies are sent for the specified mailbox. You use this parameter only when the AutoReplyState parameter is set to Scheduled, and the value of this parameter is meaningful only when AutoReplyState is Scheduled. | | +| **Ensure** | Write | String | Represents the existance of the instance. This must be set to 'Present' | `Present` | +| **Credential** | Write | PSCredential | Credentials of the Exchange Global 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. | | +| **CertificateThumbprint** | Write | String | Thumbprint of the Azure Active Directory application's authentication certificate to use for authentication. | | +| **CertificatePassword** | Write | PSCredential | Username can be made up to anything but password will be used for CertificatePassword | | +| **CertificatePath** | Write | String | Path to certificate used in service principal usually a PFX file. | | +| **ManagedIdentity** | Write | Boolean | Managed ID being used for authentication. | | + +# EXOAntiPhishPolicy + +## Description + +This resource configures an Anti-Phish Policy in Exchange Online. +Reference: https://docs.microsoft.com/en-us/powershell/module/exchange/advanced-threat-protection/new-antiphishpolicy?view=exchange-ps + +## Permissions + +### Exchange + +To authenticate with Microsoft Exchange, this resource required the following permissions: + +#### Roles + +- Transport Hygiene, Security Admin, View-Only Configuration, Security Reader + +#### Role Groups + +- Organization Management + +## 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] + $credsGlobalAdmin + ) + Import-DscResource -ModuleName Microsoft365DSC + + node localhost + { + EXOEmailAddressPolicy 'ConfigureEmailAddressPolicy' + { + Name = "Default Policy" + EnabledEmailAddressTemplates = @("SMTP:@contoso.onmicrosoft.com") + EnabledPrimarySMTPAddressTemplate = "@contoso.onmicrosoft.com" + ManagedByFilter = "" + Priority = "Lowest" + Ensure = "Present" + Credential = $credsGlobalAdmin + } + } +} +``` +